Musibah memang tidak bisa diduga atau untuk kasus saya karena memang lalai tidak mencatat apa password root dari MySQL di VPS. 2 tahun lalu sih jadi tersimpan di notepad yang entah dimana sekarang. Haha. 😛 Untungnya ada cara manual untuk mereset password root MySQL (tampaknya juga bisa diterapkan untuk MariaDB dan Percona Server juga). Jadi kalau anda sedang mengalami masalah yang sama silahkan diikuti.

Anda membutuhkan akses root ke servernya, dan sebaiknya seluruh service Linux yang menggunakan database MySQL ikut dimatikan agar tidak menambah masalah. Jangan lupa backup dulu untuk jaga – jaga. Pertama silahkan menghentikan layanan MySQL:

service mysql stop

Lanjutkan dengan perintah berikut:

mysqld_safe --skip-grant-tables &

Ini akan mengabaikan hak akses seluruh user yang ada di MySQL, jadi semuanya akan memiliki hak akses tertinggi (root). Karena itu sebaiknya seluruh program yang membutuhkan akses ke database (PHP, Apache, Nginx, dan lainnya) sebaiknya ikut dimatikan. Berbahaya soalnya.

Kemudian silahkan login ke MySQL dengan root:

mysql -u root

Semestinya tidak akan ditanyakan apa passwordnya dan akan muncul MySQL prompt menunggu perintah anda.

Selanjutnya untuk mereset password MySQL, jalankan secara berurutan (jangan dicopas semua, satu per satu dieksekusi alurnya):

USE mysql;
UPDATE user SET password=PASSWORD("KataSandiBaruSaya") WHERE User='root';
FLUSH privileges;
QUIT

Jangan lupa gantikan KataSandiBaruSaya dengan password yang anda inginkan, sebaiknya yang kuat (kombinasi angka dan karakter, tanda baca juga boleh) dan catat. Tidak lucu kalau lupa lagi. Hehe. 😀

Setelahnya restart layanan MySQL:

service mysql restart

Akhirnya coba anda login ke MySQL dengan user root dan kata sandi barunya:

mysql -u root -p

Selesai. 🙂