Ketika Anda lupa kata sandi root MySQL/MariaDB, Anda dapat meresetnya melalui WHM atau CLI dengan langkah-langkah berikut.
Metode WHM #
Login ke WHM sebagai user root.
Navigasikan ke menu SQL Services → MySQL Root Password.
Selanjutnya, Anda dapat:
- Menentukan kata sandi root MySQL/MariaDB secara manual, atau
- Menggunakan Password Generator untuk membuat kata sandi otomatis.
Simpan perubahan setelah selesai.
Metode CLI #
Login ke server melalui SSH sebagai user root.
1. Membuat file sementara #
Buat file sementara yang dapat dibaca oleh user mysql, misalnya /tmp/mysqlpass.
touch /tmp/mysqlpass
chmod 644 /tmp/mysqlpass
2. Menambahkan perintah SQL #
Edit file tersebut dan tambahkan perintah SQL berikut:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
Untuk MySQL versi di bawah 5.6, gunakan perintah berikut:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password_baru');
3. Menghentikan service MySQL #
/scripts/restartsrv_mysql --stop
4. Masuk sebagai user mysql
#
sudo -i su -l mysql -s /bin/bash
5. Menjalankan MySQL dengan file init #
Jalankan MySQL menggunakan file SQL yang telah dibuat:
mysqld --init-file=/tmp/mysqlpass &
6. Test login MySQL #
Coba login ke MySQL/MariaDB menggunakan kata sandi root yang baru.
Jika berhasil, hentikan MySQL dengan perintah berikut:
mysqladmin -u root -p shutdown
7. Menjalankan ulang service MySQL #
Keluar dari user mysql, lalu jalankan kembali service MySQL:
/scripts/restartsrv_mysql
8. Update file konfigurasi #
Update file /root/.my.cnf dengan kata sandi root yang baru:
[client]
user=root
password="PASSWORD"
Metode Alternatif (Jika Cara di Atas Tidak Berhasil) #
1. Hentikan service MySQL #
/scripts/restartsrv_mysql --stop
2. Jalankan MySQL tanpa autentikasi #
mysqld --user=mysql --skip-grant-tables > /var/lib/mysql/reset-password.log 2>&1 &
3. Login ke MySQL #
mysql -u root
4. Perbarui kata sandi root #
Jalankan query berikut:
UPDATE mysql.user
SET authentication_string = PASSWORD('password-baru')
WHERE User = 'root';
FLUSH PRIVILEGES;
5. Hentikan MySQL server #
mysqladmin shutdown && killall mysqld
6. Jalankan kembali service MySQL #
/scripts/restartsrv_mysql