首頁  >  文章  >  資料庫  >  為什麼我在 Ubuntu 16.04 上的 MySQL 使用者「root」會出現「存取被拒絕」?

為什麼我在 Ubuntu 16.04 上的 MySQL 使用者「root」會出現「存取被拒絕」?

Linda Hamilton
Linda Hamilton原創
2024-11-02 12:56:30305瀏覽

Why Am I Getting

使用Ubuntu 16.04 時MySQL 使用者「root」的存取被拒絕

嘗試從Ubuntu 16.04 上的Web 資料庫連接到,使用者可能會遇到以下錯誤:

SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'

出現此問題的原因是,在MySQL 5.7 中,預設驗證機制已更改,如果沒有提升權限,則無法再存取root 使用者。

解決方案:

要解決此錯誤,用戶必須建立一個具有必要權限的新 MySQL 用戶,而不是使用 root 用戶。以下步驟概述了這個流程:

  1. 建立新的 MySQL 使用者:
sudo mysql -u root -p
出現提示時輸入您的 root 密碼。
CREATE USER new_user@localhost IDENTIFIED BY 'new_password';
將「new_user」替換為所需的使用者名,將「new_password」替換為強密碼。
  1. 授予新使用者權限:
GRANT ALL PRIVILEGES ON *.* TO new_user@localhost;
這將授予新使用者對所有資料庫和資料表的完全存取權。
  1. 設定Web 伺服器以使用新使用者:

修改所提供問題中的PHP 程式碼以使用新建立的使用者憑證,將' root' 替換為'new_user',將'root' 替換為'new_password'。

  1. 刷新權限:
FLUSH PRIVILEGES;
這將使用所做的更改更新權限表。
  1. 退出MySQL:
EXIT;

透過執行下列步驟,使用者可以從Ubuntu 16.04 上的Web 資料庫連接到不會遇到“訪問被拒絕”錯誤。

以上是為什麼我在 Ubuntu 16.04 上的 MySQL 使用者「root」會出現「存取被拒絕」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn