錯誤 1045 (28000) 用戶 root localhost 的訪問被拒絕(已解決)
已發表: 2023-03-14“Error 1045 (28000) access denied for user root localhost”是嘗試通過 WordPress CMS 訪問 MySQL 時經常遇到的錯誤。 但是,此錯誤也可能發生在其他情況下。
您遇到的錯誤表明“root”用戶不具備從本地主機訪問數據庫所需的權限。 此問題背後的原因可能有多種,包括密碼不正確、用戶名不正確或授予用戶的權限不足。
以下是您可以採取的一些步驟來解決此錯誤
1.檢查用戶名和密碼
確保您使用的是正確的用戶名和密碼。 用戶名應為“root”,密碼應為您在安裝過程中設置的密碼。
如果您使用的是 WordPress,則必須檢查wp-config.php文件。 該文件可以在 WordPress 的主文件夾中找到。
打開文件並嘗試對其進行編輯(Visual Studio Code)後,您將看到以下屏幕:
檢查 DB_USER 和 DB_PASSWORD 是否有正確的值
/** Database username */ define( 'DB_USER', 'root' );
/** Database password */ define( 'DB_PASSWORD', 'root' );
如果您不知道哪個是數據庫的用戶名和密碼,請訪問 cPanel > 數據庫 > Mysql 並檢查它。
要更改 WordPress 數據庫的密碼,請按照教程:在 PHPMyAdmin 中更改 WordPress 密碼
2.檢查用戶是否有需要的權限
檢查用戶“root”是否具有訪問數據庫的必要權限。
第 1 步:首先,您必須打開終端並輸入 ssh [email protected]
ssh [email protected]
Step2:登錄成功後記下這條命令
mysql -uroot -p
第 3 步:添加密碼後,您可以從 mysql 提示符開始添加命令
Step4:可以使用以下命令查看權限:
SHOW GRANTS FOR 'root'@'localhost';
這將向您顯示用戶“root”對“localhost”服務器的權限列表。 如果用戶沒有必要的權限,您可以使用以下命令授予他們:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password';
注意:將“密碼”替換為您要使用的密碼。
要使用 phpMyAdmin 檢查用戶是否具有所需的權限,請執行以下步驟:
- 登錄到您的 phpMyAdmin 帳戶。
- 單擊“用戶帳戶”選項卡。
- 選擇用戶根(或您要更改密碼的用戶)
- 單擊編輯權限鏈接
- 在這裡您可以看到已授予用戶的權限列表。
- 確保用戶已被授予訪問數據庫所需的權限。
- 如果用戶沒有所需的權限,您可以通過選中相關複選框並單擊“開始”按鈕來授予他們。
- 授予所需權限後,再次嘗試訪問數據庫以查看問題是否已解決。
應檢查突出顯示區域中的設置:
注意:如果您無法通過 phpMyAdmin 授予必要的權限,您可能需要訪問 MySQL 命令行界面來授予權限。
3.查看MySQL服務器狀態
確保 MySQL 服務器正在運行。 您可以在登錄服務器 shell 後運行以下命令來檢查服務器狀態:
systemctl status mysql
如果服務器未運行,請使用以下命令啟動它:
systemctl start mysql
要檢查 cPanel 託管上的 Mysql 狀態,您必須登錄到託管儀表板。 另一種方法是直接聯繫您的託管服務提供商。
4、檢查MySQL服務器是否監聽了正確的端口
確保 MySQL 服務器正在偵聽正確的端口。 MySQL 的默認端口是3306 。
要檢查 MySQL 服務器是否正在監聽正確的端口,您可以按照以下步驟操作:
1. 在安裝了 MySQL 的服務器上打開終端或命令提示符。
2.使用命令行客戶端連接到MySQL服務器。 您可以使用以下命令,將username
和password
替換為您的實際 MySQL 憑據:
mysql -u username -p
3. 連接到 MySQL 服務器後,鍵入以下命令以顯示 MySQL 服務器正在偵聽的端口號:
SHOW VARIABLES LIKE 'port';
此命令將顯示 MySQL 服務器正在偵聽的端口號。 默認情況下,MySQL 偵聽端口 3306。
您也可以在 MySQL 配置文件中查看端口號。
配置文件通常命名為my.cnf
或my.ini
,它位於 MySQL 安裝目錄中。
找到MySQL的安裝目錄,可以按照以下步驟進行:
1. 在安裝了 MySQL 的服務器上打開終端或命令提示符。
2. 鍵入以下命令檢查是否安裝了 MySQL:
which mysql
如果安裝了 MySQL,此命令將顯示mysql
可執行文件的路徑,否則您將收到一條錯誤消息。
如果安裝了MySQL,可以再次使用which
命令找到安裝目錄。 鍵入以下命令,將/path/to/mysql
替換為mysql
可執行文件的路徑:
which mysql | xargs readlink -f | sed "s|bin/mysql$||"
此命令將顯示 MySQL 安裝目錄。 您可以使用此目錄來定位 MySQL 配置文件( my.cnf
或my.ini
)以及其他 MySQL 文件和目錄。
或者,如果您可以訪問 MySQL 客戶端,也可以執行以下查詢來查找 MySQL 安裝目錄:
SELECT @@basedir;
這將顯示 MySQL 安裝目錄。
您還可以檢查 MySQL 配置文件以驗證 MySQL 配置為偵聽的端口號。 配置文件通常命名為my.cnf或my.ini ,它位於 MySQL 安裝目錄中。
使用文本編輯器打開配置文件並蒐索端口參數。 此參數的值指定 MySQL 配置為偵聽的端口號。
如果 MySQL 服務器沒有偵聽正確的端口,您可以更改配置文件中的端口參數並重新啟動 MySQL 服務器以應用更改。
如果更改了端口,不要忘記重啟 Mysql 服務:
service mysql restart
5.重置root密碼
如果上述步驟均無效,您可以嘗試重置 root 密碼。 您可以按照本文中的步驟執行此操作:
https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html
注意:此方法要求您有權訪問 MySQL 配置文件並能夠重新啟動 MySQL 服務器。
您可能有興趣閱讀:
如何修復 WordPress 上的“安裝失敗:無法創建目錄”錯誤
如何修復 WordPress 卡在維護模式(已解決)
如何修復“更新失敗。 響應不是有效的 JSON 響應”
如何修復“建立數據庫連接時出錯”? – 2023
作為 Codeless 的聯合創始人之一,我帶來了開發 WordPress 和 Web 應用程序方面的專業知識,以及有效管理託管和服務器的記錄。 我對獲取知識的熱情以及對構建和測試新技術的熱情驅使我不斷創新和改進。