我一直使用Ubuntu上的LAMP堆栈。
它一直很正常,设置了多个数据库,一切都很好,但今天早上突然从我正在使用的网页中出现了数据库错误,然后尝试访问PHPMyAdmin时出现了以下错误:
我检查了上述错误中指定路径下的mysql.sock文件,发现该文件已经存在。权限也正确,并且属于mysql用户。为了排除其他问题,我重新设置了权限,但仍然出现同样的错误。
以下是从BASH中查看该文件的内容:
我想只需重新启动服务,但当尝试停止、启动或重新启动服务时,却收到相同的错误信息。这让我很困惑,虽然我不是Linux方面的专家,但我不明白为什么在没有更改任何配置设置并且在过去几个月内都运行得非常好的情况下,它会突然出现此问题。我尝试重启Apache,但出现了以下错误:
它一直很正常,设置了多个数据库,一切都很好,但今天早上突然从我正在使用的网页中出现了数据库错误,然后尝试访问PHPMyAdmin时出现了以下错误:
error #2002 Cannot log in to the MySQL server
我进入Bash提示符并尝试以root用户登录,查看发生了什么。我得到了类似的错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
我检查了上述错误中指定路径下的mysql.sock文件,发现该文件已经存在。权限也正确,并且属于mysql用户。为了排除其他问题,我重新设置了权限,但仍然出现同样的错误。
以下是从BASH中查看该文件的内容:
srwxrwxrwx 1 mysql mysql 0 Oct 21 05:10 mysqld.sock
我想只需重新启动服务,但当尝试停止、启动或重新启动服务时,却收到相同的错误信息。这让我很困惑,虽然我不是Linux方面的专家,但我不明白为什么在没有更改任何配置设置并且在过去几个月内都运行得非常好的情况下,它会突然出现此问题。我尝试重启Apache,但出现了以下错误:
apache2: bad user name ${APACHE_RUN_USER}
我认为这与MySQL无关,但可能涉及其中。Apache错误似乎更多是设置方面的问题,但是我运气不好,懒惰可能导致我忽视了一些简单的事情,从而导致一切崩溃。
任何有关如何解决问题并更重要的是如何防止这种情况再次发生的帮助都将不胜感激。
我已经尝试了大多数基本的Google搜索和查找此处的内容。我还没有尝试删除并重新创建套接字文件,但到目前为止,大多数其他方法都没有起作用。
编辑:
我只想添加Apache服务器仍在正常运行,没有什么问题,即使在尝试停止和重新启动时出现错误。不依赖于MySQL的页面仍能正常加载。
我还尝试通过搜索PID并像下面建议的那样使用killall mysqld(还为了好玩尝试了killall mysql)来杀死mysql进程。这些尝试中未找到任何进程。
我不知道它是否相关,但是即使使用超级用户,我也无法打开(在vim中)或查看mysqld.sock文件(权限被拒绝)。
service mysql restart
出现了什么错误?service mysql status
呢?消息日志中有显示任何信息吗?(抱歉,我更熟悉 SUSE,所以对我来说是/var/log/messages
) - Basic