昨天进行公司网站迁移,涉及discuz论坛。数据库什么的配置都没有问题,测试的时候就显示2002,无法连接数据库,查看服务器mysql进程正常启动,nginx的访问日志也正常,数据库也没有报错信息。各种查资料,网上有好多说是跟服务器硬件有关,类似内存资源不足的情况,可是我这里并没有这样的情况。找了一下午还是没发现是哪的问题。果断请教同事,发现问题肯定在mysql这边。
于是写了个php测试脚本。
vi test.php
<?php
phpinfo();
?>
/usr/local/php/bin/php test.php //执行php脚本
[root@499 www]# /usr/local/php/bin/php test.php
Warning: mysqli::mysqli(): (HY000/2002): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /data/www/test.php on line 2
Connect Error (2002) Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
原来是数据库客户端socket 没搞对。找到问题就比较好解决了。创建个对应的软连接即可。
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
本文由 Mr Gu 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Sep 29, 2016 at 10:43 am