Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

ERRO 1044 (42000):Acesso negado para 'root' com todos os privilégios


Primeiro, identifique o usuário com o qual você está conectado:
 select user();
 select current_user();

O resultado para o primeiro comando é o que você tentou fazer login, o segundo é o que você realmente conectou. Confirme se você está conectado como [email protected] no mysql.

Grant_priv para [email protected] . Aqui está como você pode verificar.
mysql> SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;
+-----------+------------------+-------------------------------------------+------------+------------+
| host      | user             | password                                  | Grant_priv | Super_priv |
+-----------+------------------+-------------------------------------------+------------+------------+
| localhost | root             | ***************************************** | N          | Y          |
| localhost | debian-sys-maint | ***************************************** | Y          | Y          |
| localhost | staging          | ***************************************** | N          | N          |
+-----------+------------------+-------------------------------------------+------------+------------+

Você pode ver que o Grant_priv está definido como N para [email protected] Isso precisa ser Y. Abaixo está como corrigir isso:
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
GRANT ALL ON *.* TO 'root'@'localhost';

Voltei a entrar, estava tudo bem.