Após uma falha, reinstalei o Ubuntu em minha máquina de desenvolvimento durante a instalação anterior e, depois de reinstalar todos os pacotes necessários (incluindo mysql-server e mysql-client), continuei restaurando o banco de dados de desenvolvimento. Infelizmente não consigo me conectar.
Isso funciona :
$ sudo su
# mysql -u root
isso não
$ mysql -u root -p
- Eu tentei limpar
mysql-*
e reinstalar tudo. - Eu tentei reconfigurar (ou seja
sudo dpkg-reconfigure mysql-server-5.7
) - Tentei redefinir manualmente a senha usando
UPDATE
consultas. - Eu tentei de tudoaqui(exceto que a tabela
user
não possui umapassword
coluna, masauthentication_string
sim uma)
Por favor, alguém pode me ajudar a fazer isso funcionar?
**Editar**
mysql> SELECT user, host, authentication_string, password_expired, account_locked FROM user WHERE user = 'root';
+------------------+-----------+-------------------------------------------+------------------+----------------+
| user | host | authentication_string | password_expired | account_locked |
+------------------+-----------+-----------------------+------------------+----------------+
| root | localhost | *<password hash> | N | N |
| root | % | *<password hash> | N | N |
+------------------+-----------+-----------------------+------------------+----------------+
5 rows in set (0.00 sec)
Ambos root
os usuários têm a mesma senha, definida usando PASSWORD('password')
e todos os privilégios foram liberados e o serviço foi reiniciado.
Ao contrário do que diz a documentação, correr sudo dpkg-reconfigure mysql-server-5.7
faznãosolicite que eu especifique uma nova senha para root. O comando termina com sucesso, mas nunca sou solicitado a especificar uma senha.
Responder1
Eu encontrei minha resposta,aqui.
Basicamente, o plugin
valor para o usuário root@'localhost'
não era mysql_native_password
.
UPDATE user SET plugin = 'mysql_native_password' WHERE user = 'root';
FLUSH PRIVILEGES;
funcionou e finalmente consegui fazer login sem privilégios de superusuário.
Responder2
As permissões do MySQL provavelmente não foram restauradas. O fato de você poder fazer login no servidor sem nenhuma permissão sugere que você precisa definir a senha root e adicionar quaisquer outros usuários que precisem ser usados com suas respectivas permissões.