【发布时间】:2011-04-14 20:13:58
【问题描述】:
我正在使用 mysql,试图在 Debian 服务器上的数据库中添加一些外键......突然间我开始收到这条消息:
ERROR 2002 (HY000): 无法通过套接字 '/var/run/mysqld/mysqld.sock' (111) 连接到本地 MySQL 服务器
无论我做什么,我都会收到此消息。如果我重新启动 mysql,它只会把这个废话吐出来很多次。
我已经重新启动了很多次服务器,但它并没有消失。我不知道我做了什么...我只是在更改一个已经投入生产一年多的数据库的架构。
我最近更改了此服务器的域名,但更改后 mysql 工作了几天。
除此之外,我想不出我做了什么不同的事情。
请帮忙。我必须让这个数据库重新上线。
编辑: 高兴,mysql 通过尝试将外键添加到一个该死的数据库中而损坏了我的实际数据库。数据库是 toast。
幸好我有备份,但这是不真实的。
【问题讨论】:
-
你从哪里得到这条消息?在做什么?
-
做任何事。使用数据库,显示表格,启动服务器......一切。
-
/var/run/mysqld/ 和底层文件的权限是什么。您的 Web 服务的用户是什么。您的网络服务用户说“apache”或“www-data”应该拥有对 mysqld.sock 的完全访问权限
-
我得到了这个错误,甚至没有考虑 apache 或类似的东西。我只是在命令行上使用“mysql”就得到了这个错误。该 mysqld 文件夹的权限是“drwxr-xr-x 2 mysql root”。服务器运行时sock文件的权限为“srwxrwxrwx 1 mysql mysql”