How to fix Access denied for user ‘root’@’localhost’ And Reset Privileges root Mysql

Diantara pengguna Mysql mungkin pernah mengalami suatu kondisi dimana tidak dapat mengakses mysql sebagai root. Beberapa mungkin juga pernah mengalami kondisi kehilangan privileges sebagai root.

Langkah-langkah berikut merupakan solusi yang pernah saya gunakan.
1. Akses service mysql dengan opsi –skip-grant-tables
perintah yang digunakan adalah
mysqld -u root --skip-grant-tables
Khusus os Windows terlebih dahulu masuk lokasi folder bin mysql menggunakan cmd, misal lokasi ada di C:windowsxamppmysqlbin
setelah mysql aktiv kita akses mysql dengan membuka program cmd baru dan memasukan perintah
mysqld -u root
2. Setelah login kita dapat melakukan perubahan pada tabel user di database mysql. Kita dapat menjalankan perintah berikut:
mysql> use mysql;
mysql> delete from user where user='root';
mysql> insert into user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv,Index_priv, Alter_priv, Super_priv, Create_user_priv) VALUES ('localhost', 'root', PASSWORD('root'),'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
mysql> flush privileges;
mysql> quit;

Jika kita hanya ingin mengubah password root, dapat dengan perintah berikut

$mysql>UPDATE user SET Password=PASSWORD('my_password') where USER='root';
$mysql> FLUSH PRIVILEGES;

User root dan privilegesnya sudah berhasil dikembalikan ^^

SIMILAR ARTICLES

NO COMMENTS

Leave a Reply