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.