GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur Ulang Kata Sandi Root Di MySQL 8 Di Ubuntu Linux

Apakah Anda lupa root database MySQL Anda? kata sandi pengguna? Jangan khawatir! Panduan langkah demi langkah ini menjelaskan cara mereset kata sandi root di MySQL 8 pada sistem operasi Ubuntu 20.04.

Catatan: Seperti yang mungkin sudah Anda ketahui, pengguna root MySQL menggunakan auth_socket plugin untuk mengautentikasi dengan server MySQL di sistem Ubuntu yang menjalankan MySQL 5.7 dan versi yang lebih baru. Jadi Anda bisa login ke server MySQL sebagai root pengguna dengan sudo mysql perintah selama Anda mengetahui sudo pengguna sistem Anda kata sandi. Dalam hal ini, tidak perlu mengubah root MySQL kata sandi. Jika Anda sudah mengubah metode otentikasi untuk root MySQL pengguna ke caching_sha2_password atau mysql_native_password , ikuti langkah-langkah di bawah ini untuk mereset root kata sandi database MySQL.

Reset Kata Sandi Root Di MySQL 8 Di Ubuntu Linux

1. Pertama, hentikan layanan MySQL menggunakan perintah:

$ sudo systemctl stop mysql

Ini akan menghentikan layanan MySQL jika sedang berjalan. Anda dapat memverifikasi status layanan MySQL dengan perintah:

$ sudo systemctl status mysql

Contoh keluaran:

● mysql.service - MySQL Community Server
      Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
      Active: inactive (dead) since Mon 2021-05-31 11:01:15 UTC; 1min 15s ago
     Process: 1446 ExecStart=/usr/sbin/mysqld (code=exited, status=0/SUCCESS)
    Main PID: 1446 (code=exited, status=0/SUCCESS)
      Status: "Server shutdown complete"
 May 31 07:57:50 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server…
 May 31 07:57:51 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.
 May 31 11:01:14 ubuntu2004.localdomain systemd[1]: Stopping MySQL Community Server…
 May 31 11:01:15 ubuntu2004.localdomain systemd[1]: mysql.service: Succeeded.
 May 31 11:01:15 ubuntu2004.localdomain systemd[1]: Stopped MySQL Community Server.

2. Selanjutnya, jalankan server MySQL tanpa pemeriksaan izin. Untuk melakukannya, jalankan:

$ sudo systemctl edit mysql

Ini akan membuka mysql systemd file konfigurasi editor teks default Anda. Dalam kasus saya, ini adalah nano editor.

Tambahkan baris berikut di dalamnya:

[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --skip-grant-tables --skip-networking

Setelah menambahkan baris di atas, tekan CTRL+O dan ENTER untuk menyimpan file lalu tekan CTRL+X untuk menutupnya.

Di sini, --skip-grant-tables opsi memungkinkan Anda untuk terhubung ke server database MySQL tanpa kata sandi dan dengan semua hak istimewa. Ini juga akan menonaktifkan pernyataan pengelolaan akun seperti ALTER USER dan SET PASSWORD . Dan --skip-networking opsi digunakan untuk mencegah klien lain terhubung ke server database. Karena menonaktifkan semua koneksi jarak jauh, tidak ada klien jarak jauh yang dapat mengakses server database sampai Anda me-restart server database secara normal.

3. Muat ulang systemd konfigurasi menggunakan perintah:

$ sudo systemctl daemon-reload

4. Mulai layanan MySQL:

$ sudo systemctl start mysql

Ini akan memulai server MySQL dengan --skip-grant-table s dan --skip-networking pilihan. Anda dapat memverifikasinya dengan memeriksa status layanan MySQL:

$ sudo systemctl status mysql
 ● mysql.service - MySQL Community Server
      Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Drop-In: /etc/systemd/system/mysql.service.d
              └─override.conf
      Active: active (running) since Mon 2021-05-31 11:39:18 UTC; 1min 23s ago
     Process: 1882 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
    Main PID: 1905 (mysqld)
      Status: "Server is operational"
       Tasks: 36 (limit: 2280)
      Memory: 331.0M
      CGroup: /system.slice/mysql.service
              └─1905 /usr/sbin/mysqld --skip-grant-tables --skip-networking
 May 31 11:39:16 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server…
 May 31 11:39:18 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.

5. Sekarang, sambungkan ke server MySQL sebagai root pengguna tanpa kata sandi:

$ sudo mysql -u root

Anda akan langsung masuk ke dalam prompt shell MySQL.

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.25-0ubuntu0.20.04.1 (Ubuntu)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

6. Kami masuk ke server database tanpa memuat tabel hibah (karena kami menggunakan --skip-grant-tables pilihan). Jadi kami tidak dapat menggunakan ALTER USER perintah yang diperlukan untuk mereset kata sandi. Untuk memuat tabel hibah, jalankan perintah berikut dari prompt shell MySQL:

mysql> FLUSH PRIVILEGES;

7. Selanjutnya, jalankan salah satu dari perintah berikut untuk mereset root MySQL kata sandi.

Jika Anda menggunakan caching_sha2_password plugin, jalankan:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Password123#@!';

Jika Anda menggunakan mysql_native_password plugin, jalankan ini sebagai gantinya:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password123#@!';

Ganti Password123#@! dengan milik Anda.

Setelah mengubah root MySQL kata sandi, keluar dari prompt shell MySQL:

mysql> exit

8. Kembalikan systemd . yang dimodifikasi konfigurasi kembali ke pengaturan normal menggunakan perintah:

$ sudo systemctl revert mysql

Ini akan menghapus semua file yang dimodifikasi.

Removed /etc/systemd/system/mysql.service.d/override.conf.
Removed /etc/systemd/system/mysql.service.d.

9. Muat ulang systemd konfigurasi untuk menerapkan perubahan:

$ sudo systemctl daemon-reload

10. Terakhir, restart server MySQL secara normal:

$ sudo systemctl restart mysql

11. Sekarang Anda seharusnya dapat terhubung ke database MySQL sebagai root pengguna dengan new password menggunakan perintah:

$ mysql -u root -p

Masukkan root kata sandi untuk mengakses prompt shell MySQL:

mysql> 

Ada juga cara lain untuk mengubah root MySQL kata sandi di Linux. Ini sedikit berbeda dari metode ini. Jika Anda tertarik untuk mengetahuinya, lihat tautan berikut:

>> How To Reset MySQL Root User Password In Linux

Kesimpulan

Seperti yang Anda lihat, menyetel ulang kata sandi root MySQL itu mudah! Jika Anda mengikuti langkah-langkah di atas dengan hati-hati, Anda dapat memulihkan kata sandi root database MySQL Anda dalam beberapa menit. Jangan sampai hilang lagi. Hafalkan atau simpan sandi Anda di tempat yang aman.


Ubuntu
  1. Cara mereset kata sandi root MySql

  2. Cara Reset Kata Sandi Root Server MySQL

  3. Cara Mengatur Ulang Kata Sandi Root MySQL

  1. Cara Mengatur Ulang atau Mengubah Kata Sandi Root MySQL di Linux atau Windows

  2. Cara mereset kata sandi root MySql

  3. Bagaimana Cara Mengatur Ulang Kata Sandi Ubuntu?

  1. Cara mereset kata sandi root MySQL/MariaDB di Ubuntu 20.04 Focal Fossa Linux

  2. Cara Mengubah Kata Sandi Root di Ubuntu Linux

  3. Cara mereset kata sandi Administrator/Root di Ubuntu