Lupa adalah hal yang wajar dan hampir pasti dialami oleh semua orang. Apalagi kemungkinan untuk lupa password database, kami yakin presentasenya akan lebih tinggi. Password database sangat jarang untuk digunakan, kemungkinan hanya digunakan saat awal menambahkan database atau paling tidak pada saat akan melakukan maintenance saja. Maka dari itu kita akan dengan mudah melupakan password ini karena penggunaannya yang tidak terlalu banyak.

Tapi jangan salah, lupa password sendiri merupakan indikator yang secara tidak langsung menyatakan kalau password yang kita set sebelumnya sudah aman. Karena kita yang membuat passwordnya saja lupa, pastinya orang lainpun akan kesulitan untuk menebak kombinasi password yang sudah kita buat. Tidak perlu panik, kita bisa mudah melakukan reset pada aplikasi database tanpa harus kehilangan data satupun. Diperlukan hak akses root pada server agar bisa melakukan hal ini.
Cara Mengatasi Lupa Password Database MySQL dan MariaDB Ubuntu Server 20.04
Disini kita akan membagi langkah antara MySQL dan MariaDB agar tidak tercampur dan lebih mudah dipraktekkan. Meskipun dibuat menggunakan bahasa yang sama, terdapat perbedaan dalam perintah dan konfigurasi yang digunakan. Jangan lupa untuk selalu melakukan backup terlebih dahulu agar kita mempunyai cadangan kalau nanti terjadi hal yang tidak diinginkan.
A. Langkah Reset Password untuk MariaDB
Mulai dari sini adalah langkah untuk melakukan reset password root database dengan server MariaDB. Untuk memastikan aplikasi server mana yang kamu gunakan, gunakan perintah dibawah.
mysql --version
Jika servermu menggunakan MariaDB maka akan ada kata mariadb setelah server version, jika tidak ada berarti menggunakan MySQL.
1. Menghentikan Service Database
Sebelumnya kita perlu mematikan service MariaDB sebelum melakukan reset pada passwordnya
sudo systemctl stop mariadb
2. Start Service dengan SafeMode
Sekarang kita perlu melakukan pengubahan konfigurasi agar database bisa dilakukan reset. Caranya dengan menambahkan beberapa parameter yang membuat database bisa melakukan skip beberapa fitur.
sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables --skip-networking"
Setelah itu nyalakan kembali service MariaDB dengan peerintah berikut.
sudo systemctl start mariadb
3. Mengganti Password
Service sudah kembali berjalan, sekarang saatnya untuk masuk ke konsol mysql tanpa perlu menyertakan password
sudo mysql -u root
Tuliskan perintah agar aplikasi menghapus informasi mengenai table previlege
FLUSH PRIVILEGES;
Gunakan perintah dibawah untuk membuat password root yang baru
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
Masukkan perintah ini untuk melakukan update pengaturan pada aplikasi MariaDB agar menggunakan password terkini
UPDATE mysql.user SET authentication_string = '' WHERE user = 'root';
UPDATE mysql.user SET plugin = '' WHERE user = 'root';
4. Restart Database
Password sudah berhasil terganti, sekarang kita perlu melakukan rollback pada langkah yang sudah dilakukan sebelumnya agar tidak mninggalkan celah keamanan. Matikan fitur yang sudah dist sebelumnya, lalu restart system servis dari MariaDB.
sudo systemctl unset-environment MYSQLD_OPTS
sudo systemctl restart mariadb
Baca Juga:
- Install Database MySQL dan MariaDB Ubuntu 20.04
- Begini Cara Aman Deploy Laravel 8 di Web Hosting
- Membuat Server VPN Sendiri Menggunakan VPS Ubuntu
B. Langkah Reset Password untuk MySQL
Mulai dari sini adalah langkah untuk melakukan reset password root database dengan server MySQL. Untuk memastikan aplikasi server mana yang kamu gunakan, gunakan perintah dibawah.
mysql --version
1. Menghentikan Service Database
Sama seperti MariaDB kita perlu menghentikan service aplikasi mysql agar bisa dilakukan reset password
sudo systemctl stop mysql
2. Start Service dengan SafeMode
Tidak seperti MariaDB, pada MySQL biasa kita perlu membuat sebuah file konfigurasi baru.
sudo systemctl edit mysql
Lalu isi file tersebut dengan parameter seperti dibawah. Simpan menggunakan CTRL+X lalu konfirmasi dengan Y dan akhiri dengan menekan tombol enter.
[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --skip-grant-tables --skip-networking
Lakukan reload pengaturan agar mysql menerapkan pengaturan yang sudah kita buat saat.
sudo systemctl daemon-reload
sudo systemctl start mysql
3. Mengganti Password
Sekarang kamu bisa masuk ke konsol mysql tanpa menggunakan password.
sudo mysql -u root
Gunakan perintah dibawah untuk menghapus dan membersihkan table previlege
FLUSH PRIVILEGES;
Buat password baru untuk user root menggunakan format dibawah
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
4. Restart Database
Kita sudah berhasil melakukan reset password database untuk user root. Sekarang kita perlu mengembalikan pengaturan seperti semula agar tidak meninggalkan celah keamanan. Masukkan perintah dibawah secara berurutan.
sudo systemctl revert mysql
sudo systemctl daemon-reload
sudo systemctl restart mysql
Penutup
Itulah beberapa langkah agar bisa mereset password pada aplikasi database yang terinstall di VPS Ubuntu Server. Walaupun cara diatas aman untuk dilakukan, kami tetap merekomendasikan untuk selalu melakukan backup data agar kita semakin tenang pada saat melakukan reset password. Langkah reset password antara MySQL dan MariaDB hampir mirip karena dibuat menggunakan bahasa yang sama. Setelah berhasil reset, jangan lupa simpan password database ditempat yang aman, agar tidak lupa kembali. Terimakasih sudah mengunjungi blog kami.




