[英]SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES) error occurs
[英]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.