使用Ubuntu 16.04 時MySQL 使用者「root」的存取被拒絕
嘗試從Ubuntu 16.04 上的Web 資料庫連接到,使用者可能會遇到以下錯誤:
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
出現此問題的原因是,在MySQL 5.7 中,預設驗證機制已更改,如果沒有提升權限,則無法再存取root 使用者。
解決方案:
要解決此錯誤,用戶必須建立一個具有必要權限的新 MySQL 用戶,而不是使用 root 用戶。以下步驟概述了這個流程:
sudo mysql -u root -p
出現提示時輸入您的 root 密碼。
CREATE USER new_user@localhost IDENTIFIED BY 'new_password';
將「new_user」替換為所需的使用者名,將「new_password」替換為強密碼。
GRANT ALL PRIVILEGES ON *.* TO new_user@localhost;
這將授予新使用者對所有資料庫和資料表的完全存取權。
修改所提供問題中的PHP 程式碼以使用新建立的使用者憑證,將' root' 替換為'new_user',將'root' 替換為'new_password'。
FLUSH PRIVILEGES;
這將使用所做的更改更新權限表。
EXIT;
透過執行下列步驟,使用者可以從Ubuntu 16.04 上的Web 資料庫連接到不會遇到“訪問被拒絕”錯誤。
以上是為什麼我在 Ubuntu 16.04 上的 MySQL 使用者「root」會出現「存取被拒絕」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!