解决Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
根据我上一篇文章centos编译安装nginx+php-fpm+mysql,在启动了mysql之后,php无法连接到mysql,并且会报Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)这个错误,直到今天我才找到解决方法.
系统:centos 5.5
1.使用php文件来测试php是否连接上了mysql
vi tt.php
<?php
$link=mysql_connect("localhost","root","passwd");
if(!$link) echo "bad!" ;
else echo "ok!" ;
mysql_close();
?>
在使用这个php文件的时候,最好是打开php错误页面,打开方法:
vi /etc/php.ini
display_errors = Off 改成display_errors = On
保存退出后重启nginx和php-fpm.
当访问http://ip或域名/tt.php的时候,可以看到页面有php的报错信息.
再使用phpinfo来看mysql的sock地址是指向哪里的,如图
可以看到这里php认为mysql sock的地址是/tmp下,但我编译的时候是让mysql sock的路径在/var/lib/mysql下的,如果你是懒人的话可以使用下面的命令来解决
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
重启下mysql,然后再使用tt.php来检查php和mysql是否连接上了.
2.如果你不想使用软链接来解决的话,跟我一样是个有特殊要求的人,那可以使用下面的方法来解决:
在/etc/php.ini里找到mysql.default_socket这项
vi /etc/php.ini
mysql.default_socket =
修改为
mysql.default_socket = /var/lib/mysql/mysql.sock
保存退出后,再检查/etc/my.cnf
确认下
[client]
socket = /var/lib/mysql/mysql.sock
[mysqld]
socket = /var/lib/mysql/mysql.sock
重启下mysql和php-fpm.
3.验证
再访问http://ip或域名/tt.php看是否为ok,如果还有报错请检查上面的步骤.
系统:centos 5.5
1.使用php文件来测试php是否连接上了mysql
vi tt.php
<?php
$link=mysql_connect("localhost","root","passwd");
if(!$link) echo "bad!" ;
else echo "ok!" ;
mysql_close();
?>
在使用这个php文件的时候,最好是打开php错误页面,打开方法:
vi /etc/php.ini
display_errors = Off 改成display_errors = On
保存退出后重启nginx和php-fpm.
当访问http://ip或域名/tt.php的时候,可以看到页面有php的报错信息.
再使用phpinfo来看mysql的sock地址是指向哪里的,如图
可以看到这里php认为mysql sock的地址是/tmp下,但我编译的时候是让mysql sock的路径在/var/lib/mysql下的,如果你是懒人的话可以使用下面的命令来解决
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
重启下mysql,然后再使用tt.php来检查php和mysql是否连接上了.
2.如果你不想使用软链接来解决的话,跟我一样是个有特殊要求的人,那可以使用下面的方法来解决:
在/etc/php.ini里找到mysql.default_socket这项
vi /etc/php.ini
mysql.default_socket =
修改为
mysql.default_socket = /var/lib/mysql/mysql.sock
保存退出后,再检查/etc/my.cnf
确认下
[client]
socket = /var/lib/mysql/mysql.sock
[mysqld]
socket = /var/lib/mysql/mysql.sock
重启下mysql和php-fpm.
3.验证
再访问http://ip或域名/tt.php看是否为ok,如果还有报错请检查上面的步骤.
socket '/tmp/mysql.sock' (2) - 夜空 <Liked it!