Rumah  >  Artikel  >  pangkalan data  >  kata laluan mysql terlupa

kata laluan mysql terlupa

PHPz
PHPzasal
2023-05-14 10:15:3716226semak imbas

MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan yang boleh digunakan untuk penyimpanan data, pemprosesan data dan analisis data. Dalam proses menggunakan MySQL, kita mungkin menghadapi masalah terlupa kata laluan Jika masalah ini tidak ditangani tepat pada masanya, ia akan menyebabkan kesan yang tidak perlu kepada kerja dan data kita. Dalam artikel ini, saya akan memperkenalkan pembaca tentang cara menangani masalah jika anda terlupa kata laluan MySQL anda.

Pertama, kita perlu memahami cara kata laluan MySQL disimpan. MySQL menyimpan kata laluan sebagai rentetan cincang yang disulitkan Proses ini dicapai menggunakan fungsi penyulitan SHA1() dan rentetan rawak yang dipanggil Salt. Memandangkan proses penyulitan ini tidak dapat dipulihkan, kami mesti mengambil beberapa langkah khusus untuk memulihkan kata laluan MySQL.

Seterusnya, saya akan memperkenalkan kepada pembaca beberapa kaedah yang biasa digunakan untuk memulihkan kata laluan MySQL:

Kaedah 1: Gunakan pengguna root untuk menukar kata laluan

Jika anda mempunyai kebenaran root , Anda boleh menggunakan langkah berikut untuk menukar kata laluan:

1 Log masuk ke pelayan MySQL sebagai root

mysql -u root -p

2

3 .Masukkan baris arahan MySQL

4 Selepas memasukkan baris arahan mysql, gunakan arahan berikut untuk menukar kata laluan pengguna root:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');

Sila gantikan "new_password" dengan Kata laluan baharu yang anda ingin tetapkan dan pastikan anda menambah koma bertitik di hujung baris arahan MySQL

5. Keluar dari MySQL dan log masuk semula dengan yang baharu kata laluan

Apabila menggunakan MySQL, pengguna root mempunyai keizinan tertinggi, jadi jika anda mengetahui kata laluan pengguna root, menukar kata laluan MySQL menjadi sangat mudah.

Kaedah 2: Tetapkan semula kata laluan MySQL

Jika anda tidak boleh menukar kata laluan melalui pengguna root, atau tidak mengetahui kata laluan root langsung, maka menetapkan semula kata laluan MySQL mungkin pilihan terbaik anda. Berikut adalah dua kaedah yang biasa digunakan untuk menetapkan semula kata laluan MySQL:

Kaedah 1: Gunakan skip-grant-tables untuk menetapkan semula kata laluan MySQL

Kaedah ini akan melangkau proses pengesahan pengguna MySQL, Dan membolehkan anda untuk log masuk ke MySQL tanpa memberikan kata laluan. Berikut ialah langkah khusus:

1 Hentikan perkhidmatan MySQL

sudo systemctl stop mysql

2. Jalankan arahan berikut untuk melangkau proses pengesahan pengguna MySQL:

sudo mysqld_safe --skip-grant-tables &

3 Log masuk ke pelayan MySQL sebagai root

mysql -u root

4 arahan untuk menukar kata laluan:

mysql> UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';

Sila gantikan "new_password" dengan kata laluan baharu yang anda ingin tetapkan dan pastikan anda menambah koma bertitik di hujung baris arahan MySQL ;

5. Muat semula jadual mysql .user

mysql> FLUSH PRIVILEGES;

6. Keluar dari MySQL dan mulakan semula MySQL >7. Log masuk ke MySQL sekali lagi menggunakan kata laluan baharu

Kaedah 2: Gunakan skrip tetapan semula untuk menetapkan semula kata laluan MySQL sudo systemctl start mysql

Kaedah ini memerlukan anda menjalankan skrip sebagai root dan anda perlu mengetahui lokasi fail data MySQL. Berikut ialah langkah khusus:

1 Hentikan perkhidmatan MySQL

2 Cari fail data MySQL

MySQL menyimpan fail data secara lalai Dalam direktori /var/lib/mysql. Lokasi sebenar fail data boleh didapati dengan melaksanakan arahan berikut: sudo systemctl stop mysql

3. Buat skrip tetapan semula

Sila gunakan arahan berikut untuk menyimpan kod berikut untuk resetmysql.sh Dalam fail: sudo find / -name "*.frm"

#!/bin/bash
/usr/sbin/mysqld --skip-grant-tables --skip-networking  &
sleep 5s

mysql -u root <<EOF
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
FLUSH PRIVILEGES;
EOF

killall mysqld
sleep 5s
/usr/sbin/mysqld --skip-networking &

Sila gantikan "new_password" dengan kata laluan baharu yang anda ingin tetapkan.

4. Jalankan skrip untuk menetapkan semula kata laluan MySQL

Jalankan skrip tetapan semula dengan keistimewaan root menggunakan arahan berikut:

5. . Mulakan MySQL

sudo bash resetmysql.sh

6 Log masuk ke MySQL sekali lagi dengan kata laluan baharu

Pada ketika ini, pembaca sepatutnya sudah mengetahui dua kaedah berikut untuk menyelesaikannya. masalah terlupa kata laluan MySQL: Gunakan pengguna root Tukar kata laluan dan gunakan skrip tetapan kata laluan MySQL untuk menetapkan semula kata laluan. sudo systemctl start mysql

Kesimpulan:

Apabila kami menggunakan MySQL sebagai pangkalan data, terlupa kata laluan adalah masalah biasa. Artikel ini memperkenalkan dua penyelesaian yang boleh dilaksanakan untuk menyelesaikan masalah terlupa kata laluan dalam MySQL. Jika anda seorang pengguna tanpa pengalaman MySQL, jangan ubah suai fail konfigurasi MySQL sesuka hati. Jika anda tidak begitu biasa dengan kaedah yang diperkenalkan di atas, sila berunding dengan profesional untuk membantu menyelesaikan masalah yang berkaitan.

Atas ialah kandungan terperinci kata laluan mysql terlupa. 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:kecekapan pertanyaan mysqlArtikel seterusnya:kecekapan pertanyaan mysql