Cara pertama yang akan saya gunakan untuk me-reset user root MySQL adalah dengan menjalankan MySQL Server tanpa sistem manajemen pengguna sama sekali. Dengan cara ini, pengguna root bisa masuk tanpa password.
MySQL membangun akses dan password pengguna di database mysql. Database ini menyimpan data tentang pengaturan MySQL, termasuk data tentang pengguna, kata sandi dan izin di tabel mysql. Karena tabel mysql ini menyimpan tentang pengguna dan izin mereka, mereka juga dipanggil.
Cara yang akan kita lakukan adalah menjalankan MySQL Server tanpa menggunakan database mysql ini. Yang berarti MySQL Server tidak dapat memeriksa setiap pengguna, dan setiap pengguna yang log in akan memiliki akses root!
Langkah pertama adalah untuk me-reset password root pengguna harus menghentikan server MySQL yang masih berjalan.
Cara paling cepat mematikan MySQL Server adalah dari menu task manager, pilih tab Procesess, cari mysqld.exe, klik kanan dan pilih menu end process.
Selanjutnya kita akan menjalankan kembali MySQL Server (menggunakan mysqld), namun dengan perintah tambahan skip-grant-tables. Buka lokasi file mysqld melalui cmd, lalu tanıtım videosu jalankan perintah :
mysqld --skip-grant-tables
Berikut adalah tampilan cmd windows:
Untuk memeriksa apakah MySQL tanıtım filmi çekimi Server telah berjalan, dapat dilihat dari task manager, pilih tab Procesess, dan jika ada mysqld.exe, berarti MySQL Server telah berjalan.
Saat ini MySQL Server tanıtım filmi telah berjalan dengan opsi skip-grant-tables, sehingga kita dapat masuk sebagai root tanpa password:
Segera setelah masuk sebagi root, langsung jalankan perintah untuk membuat password untuk user root. Karena kita masuk dengan opsi skip-grant-tables, maka kita tidak bisa menjalankan cara membuat password seperti, namun harus secara manual mengupdate tabel user pada database mysql.
Berikut query yang digunakan untuk update password root:
UPDATE mysql.user SET Password = PASSWORD('password_baru') WHERE User = 'root';
Perintah tersebut adalah query UPDATE yang biasa kita gunakan untuk mengupdate sebuah record atau baris, namun yang diupdate kali ini adalah tabel user pada database mysql.
Setelah perintah tersebut dijalankan, untuk merefresh tabel user, jalankan query:
FLUSH PRIVILEGES;
Perintah FLUSH PRIVILEGES digunakan untuk membuat MySQL Server mengupdate hak akses di tabel user. Lalu keluarlah dari MySQL.
Berikut query yang saya gunakan untuk mereset password root menjadi ‘123456’:
123456789 | mysql> UPDATE mysql.user SET Password = PASSWORD('123456') WHERE User = 'root';Query OK, 1 row affected (0.20 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> FLUSH PRIVILEGES;Query OK, 0 rows affected (0.42 sec)mysql> exit;Bye
Setelah keluar dari MySQL Client, hentikan MySQL Server dari task manager dan jalankan MySQL Server seperti biasa.
Catatan :
Karena opsi ini mengizinkan user root masuk tanpa password, sebaiknya anda memutuskan jaringan server terlebih dahulu agar tidak ada user lain yang masuk selama kita mereset password root. Bahkan selama opsi skip-grant-option, setiap user yang masuk akan memiliki hak akses sebagai root, walaupun user tersebut tidak terdaftar sebelumnya.