Jika Anda benar-benar telah menyetel kata sandi root dan Anda baru saja kehilangan/melupakannya:
- Hentikan MySQL
-
Restart secara manual dengan opsi skip-grant-tables:
mysqld_safe --skip-grant-tables
-
Sekarang, buka jendela terminal baru dan jalankan klien MySQL:
mysql -u root
-
Setel ulang kata sandi root secara manual dengan perintah MySQL ini:
UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
Jika Anda menggunakan MySQL 5.7 (periksa menggunakan mysql --version di Terminal) maka perintahnya adalah:UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
-
Siram hak istimewa dengan perintah MySQL ini:
FLUSH PRIVILEGES;
Dari http://www.tech-faq.com/reset-mysql-password.shtml
(Mungkin ini bukan yang Anda butuhkan, Abs, tapi menurut saya ini bisa berguna bagi orang yang menemukan pertanyaan ini di masa mendatang)
Coba sambungkan tanpa sandi apa pun:
mysql -u root
Saya yakin default awal bukanlah kata sandi untuk akun root (yang jelas harus diubah sesegera mungkin).
gunakan perintah ini untuk memeriksa kemungkinan keluaran
mysql> select user,host,password from mysql.user;
keluaran
mysql> select user,host,password from mysql.user;
+-------+-----------------------+-------------------------------------------+
| user | host | password |
+-------+-----------------------+-------------------------------------------+
| root | localhost | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root | 127.0.0.1 | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| admin | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| admin | % | |
+-------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)
- Dalam pengguna ini admin tidak akan diizinkan masuk dari host lain meskipun Anda telah memberikan izin. alasannya adalah admin pengguna tidak diidentifikasi dengan kata sandi apa pun.
-
Beri admin pengguna kata sandi menggunakan perintah GRANT sekali lagi
mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED by 'password'
lalu centang GRANT LIST keluarannya akan seperti
nyamysql> select user,host,password from mysql.user;
+-------+-----------------------+-------------------------------------------+
| user | host | password |
+-------+-----------------------+-------------------------------------------+
| root | localhost | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root | 127.0.0.1 | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| admin | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| admin | % | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+-------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)
jika pengguna yang diinginkan misalnya pengguna 'admin' harus diizinkan login, gunakan sekali perintah GRANT dan jalankan perintah tersebut.
Sekarang pengguna harus diizinkan masuk.