Ada kalanya kita lupa password akun untuk MariaDB maupun MySQL, padahal kita harus membuat database, bagaimanakah solusinya?
Artikel ini dipraktekan menggunakan OS CentOS 7, asumsi awal sudah berada di terminal pada posisi root (#) dengan mariaDB dan Apache sudah terinstall.
Cek versi mariaDB terpasang dengan perintah
[root@server5 ~]# mysql --version mysql Ver 15.1 Distrib 5.5.56-MariaDB, for Linux (x86_64) using readline 5.1
Pastikan layanan mariadb distop, dengan perintah (untuk mysql jadi systemctl stop mariadb)
[root@server5 ~]# systemctl stop mariadb
Jalankan database tanpa melakukan pengecekan dengan perintah
[root@server5 ~]# mysqld_safe --skip-grant-tables --skip-networking & [1] 29109 [root@server5 ~]# 180425 17:13:46 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'. 180425 17:13:46 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Tanda ampersand (&) diakhir perintah akan membuat perintah ini tetap berjalan di belakang layar (background), lanjutka dengan membuka TAB baru, kalau di server bisa menggunakan perintah Ctrl + Shift + F2.
Lanjut menjalankan MariaDB dengan user root menggunakan perintah
[root@server5 ~]# mysql -u root Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 1 Server version: 5.5.56-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
Berikan perintah untuk membuka hak penuh untuk table menggunakan:
MariaDB [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
Untuk versi MySQL 5.7.6 atau yang lebih baru dan MariaDB 10.1.20 atau diatasnya, gunakan perintah
ALTER USER 'root'@'localhost' IDENTIFIED BY 'passwordbaru';
Sedangkan untuk versi dibawahnya gunakan
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('passwordbaru'); Query OK, 0 rows affected (0.00 sec)
Selesai, keluar dengan peritah exit;
Jika ternyata perintah diatas masih gagal, mungkin anda dapat mencoba perintah ini
UPDATE mysql.user SET authentication_string = PASSWORD('passwordbaru') WHERE User = 'root' AND Host = 'localhost';
Sekian dan terima kasih (ms).
Sumber:
1. DigitalOcean