Cara Mereset Kata Sandi Root di MySQL 8.0


Jika Anda lupa atau kehilangan kata sandi root MySQL Anda, Anda pasti memerlukan cara untuk memulihkannya. Yang perlu kita ketahui adalah passwordnya tersimpan pada tabel user. Ini berarti kita perlu mencari cara untuk melewati otentikasi MySQL, sehingga kita dapat memperbarui catatan kata sandi.

Untungnya ada cara 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 opsi --init-file 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 tempelkan yang berikut ini:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

Pada bagian di atas ubah “kata sandi_baru” dengan kata sandi yang ingin Anda gunakan.

Sekarang pastikan 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 opsi --skip-grant-tables. Ini kurang aman karena ketika layanan dimulai dengan cara itu, semua pengguna dapat terhubung tanpa kata sandi.

Jika server dimulai --skip-grant-tables, opsi untuk --skip-networking secara otomatis diaktifkan sehingga koneksi jarak jauh tidak akan tersedia.

Pertama pastikan 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 menjalankannya.

mysql

Karena pengelolaan akun dinonaktifkan ketika layanan dimulai dengan opsi --skip-grant-tables, kami 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 mengganti “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 kata sandi baru Anda.

mysql -u root -p

Anda mungkin juga ingin membaca artikel bermanfaat terkait MySQL berikut ini.

  1. Cara Install MySQL 8 di CentOS, RHEL dan Fedora
  2. 15 Tip Penyetelan dan Pengoptimalan Kinerja MySQL yang Berguna
  3. 12 Praktik Keamanan MySQL untuk Linux
  4. 4 Alat Commandline yang Berguna untuk Memantau Kinerja MySQL
  5. Perintah Administrasi Basis Data MySQL
Kesimpulan

Pada artikel ini Anda mempelajari cara mereset kata sandi root yang hilang untuk server MySQL 8.0. Saya harap prosesnya mudah.