簡體   English   中英

Wordpress錯誤:(HY000 / 1045):用戶'root'@'localhost'的訪問被拒絕(使用密碼:是)1538行上的wp-db.php

[英]Wordpress error: (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) wp-db.php on line 1538

當我嘗試訪問我的wordpress網站的wp-admin時,出現以下錯誤消息:

錯誤信息

我已經使用Wampserver設置了本地服務器,並且在一開始就可以正常工作,但是現在每當我嘗試轉到以下位置時,就會出現此錯誤消息:localhost / wordpress / wp-admin。

我試圖更改密碼,但沒有幫助。 我還在錯誤消息提示的情況下在wp-db.php中查找了1538行,但看不到問題。 看起來像這樣:

if ( WP_DEBUG ) {
    mysqli_real_connect( $this->dbh, $host, $this->dbuser, $this->dbpassword, null, $port, $socket, $client_flags );
} else {
    @mysqli_real_connect( $this->dbh, $host, $this->dbuser, $this->dbpassword, null, $port, $socket, $client_flags );
}

希望可以有人幫幫我!

此錯誤與wp-db.php中的1538行無關。 此行代碼僅嘗試使用您提供的憑據建立連接。 該錯誤很可能與您的wp-config.php文件中提供的密碼有關。

嘗試使用wp-config.php文件中提供的憑據直接登錄到MySQL服務器,並查看它們是否正常運行。

您應該能夠使用Windows中的“ MySQL命令行客戶端”在本地連接到MySQL實例,以便測試密碼。

這對我有用:編輯wp.config.php,替換

define ('DB_HOST', 'localhost');

define ('DB_HOST', '127.0.0.1');

我通過讓wordpress處理該問題來解決了這一問題。 只需對wp-config-sample不執行任何操作,然后繼續執行wordpress安裝即可。 然后,WordPress將自動創建wp-config,詢問數據庫名稱,用戶名和密碼。

打開wp-config.php文件,查看如何設置MySQL用戶和密碼。

/** MySQL database username */
define('DB_USER', 'bn_wordpress');

/** MySQL database password */
define('DB_PASSWORD', 'xxxxxx');

對於mysql-server-5.7(我相信較早的版本沒有這個問題)到目前為止,根據我的經驗,從頭開始:

讓我們從一開始就開始:

cd /var/www/html/
wget https://wordpress.org/latest.tar.gz 
tar -xvzf latest.tar.gz
sudo chown -R www-data:www-data /var/www/html/wordpress

這將下載,提取並修復任何文件許可/所有權問題。

現在我們必須修復mysql_native_password問題

SELECT user,authentication_string,plugin,host FROM mysql.user;

您將看到這樣的表格:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

然后運行:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

其中“密碼”是您設置的根密碼。

完成此操作后,運行:

FLUSH PRIVILEGES;
SELECT user,authentication_string,plugin,host FROM mysql.user;

您應該在其中看到您的root密碼。

這樣可以解決問題。

另外,您將遇到與phpMyAdmin完全相同的問題,因此,與上述相同的使用“ mysql_native_password”和更改用戶以及文件/文件夾所有權的概念將解決這些問題。

希望這會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM