Wordpress无法连接到mysql服务器

时间:2018-04-26 08:11:04

标签: mysql wordpress

我在macbook中运行了一个mysql服务器,我可以通过mysql命令mysql -u root和navicat应用程序访问它。但是,当我在我的macbook中打开一个全新的wordpress应用程序的安装页面时。在安装过程中,我得到了:

Image of MySQL error

10 个答案:

答案 0 :(得分:5)

原来我在8.0.11的MySQL版本可能不受WordPress支持(我猜)。当我将mysql版本从8.0.11切换到5.7.16时。有用。虽然很公平。

答案 1 :(得分:5)

MySQL 8.x实际上受支持,但是在创建用户名和密码时需要稍有不同的命令,因为版本8期望密码采用SHA256编码。

在创建数据库用户时,在MySQL提示符下,使用以下命令:

ALTER USER 'username’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;

所以与mysql_native_password 是主要区别。祝你好运!

答案 2 :(得分:3)

使用127.0.0.1而不是localhost

在本地安装WordPress进行插件开发/单元测试并决定使用最新版本时,我遇到了这个问题!即MySQL 8.0.11,PHP 7.1.16,WordPress 4.9.7。

我能够使用Sequel Pro桌面客户端连接到数据库,但是WordPress无法连接。

Migrating to MySQL 8.0 for Wordpress – episode 1遇到了类似的问题,提醒我在[quickstart.cloudera:21000] > use sqoop_import; Query: use sqoop_import [quickstart.cloudera:21000] > show tables; Query: show tables +--------------+ | name | +--------------+ | customers | | customers_nk | +--------------+ Fetched 2 row(s) in 0.01s [quickstart.cloudera:21000] > 上添加define('WP_DEBUG', true);

然后,上面的输出前面带有:

wp-config.php

第1531行并不能说明太多,只是有时会掩盖错误:

Warning: mysqli_real_connect(): (HY000/2002): No such file or directory in /Users/BrianHenryIE/Sites/wptest/wp-includes/wp-db.php on line 1531

另一个答案mysqli_real_connect(): (HY000/2002): No such file or directory告诉我使用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 ); } 代替127.0.0.1,我在localhostwp-config.php中进行了更改,一切正常!

答案 3 :(得分:2)

对于我来说,问题是MySQL 8.0.18设置为在WAMPserver 3.2.0的端口3308上运行

在wp-config.php中定义非标准端口

/** MySQL hostname */
define( 'DB_HOST', 'localhost:3308' );

答案 4 :(得分:1)

请勿与MySQL超级用户连接。在MySQL中创建另一个用户以在Wordpress中进行连接。

答案 5 :(得分:0)

尝试一下:

setsebool -P httpd_can_network_connect=1

答案 6 :(得分:0)

我解决我的问题的方法是在IIS服务器上更新到PHP 7.2.x,然后将此版本分配给PHPManager中的Wordpress网站(在IIS Manager中)。

这对我有用。

答案 7 :(得分:0)

在MySQL 8中,团队将default_authentication_plugin配置变量的默认值从先前的mysql_native_password更改为caching_sha2_password

这意味着当客户端连接到MySQL而未指定使用哪种密码加密方法时,MySQL会假定它正在使用caching_sha2_password。但是,当前正在使用的大多数客户端都假定使用mysql_native_password

要解决此问题,请编辑您的mysql配置文件。在Linux上,它应该位于:

/etc/my.cnf

查找并取消注释以下行:

default_authentication_plugin=mysql_native_password

如果找不到它,只需将其添加到[mysqld]下。

此更改后,您必须重新启动mysql。在CentOS 7上,您可以发出以下命令:

systemctl restart mysqld

此永久解决方案将修复所有wordpress安装的mysql连接错误。

答案 8 :(得分:0)

对于docker mysql实例

docker run --name eight-mysql -e MYSQL_ROOT_PASSWORD=password -d mysql:latest --default-authentication-plugin=mysql_native_password

答案 9 :(得分:0)

我也遇到了这个问题-MySQL数据库有问题。将数据库更改为substring(text = as.numeric(gsub("[^\\d]+", "", a, perl=TRUE)),first = 1,last = 3) [1] "123" "125" ,并且连接正常