小故障处理之wordpress数据连接失败

今天迁移了一个wordpress网站,最后一步修改配置数据库信息后,打开网页出现了,出现了这个错误。

一开始,我以为是账号和密码不匹配,然后在服务器里使用 mysql 命令进行了测试,发现没有问题。

wordpress 关于数据库和密码的配置一共就三个

  1. 用户名
  2. 密码
  3. 主机

既然用户名和密码没有问了,那一定是 主机问题了,主机我看写的是 localhost , 就应 ping 了一下

发现解析解析是 ipv6的地址。这个倒没有发现什么问题。

使用 localhost 和 127.0.0.1 的区别

【重要】使用localhost 使用的 socket 连接, 使用 127.0.0.1 使用的 tcp 连接

方案1使用 localhost 连接怎么写

mysql -e "SHOW VARIABLES LIKE 'socket';"
+---------------+---------------------------+
| Variable_name | Value                     |
+---------------+---------------------------+
| socket        | /var/lib/mysql/mysql.sock |
+---------------+---------------------------+

首先查看 socket 在哪里

define('DB_HOST', 'localhost:/var/lib/mysql/mysql.sock');

/var/lib/mysql/mysql.sock 是必须吗?

不一定,如果php的运行环境中 mysql socket 配置和mysql的配置 socket 位置一致就不用写

php -i | grep -i "mysql.*socket"
mysqli.default_socket => no value => no value
pdo_mysql.default_socket => /tmp/mysql.sock => /tmp/mysql.sock

方案2 使用 127.0.0.1

define( 'DB_HOST', '127.0.0.1' );

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注