Mysql
 sql >> Datenbank >  >> RDS >> Mysql

FEHLER 1044 (42000):Zugriff für „root“ mit allen Berechtigungen verweigert

Identifizieren Sie zunächst den Benutzer, als der Sie angemeldet sind:

 select user();
 select current_user();

Das Ergebnis für den ersten Befehl ist das, als was Sie versucht haben, sich anzumelden, das zweite ist, als was Sie sich tatsächlich verbunden haben. Bestätigen Sie, dass Sie als [email protected] in mysql.

Grant_priv an [email protected] . So können Sie das überprüfen.

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

Sie können sehen, dass Grant_priv für [email protected] auf N gesetzt ist Dies muss Y sein. Unten finden Sie, wie Sie dies beheben können:

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

Ich habe mich wieder eingeloggt, es war in Ordnung.