Jika Anda lupa atau kehilangan kata sandi root MySQL Anda, Anda pasti akan membutuhkan cara untuk memulihkannya. Yang perlu kita ketahui adalah bahwa kata sandi disimpan di tabel pengguna. Ini berarti bahwa kita perlu mencari cara untuk melewati otentikasi MySQL, sehingga kita dapat memperbarui catatan kata sandi.
Untungnya ada yang mudah untuk dicapai dan tutorial ini akan memandu Anda melalui proses memulihkan atau mengatur ulang kata sandi root di MySQL versi 8.0.
Sesuai dokumentasi MySQL ada dua cara untuk mereset kata sandi root MySQL. Kami akan meninjau keduanya.
Reset Kata Sandi Root MySQL Menggunakan –init-file
Salah satu cara untuk mereset kata sandi root adalah dengan membuat file lokal dan kemudian memulai layanan MySQL menggunakan --init-file
pilihan seperti yang ditunjukkan.
# vim /home/user/init-file.txt
Penting bagi Anda untuk memastikan bahwa file dapat dibaca oleh pengguna mysql. Di dalam file itu, rekatkan yang berikut ini:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
Pada perubahan di atas “new_password ” dengan kata sandi yang ingin Anda gunakan.
Sekarang pastikan bahwa layanan MySQL dihentikan. Anda dapat melakukan hal berikut:
# systemctl stop mysqld.service # for distros using systemd # /etc/init.d/mysqld stop # for distros using init
Kemudian jalankan yang berikut ini:
# mysqld --user=mysql --init-file=/home/user/init-file.txt --console
Ini akan memulai layanan MySQL dan selama proses itu akan mengeksekusi file init yang telah Anda buat dan dengan demikian kata sandi untuk pengguna root akan diperbarui. Pastikan untuk menghapus file setelah kata sandi disetel ulang.
Pastikan untuk menghentikan server dan memulainya secara normal setelah itu.
# systemctl stop mysqld.service # for distros using systemd # systemctl restart mysqld.service # for distros using systemd # /etc/init.d/mysqld stop # for distros using init # /etc/init.d/mysqld restart # for distros using init
Anda sekarang dapat terhubung ke server MySQL sebagai root menggunakan kata sandi baru.
# mysql -u root -p
Reset Kata Sandi Root MySQL Menggunakan –skip-grant-tables
Opsi kedua yang kita miliki adalah memulai layanan MySQL dengan --skip-grant-tables
pilihan. Ini kurang aman karena saat layanan dimulai seperti itu, semua pengguna dapat terhubung tanpa kata sandi.
Jika server dijalankan --skip-grant-tables
, opsi untuk --skip-networking
diaktifkan secara otomatis sehingga koneksi jarak jauh tidak akan tersedia.
Pertama pastikan bahwa layanan MySQL dihentikan.
# systemctl stop mysqld.service # for distros using systemd # /etc/init.d/mysqld stop # for distros using init
Kemudian mulai layanan dengan opsi berikut.
# mysqld --skip-grant-tables --user=mysql &
Kemudian, Anda dapat terhubung ke server mysql hanya dengan menjalankan.
# mysql
Karena pengelolaan akun dinonaktifkan saat layanan dimulai dengan --skip-grant-tables
opsi, kita harus memuat ulang hibah. Dengan begitu nanti kita bisa mengganti passwordnya:
# FLUSH PRIVILEGES;
Sekarang Anda dapat menjalankan kueri berikut untuk memperbarui kata sandi. Pastikan untuk mengubah "kata sandi_baru" dengan kata sandi sebenarnya yang ingin Anda gunakan.
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';
Sekarang hentikan server MySQL dan mulai secara normal.
# systemctl stop mysqld.service # for distros using systemd # systemctl restart mysqld.service # for distros using systemd # /etc/init.d/mysqld stop # for distros using init # /etc/init.d/mysqld restart # for distros using init
Anda seharusnya dapat terhubung dengan sandi baru Anda.
# mysql -u root -p
Anda mungkin juga ingin membaca artikel terkait MySQL berikut yang bermanfaat ini.
- Cara Menginstal MySQL 8 di CentOS, RHEL dan Fedora
- 15 Kiat Penyesuaian dan Pengoptimalan Kinerja MySQL yang Berguna
- 12 Praktik Keamanan MySQL untuk Linux
- 4 Alat Baris Perintah yang Berguna untuk Memantau Kinerja MySQL
- Perintah Administrasi Database MySQL
Kesimpulan
Pada artikel ini Anda mempelajari cara mereset kata sandi root yang hilang untuk server MySQL 8.0. Semoga prosesnya mudah.