OSX 上的MySQL 使用者表密碼列差異
嘗試在macOS 上更改MySQL root 密碼時,使用者可能會遇到錯誤,指示“mysql.user”表中不存在“password”列。這可能會令人困惑,因為「密碼」欄位通常與在 MySQL 資料庫中儲存使用者密碼相關。
造成這種差異的原因是,在 MySQL 5.7 中,「密碼」欄位已從「密碼」欄位中刪除。 mysql.user' 表並替換為 'authentication_string' 列。進行此更改是為了透過使用更新且更安全的雜湊演算法儲存密碼來增強安全性。
要在使用MySQL 5.7 的macOS 上變更MySQL root 密碼,請依照下列步驟操作:
開啟終端機視窗並鍵入下列步驟以使用「mysql」指令行連接到MySQL client:
mysql -uroot -p
如果'mysql.user' 表中不存在'authentication_string' 列,使用以下命令建立它:
ALTER TABLE mysql.user ADD authentication_string TEXT;
更新SQLSQL命令將“authentication_string”列設定為新密碼來更改root使用者的密碼:
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE user='root';
刷新 MySQL 權限以應用變更:
FLUSH PRIVILEGES;
退出 MySQL client:
exit
您現在應該可以使用新的 root 密碼登入 MySQL。此變更可讓您增強 MySQL 安裝的安全性,同時仍保留使用者密碼管理功能。
以上是為什麼我的 MySQL `mysql.user` 表在 macOS 上沒有 `password` 欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!