我被PDO异常困住了
PDOException: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in lock_may_be_available() (line 167 of home/../includes/lock.inc).为了解决这个问题,我尝试使用命令重新创建符号链接。我在做Linux服务器。
ln -s /home/../mysql/tmp/mysql.sock /tmp/mysql.sock在执行上述sql语句时,PDO异常没有任何更改。后来,我错误地删除了mysql.sock文件中的"/home/../mysql/tmp/" (而不是在“/tmp”中)。
如何返回或重新创建mysql.sock文件。任何关于PDO异常以及如何解决它的想法。
发布于 2014-08-01 09:13:18
vi /etc/mysql/my.cnf您将在配置文件中找到顶部下面的行。
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock确保mysqld.sock在它应该在的位置我不喜欢错误消息"/tmp/mysql.sock“中的路径
既然你在这里,也要找这条线。
bind-address = 127.0.0.1如果您试图从远程位置连接,请注释这一行。
尝试本地连接(从服务器上的终端连接)
mysql -u root -p如果安全性不是您所关心的(即它是您的个人服务器,而不是多用户环境),您还可以确保该文件为任何人所读
chmod a+r /var/run/mysqld/mysqld.sock以上所有这些都应该可以解决您的连接问题。要获得该文件,您可以重新安装mysql服务器。
apt-get purge mysql-server
apt-get install mysql-server或者您可以下载mysql服务器.deb包,提取它,然后在其中的某个地方找到它。如果您使用的是RHL,则等效为.rpm。
编辑:由于您一直在复制文件,可能文件所有权更改为root,所以也要检查(使用ls-la /path)。所有者应该是mysql组mysql。什么都想不出来了。
发布于 2014-08-01 15:39:08
必须更改配置文件httpd.conf根值。
在此之前,是Listen : 0.0.0.0:80. I将其更改为Listen: 0.0.0.0:8080 --将根更改为更高的值四位数(1024、8008、9999等),并重新启动apache server和mysql。嗯,起作用了。
关于我的问题:mysql.sock文件是一个套接字文件,它将在MySql服务器重新启动时自动创建。
最后,我的问题解决了。
https://serverfault.com/questions/617098
复制相似问题