Mysql
 sql >> Base de données >  >> RDS >> Mysql

ERREUR 1044 (42000) :Accès refusé pour 'root' avec tous les privilèges

Tout d'abord, identifiez l'utilisateur sous lequel vous êtes connecté :

 select user();
 select current_user();

Le résultat de la première commande est ce que vous avez tenté de vous connecter, le second est ce que vous avez réellement connecté. Confirmez que vous êtes connecté en tant que [email protected] dans mysql.

Grant_priv à [email protected] . Voici comment vous pouvez vérifier.

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          |
+-----------+------------------+-------------------------------------------+------------+------------+

Vous pouvez voir que Grant_priv est défini sur N pour [email protected] Cela doit être Y. Voici comment résoudre ce problème :

UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
GRANT ALL ON *.* TO 'root'@'localhost';

Je me suis reconnecté, c'était bon.