Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 PHP站点提示“/var/lib/mysql/mysql.sock”不存在的解决方法

PHP站点提示“/var/lib/mysql/mysql.sock”不存在的解决方法

发布时间:2017-09-16   编辑:www.jquerycn.cn
运行php的站点,提示/var/lib/mysql/mysql.sock不存在,这里分享下我的解决方法,有需要的朋友参考下。

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,至少增加(修改)一行
 

复制代码 代码示例:
[mysql]
[client]
socket = /tmp/mysql.sock
#在这里写上mysql.sock的正确位置,通常不是在 /tmp/ 下就是在 /var/lib/mysql/ 下

2、修改连接方式:
指定IP地址,使用tcp方式连接mysql,而不使用本地sock方式
 

复制代码 代码示例:
#mysql -h127.0.0.1 -uuser -ppassword

3、创建链接
为 mysql.sock 加个链接,比如说实际的mysql.sock在 /tmp/ 下,则键入命令:
 

复制代码 代码示例:
#ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

以上三种解决方法,任选其一均可解决问题,完成后重启php、nginx(或apache)即可。

您可能感兴趣的文章:
PHP站点提示“/var/lib/mysql/mysql.sock”不存在的解决方法
Linux Apache Mysql PHP典型配置
php error Can't connect to local MySQL server...的解决方法
mysql启动故障一例
Can't connect to local MySQL server through socket 问题的解决方法
MySQL与phpMyAdmin中文乱码的解决方法
mysqli连接提示 Warning: mysqli::mysqli(): (HY000/2002): No such file or directory
ERROR 2002 (HY000): Can't connect to local MySQL
ubuntu下mysql配置
mysql.sock文件不见了问题的解决方法

[关闭]