MySQL Access negado para o usuário 'root'@'localhost'

MySQL Access negado para o usuário 'root'@'localhost'
“Um dos erros mais comuns encontrados pelos usuários do MySQL é“ o acesso MySQL negado para o usuário 'root'@'localhost'.”E se você é um novo usuário do MySQL ou um Newb, conhecendo as várias técnicas para resolvê -lo é vantajoso.

Usando este guia, você descobrirá três métodos para resolver este erro.”

O que esse erro significa?

A melhor maneira de entender esse erro é dividi -lo em componentes únicos. Este erro ocorre quando você tenta fazer login na sua instância do MySQL em sua máquina local, daí o 'localhost.'

Um exemplo é como mostrado:

$ mysql -u root -p

Os componentes do erro são os seguintes:

  1. Erro 1045 (28000) - refere -se ao código de erro e ao SQLSTATE, respectivamente. Por exemplo, em MySQL e Mariadb, o código de erro 1045 significa acesso negado para esse nome de usuário com a senha especificada.
  2. A segunda é a sequência de mensagens. A mensagem de erro segue o formato: acesso negado para o usuário '%s'@'%s' (usando senha:%s).

Nota: o primeiro %s na mensagem de erro refere -se ao nome de usuário, enquanto o segundo se refere ao host.

Solução 1: sudo em mysql

O primeiro e mais comum método para resolver esse erro é sudo na sua instância MySQL e definir o auth_plugin como mysql_native_password.

Abra seu terminal e corra:

$ sudo mysql

Digite a senha da conta e prossiga.

Em seguida, altere o auth_plugin e defina uma nova senha para a conta root, como mostrado:

Alterar o usuário 'root@localhost' identificado com mysql-native_password por 'senha';

Alterar o plug -in de autenticação permitirá que você faça login no seu servidor.

Em seguida, lave os privilégios para atualizar as tabelas de concessão:

Privilégios descarregados;

Por fim, saia do terminal e tente seu login:

$ mysql -u root -p

Solução 2- Editar manualmente o arquivo de configuração

Se o erro persistir, pode ser necessário editar o arquivo de configuração do MySQL. Na maioria dos casos, está sob o nome do meu.CNF nos diretórios /etc ou etc /mysql.

Localize este arquivo na pasta de instalação do MySQL para usuários do Windows e Mac.

Se o arquivo não existir, crie -o.

Abra o arquivo com seu editor de texto e localize o MySqld Block.

$ nano/etc/mysql/meu.CNF

No bloco [MySqld], adicione a seguinte entrada.

pular as tábulos de grandas

Feche e salve o arquivo.

Em seguida, reinicie o servidor MySQL e faça login.

$ sudo serviço mysql reiniciar
$ mysql -u root -p

Depois de conectado, lave os privilégios e defina uma nova senha:

Privilégios descarregados;
Alterar o usuário 'root@localhost' identificado por 'senha';

Certifique -se de substituir o comando acima por uma senha segura.

Uma vez concluído, edite meu.arquivo CNF e remova a entrada que adicionamos anteriormente.

Reinicie o servidor MySQL e faça login com sua nova senha.

Solução 3 - Inicie o MySQL no modo de segurança

MySQL fornece o utilitário mysqld_safe para iniciar o servidor MySQL. Este utilitário nos permite especificar recursos seguros ao iniciar e reiniciar o servidor para diagnosticar erros.

Comece interrompendo o servidor MySQL.

$ sudo serviço mysql pare

Em seguida, comece o MySQL sem autenticação como;

$ mysqld_safe--skip-gran-tables &

O comando iniciará o servidor em segundo plano como um trabalho.

Quando o daemon estiver em execução (com a autenticação desativada), abra um novo terminal e execute:

$ mysql -u root -p

O comando acima deve permitir que você faça login sem uma senha.

Depois de conectado, lave os privilégios e defina uma nova senha como:

Privilégios descarregados;
Alterar o usuário 'root@localhost' identificado por 'senha';

Feche a sessão e reinicie o mysql.

Agora faça login no seu servidor com sua nova senha.

Fechamento

Neste artigo, abordamos três métodos principais de resolver o

"Acesso MySQL negado para o usuário 'root@localhost'".

Esperamos que este tutorial tenha ajudado você a resolver este erro.