Rumah >pangkalan data >tutorial mysql >Mengapakah Jadual `mysql.user` MySQL Saya Tidak Mempunyai Lajur `kata laluan` pada macOS?
Percanggahan Ruang Kata Laluan Jadual Pengguna MySQL pada OSX
Apabila cuba menukar kata laluan akar MySQL pada macOS, pengguna mungkin menghadapi ralat yang menunjukkan bahawa lajur 'kata laluan' tidak wujud dalam jadual 'mysql.user'. Ini boleh mengelirukan, kerana medan 'kata laluan' biasanya dikaitkan dengan menyimpan kata laluan pengguna dalam pangkalan data MySQL.
Punca percanggahan ini ialah dalam MySQL 5.7, lajur 'kata laluan' telah dialih keluar daripada ' jadual mysql.user' dan digantikan dengan lajur 'authentication_string'. Perubahan ini dibuat untuk meningkatkan keselamatan dengan menyimpan kata laluan menggunakan algoritma pencincangan yang lebih baharu dan lebih selamat.
Untuk menukar kata laluan akar MySQL pada macOS dengan MySQL 5.7, ikut langkah berikut:
Buka tetingkap terminal dan taip arahan berikut untuk menyambung ke MySQL menggunakan baris arahan 'mysql' pelanggan:
mysql -uroot -p
Jika lajur 'authentication_string' tidak wujud dalam jadual 'mysql.user', ciptanya menggunakan arahan berikut:
ALTER TABLE mysql.user ADD authentication_string TEXT;
Kemas kini kata laluan pengguna root MySQL dengan menetapkan lajur 'authentication_string' kepada kata laluan baharu menggunakan arahan berikut:
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE user='root';
Siram keistimewaan MySQL untuk menggunakan perubahan:
FLUSH PRIVILEGES;
Keluar dari MySQL pelanggan:
exit
Anda kini sepatutnya boleh log masuk ke MySQL menggunakan kata laluan akar baharu. Perubahan ini membolehkan anda meningkatkan keselamatan pemasangan MySQL anda sambil mengekalkan kefungsian pengurusan kata laluan pengguna.
Atas ialah kandungan terperinci Mengapakah Jadual `mysql.user` MySQL Saya Tidak Mempunyai Lajur `kata laluan` pada macOS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!