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 root@localhost in mysql.

Grant_priv an root@localhost . 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 root@localhost. 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.