sql >> Database teknologi >  >> RDS >> Mysql

FEJL 1044 (42000):Adgang nægtet for 'root' med alle privilegier

Først skal du identificere den bruger, du er logget på som:

 select user();
 select current_user();

Resultatet for den første kommando er, hvad du forsøgte at logge ind som, den anden er, hvad du faktisk oprettede forbindelse som. Bekræft, at du er logget ind som [email protected] i mysql.

Grant_priv til [email protected] . Her er hvordan du kan tjekke.

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

Du kan se, at Grant_priv er indstillet til N for [email protected] Dette skal være Y. Nedenfor kan du se, hvordan du løser dette:

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

Jeg loggede ind igen, det var fint.



  1. Hvad er forskellen mellem Office 365 og Office 2016?

  2. Kan jeg genbruge et udtryk i en MySQL-forespørgsel som en variabel for et andet felt?

  3. Korrekt måde at holde poolede forbindelser i live (eller time-out dem og få friske) under længere inaktivitet for MySQL, Grails 2-appen

  4. Oracle.DataAccess.Client-afhængigheder