嘗試時發生此錯誤從特定使用者和主機存取資料庫,但由於憑證無效或缺少使用者而被拒絕權限。
1.資料庫使用者存在
驗證指定使用者(「test2」)是否存在於 MySQL 資料庫中。執行下列查詢:
SELECT user, host FROM mysql.user;
尋找「user」為「test2」且「host」為「localhost」或通配符(「%」)的行,如錯誤訊息所示。
2。密碼驗證
如果資料庫使用者存在,請檢查密碼是否與連線要求中使用的密碼相符。如有必要,請變更密碼:
SET PASSWORD FOR 'test2'@'localhost' = PASSWORD('new_password');
1.檢查權限
確認資料庫使用者對所需資料庫物件擁有足夠的權限。例如,要授予「jobs」資料庫的 SELECT 權限:
GRANT SELECT ON jobs.* TO 'test2'@'localhost';
2.刷新權限
修改權限表後,執行FLUSH PRIVILEGES語句使變更生效:
FLUSH PRIVILEGES;
1.主機不符
確保連線要求中指定的主機(「 localhost」)與資料庫中與使用者關聯的主機相符。將主機更改為“localhost”或“%”。
2.防火牆阻止
暫時停用防火牆以檢查它是否阻止了指定連接埠上對 MySQL 的存取。如有必要,請調整連線請求中的連接埠。
3.使用者名稱或密碼錯誤
仔細檢查連線請求中使用的資料庫使用者名稱和密碼。
以上是如何解決 MySQL 錯誤 1045:存取被拒絕?的詳細內容。更多資訊請關注PHP中文網其他相關文章!