Olá Odair, tudo bom?
Não segui o curso até esse ponto, mas tenho uma idéia do que pode estar acontecendo. Eis a questão:
Até a versão 5.6 do MySQL, ao fazer uma instalação nova e definir a senha do usuário root
como vazia, era possível fazer login no servidor com o comando mysql -uroot
sem utilizar uma senha.
Porém, desde a versão 5.7, uma instalação com senha vazia não permite mais o login sem senha no banco de dados. Isso ocorre como medida de segurança, e o modo de autenticação é automaticamente alterado para utilização de socket.
Faça o teste! Acesse o terminal do seu servidor e tente fazer o acesso ao MySQL com o comando mysql -uroot
. Deve dar um erro e autenticação. Agora tente fazer o comando como super-user com o comando sudo mysql -uroot
.
Se você conseguiu entrar no banco de dados agora, realmente o problema é o que eu descrevi e para corrigir isso, é necessário alterar a senha do usuário root novamente para uma senha vazia. A boa notícia é que podemos fazer isso com uma linha de comando:
sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY''; FLUSH PRIVILEGES;"
Esse comando acessa o banco como super-user e altera a autenticação do usuário root para utilizar uma senha vazia. Então, ao final, ele persiste as mudanças para que uma reinicialização do banco não seja necessária.
Se após rodar este comando, você conseguir se conectar utilizando mysql -uroot
sem a função de super-user, é bem provável que seu problema esteja corrigido!
Se não estiver, retorne aqui e compartilhe os logs de erro completos do servidor e do MySQL (em posts separados e utilizando o botão <> inserir código
para facilitar ^^).
Um abraço e bons estudos!