Rumah >pangkalan data >tutorial mysql >Mengapakah Jadual `mysql.user` MySQL Saya Tidak Mempunyai Lajur `kata laluan` pada macOS?

Mengapakah Jadual `mysql.user` MySQL Saya Tidak Mempunyai Lajur `kata laluan` pada macOS?

Patricia Arquette
Patricia Arquetteasal
2024-11-29 10:20:10749semak imbas

Why Doesn't My MySQL `mysql.user` Table Have a `password` Column on 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:

  1. Buka tetingkap terminal dan taip arahan berikut untuk menyambung ke MySQL menggunakan baris arahan 'mysql' pelanggan:

    mysql -uroot -p
  2. Masukkan kata laluan akar MySQL semasa anda apabila digesa.
  3. Jika lajur 'authentication_string' tidak wujud dalam jadual 'mysql.user', ciptanya menggunakan arahan berikut:

    ALTER TABLE mysql.user ADD authentication_string TEXT;
  4. 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';
  5. Siram keistimewaan MySQL untuk menggunakan perubahan:

    FLUSH PRIVILEGES;
  6. 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!

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