Eu segui este tutorial para instalar o MySQL, mas depois de instalar o MySQL com sucesso, não consegui acessar o banco de dados.
ERRO 1698 (28000): acesso negado para o usuário 'root' @ 'localhost'
Eu segui este tutorial para instalar o MySQL, mas depois de instalar o MySQL com sucesso, não consegui acessar o banco de dados.
ERRO 1698 (28000): acesso negado para o usuário 'root' @ 'localhost'
Respostas:
Encontrei uma solução no link aqui . Ao seguir essa solução, resolvi meu problema.
Etapas curtas são:
sudo mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
Nota: aqui test
está uma nova senha para o usuário root. Além disso, lembre-se de executar o comando sudo service mysql restart
após alterar o usuário.
Encontrei outra maneira que é muito melhor, pois não precisamos fornecer nenhuma senha para o sistema local.
É como se segue.
Terminal aberto e tipo
sudo mysql -u root -p
Ele será solicitado 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
USE mysql;
Agora alteramos 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 UPDATE. Se você usar INSERT, UPDATE ou DELETE em tabelas de concessão diretamente, precisará usar FLUSH PRIVILEGES para recarregar as tabelas de concessão.
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.