无法将 Wordpress 连接到 MySQL 数据库

Posted

技术标签:

【中文标题】无法将 Wordpress 连接到 MySQL 数据库【英文标题】:Cannot connect Wordpress to MySQL database 【发布时间】:2015-01-25 16:00:19 【问题描述】:

做一些本地网站的工作来学习 Wordpress 主题开发。

尝试通过提示设置Wordpress,也尝试通过在wp-config.php文件中手动输入信息,均无效。仍然无法连接到数据库,setup-config.php 页面返回“建立数据库连接时出错”。我已经两次、三次和四次检查了登录凭据(数据库名称、用户名、密码等),它们是完整且正确的。把wp-config.php删掉,通过网页再试一次,还是一样的结果。

mysql 确实在运行,Mac 系统偏好设置面板显示,我可以在命令行登录并运行 SQL 查询,尽管我必须以 root 身份执行此操作。我应该以 root 身份运行 MySQL 吗?

这个问题存在于 Wordpress 和我也安装的 phpMyAdmin 实例中,所以我认为这与 PHP 代码无关,它闻起来更像是权限问题。对于它的价值,我已经编辑了我的 httpd.conf 文件以在端口 80 上获取 Wordpress 并在 8081 上获取 phpMyAdmin。Apache 正在为这些站点提供应有的服务,并且 PHP 正在运行,它只是让任一站点连接到正在运行的数据库问题。

系统信息:

Mac OS X 10.9.5(小牛队)

PHP 版本 5.4.30

MySQL 版本: mysql Ver 14.12 Distrib 5.0.45,适用于 apple-darwin9.2.0 (i686),使用 EditLine 包装器

【问题讨论】:

确保在 localhost 中安装 wordpress 时设置主机:本地主机和密码:空白。 【参考方案1】:

我遇到了类似的问题,结果发现不支持 MYSQL 使用的身份验证类型。

要验证这一点,请添加

define('WP_DEBUG', true)

在 wp-config.php 中重新运行安装。您将看到一个指示是否是这种情况的条目。

如果验证方法确认问题,请尝试

mysql> CREATE USER ‘username’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;

登录mysql控制台后。

【讨论】:

【参考方案2】:

我在这个 *** page 上找到了解决方案。

默认情况下,Apache 无法向远程 MySQL 服务器发送请求。它应该被启用。

在 CentOS 6 上,解决方案是命令:

setsebool httpd_can_network_connect=1

【讨论】:

【参考方案3】:

就我而言,它就像更改 DB_HOST 一样简单,因此它在 wp-config.php 中使用了正确的主机和端口:

define('DB_HOST', '127.0.01:3306');

【讨论】:

这对我有用。我没想到会这样,但谢天谢地,这是我尝试的第一件事。 我可以通过终端连接到数据库,这让我发疯了!这救了我,谢谢。【参考方案4】:

检查你的 phpinfo();查看是否安装了 php 的 MySQL 扩展。

【讨论】:

我想是的。在“配置命令”下它说(除其他外):“--enable-mbstring”“--enable-mbregex”“--with-mysql=mysqlnd”“--with-mysqli=mysqlnd”“--没有- pear'''--with-pdo-mysql=mysqlnd'''--with-mysql-sock=/var/mysql/mysql.sock'''--with-readline=/usr'''--enable-shmop''- -with-snmp=/usr' '--enable-soap' '--enable-sockets' '--enable-sqlite-utf8' '--enable-sysvmsg' '--enable-sysvsem' '--enable- sysvshm' '--with-tidy' '--enable-wddx' '--with-xmlrpc' '--with-iconv-dir=/usr' '--with-xsl=/usr' '--enable- zend-multibyte' '--enable-zip' '--with-pcre-regex=/usr' phpinfo 是否显示已启用?应该有一个表说 MySQL Enabled。有时加载模块可能会出错,或者它可能在某处的配置文件中被禁用。如果您只想启动并运行某些东西,我建议您看看 mampstack。 啊,好吧。在 mysql 下它说: Active Persistent Links | 0 活动链接 | 0 客户端 API 版本 | mysqlnd 5.0.10 - 20111026 - $Id: c85105d7c6f7d70d609bb4c000257868a40840ab $ 这是否意味着它已启用? 我在命令行运行 php -m 得到了这个,这让我觉得它已启用:mysql mysqli mysqlnd openssl pcre PDO pdo_mysql 请注意,通过命令行运行的 PHP 和通过 Web 浏览器运行的 PHP 可能使用不同的配置文件运行。仅仅因为在命令行界面启用了某些东西并不能保证它也为 Web 版本启用。

以上是关于无法将 Wordpress 连接到 MySQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章

无法将R连接到AWS中的Bitnami服务器中托管的mysql

Wordpress 无法连接到 mysql 服务器

无法将 MySQL Workbench 连接到 RDS 实例

无法将MySQL Workbench连接到RDS实例

无法将本地 Wordpress 连接到 SQL Workbench

为啥一旦我将主机从“localhost”更新为“mydomain.com”,Wordpress 会突然连接到 MySQL 数据库服务器?