首頁 > 資料庫 > mysql教程 > 為什麼我的 MySQL `mysql.user` 表在 macOS 上沒有 `password` 欄位?

為什麼我的 MySQL `mysql.user` 表在 macOS 上沒有 `password` 欄位?

Patricia Arquette
發布: 2024-11-29 10:20:10
原創
819 人瀏覽過

Why Doesn't My MySQL `mysql.user` Table Have a `password` Column on macOS?

OSX 上的MySQL 使用者表密碼列差異

嘗試在macOS 上更改MySQL root 密碼時,使用者可能會遇到錯誤,指示“mysql.user”表中不存在“password”列。這可能會令人困惑,因為「密碼」欄位通常與在 MySQL 資料庫中儲存使用者密碼相關。

造成這種差異的原因是,在 MySQL 5.7 中,「密碼」欄位已從「密碼」欄位中刪除。 mysql.user' 表並替換為 'authentication_string' 列。進行此更改是為了透過使用更新且更安全的雜湊演算法儲存密碼來增強安全性。

要在使用MySQL 5.7 的macOS 上變更MySQL root 密碼,請依照下列步驟操作:

  1. 開啟終端機視窗並鍵入下列步驟以使用「mysql」指令行連接到MySQL client:

    mysql -uroot -p
    登入後複製
  2. 出現提示時輸入目前的 MySQL root 密碼。
  3. 如果'mysql.user' 表中不存在'authentication_string' 列,使用以下命令建立它:

    ALTER TABLE mysql.user ADD authentication_string TEXT;
    登入後複製
  4. 更新SQLSQL命令將“authentication_string”列設定為新密碼來更改root使用者的密碼:

    UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE user='root';
    登入後複製
  5. 刷新 MySQL 權限以應用變更:

    FLUSH PRIVILEGES;
    登入後複製
  6. 退出 MySQL client:

    exit
    登入後複製

您現在應該可以使用新的 root 密碼登入 MySQL。此變更可讓您增強 MySQL 安裝的安全性,同時仍保留使用者密碼管理功能。

以上是為什麼我的 MySQL `mysql.user` 表在 macOS 上沒有 `password` 欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板