当前位置:Gxlcms >
数据库问题 >
《Web集群实战》第6章MySQL搭建WordPress遇到“建立数据库连接时出错”的问题
《Web集群实战》第6章MySQL搭建WordPress遇到“建立数据库连接时出错”的问题
时间:2021-07-01 10:21:17
帮助过:21人阅读
MySQL 5.7.24搭建WordPress遇到报错“建立数据库连接时出错”的问题:
![技术图片](https://s1.51cto.com/images/blog/201904/07/2c74ddc07d4d368e4c6e48ef21db3f7c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
已经做了wordpress库的创建和授权,数据库连接信息的填写也跟《Web集群实战》书上安装WordPress的方法是一样的:
![技术图片](https://s1.51cto.com/images/blog/201904/07/a46d75671287c6733120339b45bcfc86.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
1、首先怀疑是数据库命令哪里敲错了,重新检查了一遍,没有发现错误。
2、下载phpMyAdmin管理工具,对MySQL数据库连接进行测试,提示“无法登录MySQL 服务器”,说明是数据库连接的问题。
3、查阅资料,得知:
连接MySQL数据库有两种方式:TCP/IP(一般理解的端口的那种)和Unix套接字(一般叫socket或者sock)。大部分情况下,可以用localhost代表本机127.0.0.1,但是在MySQL连接时,二者不可混用,而且MySQL中权限设置中localhost与127.0.0.1也是分开设置的。当设置为127.0.0.1时,系统通过TCP/IP方式连接数据库;当设置为localhost时,系统通过socket方式连接数据库。
由于我配置的localhost默认是sock方式连接。所以有两种思路,要么修复sock方式,要么改用TCP/IP方式。
4、解决数据库连接问题:
(1)改用TCP/IP方式连接MySQL,最简单:
原来填写的数据库主机名是localhost
![技术图片](https://s1.51cto.com/images/blog/201904/07/f24c473eddd9c6864f41e239107e8944.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
把数据库主机名改成127.0.0.1就行了
![技术图片](https://s1.51cto.com/images/blog/201904/07/4c765e16cbe1eba1cea2dff1caf9a849.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
其他都不用改,直接点提交,已经可以了。
![技术图片](https://s1.51cto.com/images/blog/201904/07/36e6775f7ba9279a9e58a9486975314b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(2)修复socket方式,修改php.ini来连接MySQL:
通过phpinfo()查看,发现mysqli模块和pdo_mysql模块下的默认socket路径不一致,应该是编译时写错或没配。
![技术图片](https://s1.51cto.com/images/blog/201904/07/a77b077094b2942fb38b3e5f012a0c29.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![技术图片](https://s1.51cto.com/images/blog/201904/07/093ae65c7fe4eab083fd1ba66c05d866.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
两个mysql.sock的路径不一致,导致mysql无法通信。于是打开php.ini,修改mysqli.default_socket、pdo_mysql.default_socket 的值为/application/mysql/data/mysql.sock:
pdo_mysql.default_socket=/application/mysql/data/mysql.sock
mysqli.default_socket=/application/mysql/data/mysql.sock
保存修改后重启php。再使用localhost连接就可以了。
![技术图片](https://s1.51cto.com/images/blog/201904/07/2f030fc67219be3c0bb1f4fd006dc263.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
《Web集群实战》第6章MySQL搭建WordPress遇到“建立数据库连接时出错”的问题
标签:rdp socket color 遇到 127.0.0.1 资料 mysql cal 最简