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?

user1379280
fonte
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

thiagoBarbosa48
fonte
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