Pertama, Identifikasi pengguna yang Anda masuki sebagai:
select user();
select current_user();
Hasil untuk perintah pertama adalah apa yang Anda coba masuki, yang kedua adalah apa yang sebenarnya Anda sambungkan. Konfirmasikan bahwa Anda masuk sebagai [email protected]
di mysql.
Grant_priv
ke [email protected]
. Berikut adalah bagaimana Anda dapat memeriksa.
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 |
+-----------+------------------+-------------------------------------------+------------+------------+
Anda dapat melihat bahwa Grant_priv disetel ke N untuk [email protected] Ini harus Y. Di bawah ini adalah cara memperbaikinya:
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
GRANT ALL ON *.* TO 'root'@'localhost';
Saya login kembali, itu baik-baik saja.