Wordpress错误:(HY000 / 1045):拒绝访问用户&root;' @' localhost' (使用密码:YES)第1538行的wp-db.php

时间:2017-03-20 22:00:06

标签: php wordpress

当我尝试访问我的wordpress网站的wp-admin时收到此错误消息:

Error message

我已经使用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 );
}
希望有人可以帮助我!

5 个答案:

答案 0 :(得分:2)

此错误与wp-db.php中的第1538行无关。 这行代码只是尝试使用您提供的凭据建立连接。 使用wp-config.php文件中提供的密码可能会出错。

尝试使用wp-config.php文件中提供的凭据直接登录MySQL服务器,看看它们是否正常工作。

您应该可以使用Windows中的“MySQL命令行客户端”在本地连接到您的MySQL实例,以测试您的密码。

答案 1 :(得分:0)

这对我有用:编辑w-p.config.php,替换

define ('DB_HOST', 'localhost');

define ('DB_HOST', '127.0.0.1');

答案 2 :(得分:0)

我通过让wordpress处理问题来解决这个问题。在wp-config-sample上什么也不做,继续wordpress安装。然后wordpress将自动创建wp-config询问db名称,用户和密码。

答案 3 :(得分:0)

打开wp-config.php文件,查看如何设置MySQL用户和密码。

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

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

答案 4 :(得分:0)

对于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”和更改用户以及文件/文件夹所有权的概念将解决这些问题。

希望这会有所帮助。