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

ERRORE 1044 (42000):accesso negato per "root" con tutti i privilegi

Innanzitutto, identifica l'utente a cui hai effettuato l'accesso come:

 select user();
 select current_user();

Il risultato per il primo comando è quello con cui hai tentato di accedere, il secondo è quello con cui ti sei effettivamente connesso. Conferma di aver effettuato l'accesso come [email protected] in MySQL.

Grant_priv a [email protected] . Ecco come puoi controllare.

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

Puoi vedere che Grant_priv è impostato su N per [email protected] Deve essere Y. Di seguito è riportato come risolverlo:

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

Ho effettuato nuovamente l'accesso, andava bene.