A raiz do mysql -u não funciona, mas o sudo mysql -u root funciona, por que?


9

Recentemente, segui alguns tutoriais e instalei o mysql usando o sudo apt-get install mysql-server-5.7

Eu posso me conectar ao banco de dados usando a senha, executando o seguinte comando:

sudo mysql -u root -p

Eu tento conectar executando:

mysql -u root -p

mas eu recebo o erro:

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

Por quê? Como posso consertar isso?


2
Caro downvoter, você também pode deixar um motivo para o voto negativo, pelo menos uma explicação por que essa é uma pergunta estúpida?
precisa saber é o seguinte

Isso pode estar relacionado. Veja algumas das respostas: askubuntu.com/questions/766334/…
Terrance

Você definiu uma senha root para mysql durante a instalação?
steeldriver

@steeldriver: sim, eu fiz
user1379280

Respostas:


23
  1. Acesso com sudo: sudo mysql -u root -p
  2. Exclua o usuário root: drop user 'root'@'localhost';
  3. Crie o usuário root novamente: create user 'root'@'%' identified by 'your_password';
  4. Dê permissões: grant all privileges on *.* to 'root'@'%' with grant option;
  5. Atualize tabelas de permissão: flush privileges;
  6. Saia do MYSQL e tente se reconectar sem o sudo.

Fonte: não é possível fazer login como root do usuário mysql a partir da conta de usuário normal no ubuntu 16.04


Obrigado! Essas etapas funcionaram para mim também e sudoagora não preciso usar o mysql! Parece substituindo o anfitrião localhostcom %resolveu o problema para mim.
Vikram Hosakote 27/02/19

mas ainda não pode acessar remotamente
ciasto Piekarz

Não funcionou para mim, agora não posso entrar com ou sem sudo!
David Powell
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.