ERROR 1698 (28000): Acesso negado para o usuário 'root' @ 'localhost' no Ubuntu 18.04

8

Eu segui este tutorial para instalar o MySQL, mas após instalar o MySQL com sucesso, não consegui acessar o banco de dados.

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

    
por Ashrafuzzaman Sujan 28.04.2018 / 13:15

2 respostas

18

Encontrei uma solução aqui link , seguindo esta solução resolvi o meu problema.

Os passos curtos são:

sudo mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test'; 

Nota: aqui test é uma nova senha para o usuário root. Além disso, lembre-se de executar o comando sudo service mysql restart depois de alterar o usuário.

    
por Ashrafuzzaman Sujan 20.09.2018 / 11:01
2

Eu encontrei uma outra maneira que é muito melhor, pois não precisamos dar nenhuma senha para o sistema local.
É como segue.

Abra o terminal e digite

sudo mysql -u root -p

Ele irá perguntar no mysql, aqui você pode disparar qualquer comando mysql.

Use a tabela mysql para alterar o tipo de tabela, para que possamos usar a senha vazia. Abaixo está o comando para isso

USE mysql;

Agora mudamos o tipo de tabela seguindo o comando

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

agora temos que liberar os privilégios, porque usamos o UPDATE. Se você usar INSERT, UPDATE ou DELETE em tabelas de permissões diretamente, precisará usar FLUSH PRIVILEGES para recarregar as tabelas de permissões.

FLUSH PRIVILEGES;

agora saia do mysql seguindo o comando

exit;

agora reinicie o servidor mysql seguindo o comando

service mysql restart

Espero que isso possa ajudar

Obrigado.

    
por Krunal Pathak 01.10.2018 / 16:17