我在macbook中运行了一个mysql服务器,我可以通过mysql命令mysql -u root
和navicat应用程序访问它。但是,当我在我的macbook中打开一个全新的wordpress应用程序的安装页面时。在安装过程中,我得到了:
答案 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
,我在localhost
,wp-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"
,并且连接正常