錯誤:#1045 - 使用者'root'@'localhost' 存取被拒絕(使用密碼:YES)
問題
使用者遇到嘗試使用root 使用者和密碼(通常透過MySQL 控制台或phpMyAdmin)連接到MySQL 時出現存取拒絕錯誤。設定檔 config.inc.php 設定了正確的憑證,但登入仍然失敗。
解決方案
要解決此問題,請按照以下步驟操作:
-
更改Root密碼:
使用命令提示符運行mysql -u root -p以root用戶連接MySQL。如果提示輸入密碼,請輸入您現有的密碼,如果 config.inc.php 中的 AllowNoPassword 選項設為 true,則將其留空。
-
更新密碼:
連線後,執行下列指令更新root 密碼:
UPDATE mysql.user SETauthentication_string=PASSWORD('MyNewPass') WHERE User='root';
將'MyNewPass' 替換為您的新密碼。
-
編輯config.inc.php:
使用新密碼更新config.inc.php 的伺服器部分中的密碼欄位:
$cfg['Servers'][ $i] ['password'] = 'MyNewPass';
-
重新啟動MySQL 服務:
停止然後重新啟動MySQL 服務。
-
驗證連線:
嘗試使用更新後的密碼再次登入MySQL。
附加說明
- 如果使用MySQL 5.7版本或更高版本,應使用authentication_string而不是 SQL 更新命令中的密碼。
- 如果問題仍然存在,請驗證 MySQL 服務是否正確運行,並且沒有防火牆或防毒限制阻止連線。
- 考慮創建單獨的使用 phpMyAdmin 的權限有限的用戶,而不是使用 root 用戶。
以上是為什麼我在以 root 身分連接到 MySQL 時收到「存取被拒絕」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!