Screwed algo ao tentar corrigir mysql 'acces negado por root' sem senha

0

Após atualizar o Ubuntu 16.04 com novas atualizações, meu aplicativo java não pôde mais se conectar ao mysql.
Tentei conectar manualmente via terminal, e com o Mysql Workbench, mesmo resultado:

Access denied for user 'root'@'localhost' (using password: NO)

Geralmente faço login com o usuário root e não tenho senha.
Depois de algumas pesquisas, descobri que isso tem algo a ver com plugin auth

Eu segui as instruções em este tópico , a segunda resposta

sudo mysql -u root
use mysql;
[mysql] update user set plugin='' where User='root';
[mysql] flush privileges;

Mas eu não verifiquei a minha mysql versão de antemão, que é 5.7.17.
Eu sei, eu tentei fazer rápido e eu fiz estúpido.
Eu deveria ter feito:

[mysql] update user set plugin='mysql_native_password' where User='root';

Portanto, agora, nem consigo iniciar nenhum aviso mysql para corrigir o meu erro.
Não consigo encontrar se o usuário "mysql" pode se conectar via prompt ...
Não me lembro se defini outros usuários: como posso verificar isso?

Alguma ideia de alguém, por favor?

    
por Manolo de la Vega 15.02.2017 / 10:55

1 resposta

0

depois de pesquisar um pouco mais, me deparei com isso, o que fez o truque;

sudo service mysql stop
sudo /usr/bin/mysqld_safe --skip-grant-tables &
mysql -h localhost

De lá, eu pude conectar ao mysql. Então:

update user set plugin='mysql_native_password' where user = 'root';

Depois de reiniciar o serviço, consegui me conectar com o usuário root.

    
por 15.02.2017 / 12:36