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 example@sqldat.com in mysql.

Grant_priv an example@sqldat.com . 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 example@sqldat.com 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.