Estou tentando recuperar o acesso root ao banco de dados MySQL em execução em uma instância do Ubuntu (LTS 16.04.2). A situação do problema é: eu posso iniciar e parar o MySQL usando /etc/init.d/mysql
, mas não consigo logar com
mysql -u root
mysql -u root -p
O último com senha vazia. Eu tenho um registro vazio no meu armazenamento de senha. Acredito que lembre-se que o login foi possível sem senha, mas talvez eu também tenha esquecido de salvar meu armazenamento de senhas corretamente. Talvez também o sistema esteja comprometido. No entanto, como tenho acesso root, deve ser possível redefinir a senha.
Eu decidi iniciar o servidor MySQL usando
sudo -u mysql /usr/sbin/mysqld --skip-grant-tables --skip-networking
comando e agora pode se conectar com o cliente. De acordo com o tutorial , tenho que emitir os dois comandos
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
para definir uma senha. Ao emitir o segundo comando, recebo o seguinte aviso no console onde iniciei o servidor:
[Warning] 'user' entry 'root@localhost' has both a password and an authentication plugin specified. The password will be ignored.
Eu não lembro de ter configurado qualquer plug-in de todos os tempos. Este é o padrão do Ubuntu? Onde minha senha do MySQL é armazenada e como alterá-la? Ou como desativar esse plug-in que eu não conheço.