Nejprve určete uživatele, pod kterým jste přihlášeni:
select user();
select current_user();
Výsledkem prvního příkazu je to, pod jakým jménem jste se pokusili přihlásit, druhým je to, jako jste se skutečně připojili. Potvrďte, že jste přihlášeni jako [email protected]
v mysql.
Grant_priv
na [email protected]
. Zde je návod, jak to můžete zkontrolovat.
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 |
+-----------+------------------+-------------------------------------------+------------+------------+
Můžete vidět, že Grant_priv je nastaveno na N pro [email protected] Toto musí být Y. Níže je uveden postup, jak to opravit:
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
GRANT ALL ON *.* TO 'root'@'localhost';
Přihlásil jsem se, bylo to v pořádku.