当我尝试访问 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 );
}
Run Code Online (Sandbox Code Playgroud)
希望可以有人帮帮我!
小智 5
对于 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
Run Code Online (Sandbox Code Playgroud)
这将下载、提取和修复任何文件权限/所有权问题。
现在我们必须修复 mysql_native_password 问题
SELECT user,authentication_string,plugin,host FROM mysql.user;
Run Code Online (Sandbox Code Playgroud)
你会看到一个表格:
+------------------+-------------------------------------------+-----------------------+-----------+
| 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 |
+------------------+-------------------------------------------+-----------------------+-----------+
Run Code Online (Sandbox Code Playgroud)
然后运行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Run Code Online (Sandbox Code Playgroud)
其中 'password' 是您设置的 root 密码。
执行此操作后,运行:
FLUSH PRIVILEGES;
SELECT user,authentication_string,plugin,host FROM mysql.user;
Run Code Online (Sandbox Code Playgroud)
您应该在里面看到您的 root 密码。
这将解决问题。
此外,您将遇到与 phpMyAdmin 完全相同的问题,因此与“mysql_native_password”和更改您的用户以及文件/文件夹所有权的相同概念将解决这些问题。
希望这有帮助。