首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从"/mysql/tmp/“中错误地删除mysql.sock文件

问如何从"/mysql/tmp/“中错误地删除mysql.sock文件
EN

Server Fault用户
提问于 2014-08-01 00:37:40
回答 2查看 83.4K关注 0票数 5

我被PDO异常困住了

代码语言:javascript
复制
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服务器。

代码语言:javascript
复制
 ln -s /home/../mysql/tmp/mysql.sock /tmp/mysql.sock

在执行上述sql语句时,PDO异常没有任何更改。后来,我错误地删除了mysql.sock文件中的"/home/../mysql/tmp/" (而不是在“/tmp”中)。

如何返回或重新创建mysql.sock文件。任何关于PDO异常以及如何解决它的想法。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2014-08-01 09:13:18

代码语言:javascript
复制
vi /etc/mysql/my.cnf

您将在配置文件中找到顶部下面的行。

代码语言:javascript
复制
[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

确保mysqld.sock在它应该在的位置我不喜欢错误消息"/tmp/mysql.sock“中的路径

既然你在这里,也要找这条线。

代码语言:javascript
复制
bind-address            = 127.0.0.1

如果您试图从远程位置连接,请注释这一行。

尝试本地连接(从服务器上的终端连接)

代码语言:javascript
复制
mysql -u root -p

如果安全性不是您所关心的(即它是您的个人服务器,而不是多用户环境),您还可以确保该文件为任何人所读

代码语言:javascript
复制
chmod a+r /var/run/mysqld/mysqld.sock

以上所有这些都应该可以解决您的连接问题。要获得该文件,您可以重新安装mysql服务器。

代码语言:javascript
复制
apt-get purge mysql-server
apt-get install mysql-server

或者您可以下载mysql服务器.deb包,提取它,然后在其中的某个地方找到它。如果您使用的是RHL,则等效为.rpm。

编辑:由于您一直在复制文件,可能文件所有权更改为root,所以也要检查(使用ls-la /path)。所有者应该是mysql组mysql。什么都想不出来了。

票数 13
EN

Server Fault用户

发布于 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服务器重新启动时自动创建。

最后,我的问题解决了。

票数 -1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/617098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档