Rumah  >  Artikel  >  pangkalan data  >  linux mysql terlupa kata laluan root

linux mysql terlupa kata laluan root

王林
王林asal
2023-05-23 10:02:362336semak imbas

Linux MySQL Lupa Kata Laluan Root

Apabila menggunakan sistem Linux dan memasang pangkalan data MySQL, kami biasanya mencipta pengguna root sebagai pentadbir. Tetapi kadangkala, kita mungkin terlupa kata laluan pengguna root atau menghadapi situasi seperti tidak dapat log masuk sebagai pengguna root. Keadaan sedemikian boleh mengakibatkan ketidakupayaan untuk mengakses, menyelenggara dan menyandarkan pangkalan data kami, yang boleh memberi kesan kepada perniagaan kami. Oleh itu, artikel ini akan memperkenalkan beberapa penyelesaian untuk membantu kami menetapkan semula kata laluan akar MySQL.

Kaedah 1: Gunakan alat baris arahan mysqladmin

Alat baris arahan mysqladmin ialah alat yang biasa digunakan dalam MySQL. Ia boleh digunakan untuk melaksanakan beberapa operasi pengurusan MySQL. Kami boleh menggunakan ini untuk menetapkan semula kata laluan pengguna root.

  1. Pertama, kita perlu menghentikan perkhidmatan MySQL dan menutup pangkalan data MySQL:
sudo systemctl stop mysql
  1. Kemudian, kita perlu menggunakan kebenaran sudo untuk menjalankan perkhidmatan MySQL arahan pengurusan dan langkau Pengesahan keizinan untuk mengelakkan tidak dapat log masuk:
sudo mysqld_safe --skip-grant-tables &
  1. Seterusnya, kita perlu memasukkan baris arahan MySQL:
sudo mysql -u root
  1. Sekarang, kita telah memasukkan arahan MySQL OK, masukkan arahan berikut (nota: kata laluan baharu perlu ditetapkan mengikut situasi sebenar):
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
  1. Untuk mendapatkan kata laluan hanya ditetapkan untuk berkuat kuasa, kami perlu memuat semula kebenaran:
FLUSH PRIVILEGES;
  1. Akhir sekali, kami keluar dari baris arahan MySQL, menghentikan perkhidmatan MySQL dan mulakan semula perkhidmatan:
exit
sudo systemctl stop mysql
sudo systemctl start mysql

Pada ketika ini, kami telah berjaya menetapkan semula kata laluan root MySQL. Anda boleh log masuk semula ke MySQL menggunakan kata laluan baharu.

Kaedah 2: Gunakan skrip mysql_secure_installation

Skrip mysql_secure_installation ialah alat pemasangan yang disediakan oleh MySQL Ia melaksanakan tetapan keselamatan MySQL secara interaktif, termasuk mengalih keluar pengguna tanpa nama, mematikan log masuk akar luaran dan memadam. Uji pangkalan data dsb. Selain itu, ia boleh digunakan untuk menetapkan semula kata laluan pengguna root.

  1. Kami perlu menjalankan skrip dengan keistimewaan sudo:
sudo mysql_secure_installation
  1. Semasa melaksanakan skrip, kami akan menghadapi beberapa masalah. Pertama, ia akan memberi kami pilihan untuk mengalih keluar pengguna tanpa nama. Jika anda ingin memastikan pengguna tanpa nama, pilih Tidak. Jika tidak pilih Ya.
  2. Seterusnya, ia akan meminta kami untuk menetapkan kata laluan akar baharu. Masukkan kata laluan baharu dan sahkan.
  3. Skrip kemudiannya memberi kami pilihan untuk melumpuhkan log masuk jauh untuk pengguna root. Jika anda ingin membenarkan log masuk jauh, pilih Tidak. Jika tidak pilih Ya.
  4. Akhir sekali, skrip akan bertanya kepada kami sama ada kami ingin memadam pangkalan data ujian. Jika anda ingin terus menggunakan pangkalan data ujian, pilih Tidak. Jika tidak, pilih Ya untuk memadam pangkalan data ujian.

Kini kami telah berjaya menetapkan semula kata laluan root MySQL menggunakan skrip mysql_secure_installation dan membuat beberapa tetapan keselamatan. Anda boleh log masuk semula ke MySQL menggunakan kata laluan baharu.

Kaedah 3: Pulihkan kata laluan daripada fail pangkalan data

Jika kedua-dua kaedah di atas tidak berjaya, kita boleh cuba memulihkan kata laluan daripada fail pangkalan data. Walau bagaimanapun, kaedah ini mempunyai risiko tertentu dan boleh menyebabkan kehilangan data atau merosakkan struktur pangkalan data. Oleh itu, kita harus meneruskan dengan berhati-hati dan memastikan bahawa kita telah membuat sandaran pangkalan data.

  1. Hentikan perkhidmatan MySQL dan sandarkan fail pangkalan data:
sudo systemctl stop mysql
sudo cp -a /var/lib/mysql /var/lib/mysql.bak
  1. Edit fail konfigurasi MySQL dan tambah baris berikut:
skip-grant-tables
sudo nano /etc/mysql/my.cnf

Simpan dan keluar.

  1. Sekarang, kita perlu memulakan perkhidmatan MySQL sebagai pengguna dengan kebenaran sudo:
sudo mysqld_safe &
  1. Kemudian, kita boleh menggunakan arahan berikut untuk memasukkan MySQL baris arahan:
sudo mysql -u root
  1. Kemudian, kita perlu menyemak dan membaiki jadual pangkalan data MySQL:
mysql> use mysql;
mysql> repair table user;
mysql> exit
  1. Pada ketika ini, kami telah berjaya memasukkan baris arahan MySQL. Anda boleh menggunakan arahan berikut untuk menetapkan semula kata laluan pengguna root (nota: kata laluan baharu perlu ditetapkan mengikut situasi sebenar):
mysql> UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit
  1. Akhir sekali, kita perlu menghentikan MySQL servis dan pulihkan konfigurasi yang kami ubah suai sebelum Fail:
sudo nano /etc/mysql/my.cnf

Alih keluar baris skip-grant-tables, simpan dan keluar.

sudo systemctl stop mysql
sudo systemctl start mysql

Pada ketika ini kami telah berjaya memulihkan kata laluan root MySQL daripada fail pangkalan data. Anda boleh log masuk semula ke MySQL menggunakan kata laluan baharu.

Ringkasan

Apabila menggunakan pangkalan data Linux MySQL, jika anda terlupa kata laluan akar atau tidak boleh log masuk, anda boleh menggunakan tiga kaedah di atas untuk menetapkan semula kata laluan. Walau bagaimanapun, kaedah ini mempunyai risiko tertentu Sila pastikan anda telah membuat sandaran pangkalan data dan beroperasi dengan berhati-hati. Ia juga disyorkan untuk menetapkan kata laluan yang kuat dan menukar kata laluan dengan kerap untuk meningkatkan keselamatan pangkalan data.

Atas ialah kandungan terperinci linux mysql terlupa kata laluan root. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:mysql dalam susunan pertanyaanArtikel seterusnya:mysql dalam susunan pertanyaan