apache/ target=_blank class=infotextkey>apache服务器环境,运行着php开发的站点,速度突然很慢,连ssh连接缓慢,提示错误:
[Type] 无法连接到数据库服务器
[2002] Can’t connect to local mysql server through socket ‘/var/lib/mysql/mysql.sock’ (13)
类似的问题,出现了无法连接数据库的问题,服务器依然很慢。
问题分析:
用SSH可以连接到数据库,在本地用工具也可以连接到服务器上的数据库,但是只要是PHP的网站程序都访问不了。
估计也有很多站长同学也会经常性遇到这种问题,对于新手站长,这个问题还真让人迷糊。
这多是由于mysql是使用rpm方式安装的,它会自动寻找 /var/lib/mysql/mysql.sock 这个文件,通过unix socket登录mysql。
那么这个错误就是/var/lib/mysql/下没有mysql.sock 这个文件。
解决办法:
1、修改mysql.sock位置:
创建(修改)文件 /etc/my.cnf,至少增加(修改)一行
2、修改连接方式:
指定IP地址,使用tcp方式连接mysql,而不使用本地sock方式
3、创建链接
为 mysql.sock 加个链接,比如说实际的mysql.sock在 /tmp/ 下,则键入命令:
以上三种解决方法,任选其一均可解决问题,完成后重启php、nginx(或apache)即可。