Jadi untuk mengatur ulang kata sandi root, Anda masih memulai mySQL dengan opsi –skip-grant-tables dan memperbarui tabel pengguna, tetapi cara melakukannya telah berubah
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1. Hentikan mysql.
systemctl berhenti mysqld
2. Atur opsi mySQL lingkungan option
systemctl set - lingkungan MYSQLD_OPTS="--skip-grant-tables"
3. Mulai mysql gunakan opsi options you just set
systemctl mulai mysqld
4. Masuk sebagai root
mysql - u root
5. Perbarui kata sandi root pengguna password with these mysql commands
mysql> PERBARUI mysql. pengguna SET authentication_string = PASSWORD['MyNewPassword']
- > DI MANA Pengguna = 'root' AND Host = 'localhost';
mysql> FLUSH Hak Istimewa;
mysql> keluar
6. Hentikan mysql
systemctl berhenti mysqld
7. Hapus pengaturan opsi mySQL lingkungan option so it starts normally next time
systemctl tidak disetel - lingkungan MYSQLD_OPTS
8. Mulai mysql biasanya.
systemctl mulai mysqld
Coba untuk masuk menggunakan Anda new password:
7. mysql - u root - p
mysqld_safe adalah cara yang disarankan untuk memulai server mysqld di Unix. mysqld_safe menambahkan beberapa fitur keamanan seperti memulai ulang server saat terjadi kesalahan dan mencatat informasi runtime ke file log kesalahan. Deskripsi error logging diberikan nanti di bagian ini
Catatan
Pada MySQL 5. 7. 6, untuk instalasi MySQL menggunakan distribusi RPM, startup dan shutdown server dikelola oleh systemd pada beberapa platform Linux. Pada platform ini, mysqld_safe tidak lagi diinstal karena tidak diperlukan. Untuk informasi lebih lanjut, lihat Bagian 2. 5. 10, “Mengelola Server MySQL dengan systemd”
mysqld_safe mencoba memulai executable bernama mysqld. Untuk mengesampingkan perilaku default dan menentukan secara eksplisit nama server yang ingin Anda jalankan, tentukan opsi –mysqld atau –mysqld-version ke mysqld_safe. Anda juga dapat menggunakan –ledir untuk menunjukkan direktori tempat mysqld_safe harus mencari server
Banyak opsi untuk mysqld_safe sama dengan opsi untuk mysqld. Lihat Bagian 6. 1. 4, "Opsi Perintah Server"
Opsi yang tidak diketahui mysqld_safe diteruskan ke mysqld jika ditentukan pada baris perintah, tetapi diabaikan jika ditentukan dalam grup [mysqld_safe] dari file opsi
Bergantung pada versi server MySQL atau MariaDB yang Anda jalankan di sistem Anda, Anda perlu menggunakan perintah yang berbeda untuk memulihkan kata sandi root
Anda dapat menemukan versi server Anda dengan mengeluarkan perintah berikut
mysql --version
Jika Anda menginstal MySQL di sistem Anda, hasilnya akan terlihat seperti ini
mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
_Atau keluaran seperti ini untuk MariaDB
mysql Ver 15.1 Distrib 10.1.33-MariaDB, for debian-linux-gnu [x86_64] using readline 5.2
Pastikan untuk mencatat versi MySQL atau MariaDB mana yang Anda jalankan
Cara Mereset Kata Sandi Root MySQL atau MariaDB
Ikuti langkah-langkah ini untuk mengatur ulang kata sandi root MySQL/MariaDB Anda
1. Hentikan layanan MySQL/MariaDB
Untuk mengubah kata sandi root terlebih dahulu, Anda harus menghentikan server MySQL. Untuk melakukannya ketikkan perintah berikut
sudo systemctl stop mysql
2. Mulai server MySQL/MariaDB tanpa memuat tabel hibah
Mulai server basis data tanpa memuat tabel hibah
sudo mysqld_safe --skip-grant-tables &
_Ampersand
mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
4 di akhir perintah di atas akan menyebabkan program berjalan di latar belakang, sehingga Anda dapat terus menggunakan shellKetika opsi
mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
_5 digunakan, siapa pun dapat terhubung ke server database tanpa kata sandi dan dengan semua hak istimewa yang diberikan3. Masuk ke shell MySQL
Sekarang Anda dapat terhubung ke server database sebagai pengguna root
mysql -u root
4. Tetapkan kata sandi root baru
Jalankan perintah berikut jika Anda menjalankan MySQL 5. 7. 6 dan yang lebih baru atau MariaDB 10. 1. 20 dan seterusnya
_ALTER USER 'root'@'localhost' IDENTIFIED BY 'MY_NEW_PASSWORD';
FLUSH PRIVILEGES;
Jika pernyataan
6 tidak bekerja untuk Anda, coba ubah tabel pengguna secara langsungmysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
UPDATE mysql.user SET authentication_string = PASSWORD['MY_NEW_PASSWORD']
WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
Jalankan perintah berikut jika Anda memiliki MySQL 5. 7. 5 dan sebelumnya atau MariaDB 10. 1. 20 dan sebelumnya
SET PASSWORD FOR 'root'@'localhost' = PASSWORD['MY_NEW_PASSWORD'];
FLUSH PRIVILEGES;
Dalam kedua kasus jika semuanya berjalan dengan baik, Anda akan melihat output berikut
Query OK, 0 rows affected [0.00 sec]
5. Hentikan dan Mulai server database secara normal
Sekarang kata sandi root telah diatur, hentikan server database dan mulai secara normal
mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
_0Anda akan diminta memasukkan kata sandi root baru
Mulai server basis data secara normal
Untuk MySQL, ketik
_1mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
Untuk MariaDB, ketik
_2mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
6. Verifikasi kata sandi
Untuk memverifikasi bahwa kata sandi root baru telah diterapkan dengan benar, ketik
mysql Ver 14.14 Distrib 5.7.22, for Linux [x86_64] using EditLine wrapper
_3Anda akan diminta memasukkan kata sandi root baru. Masukkan itu, dan Anda harus login ke server database Anda
Kesimpulan
Kami telah menunjukkan kepada Anda cara mengatur ulang kata sandi root MySQL/MariaDB Anda. Pastikan kata sandi root baru Anda kuat dan aman dan simpan di tempat yang aman
Petunjuk dalam panduan ini harus bekerja dengan distribusi Linux modern apa pun seperti Ubuntu 18. 04, Debian 10 dan CentOS 8