我被困在一个PDOexception
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).
为了解决这个问题,我尝试使用该命令重新创build符号链接。 我正在linux服务器上工作。
ln -s /home/../mysql/tmp/mysql.sock /tmp/mysql.sock
当执行上面的sql语句时,PDOexception没有改变。 后来,我错误地删除了“/ "/home/../mysql/tmp/" /tmp/ "/home/../mysql/tmp/" (而不是“/ tmp”)中的mysql.sock文件。
现在,我该如何取回或重新创buildmysql.sock文件。 而关于PDO例外的anyidea,如何解决。
vi /etc/mysql/my.cnf
您会在configuration文件中find最下面的行
[client] port = 3306 socket = /var/run/mysqld/mysqld.sock
确保mysqld.sock是它应该是的地方我不喜欢你的错误消息“/tmp/mysql.sock”中的path
既然你在这里寻找这条线
bind-address = 127.0.0.1
如果您尝试从远程位置连接注释此行。
尝试本地连接(从服务器上的terminal)
mysql -u root -p
如果安全性不是您的问题(即它是您的个人服务器而不是多用户环境),您也可以确保该文件是任何人都可读的
chmod a+r /var/run/mysqld/mysqld.sock
以上所有应该解决您的连接问题。 要获得文件,你可以做一个全新的安装mysql服务器。
apt-get purge mysql-server apt-get install mysql-server
或者你可以下载mysql-server .deb包解压缩它,你应该在那里find它。 如果您使用RHL,则相当于.rpm。
编辑:由于你一直在复制文件,也许文件的所有权改变为根,检查也(与ls-la /path)。 所有者应该是mysql组mysql。 想不到别的。
必须改变configuration文件的httpd.conf根值
以前,这是Listen : 0.0.0.0:80. 我把它改为Listen: 0.0.0.0:8080 – 将root更改为更高的四位数(1024,8008,9999等),然后重新启动apache server和mysql 。 那么,它的工作。
对我的问题: mysql.sock文件是一个套接字文件,它将在MySql服务器重新启动时自动创build
最后,我的问题已解决。