我一直在Ubuntu上使用LAMP堆栈。
它一直工作得很好,建立了多个数据库,一切都很好,然后今天早上突然我开始从我使用的网页上得到数据库错误,然后试图访问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的错误似乎更多地与设置有关,但我知道我的运气很懒,这导致我忽略了导致它崩溃的简单事情。
任何关于如何解决这个问题的帮助,更重要的是防止这种情况的发生,我们都将不胜感激。
我已经尝试了基本的谷歌搜索返回的大多数东西,并在这里看看。我还没有尝试删除和重新创建sock文件,但到目前为止,大多数其他操作都不起作用。
编辑:
我只想补充说,Apache服务器仍然运行得很好,没有任何错误,即使我在尝试停止和重新启动它时确实遇到了错误。不依赖于MySQL的页面仍然可以正常加载。
我还尝试过通过搜索PID来杀死mysql进程,并且还按照下面的建议杀死了mysqld (也为了好玩而杀死了mysql )。通过这些尝试找不到任何进程。
我不知道它是否相关,但即使使用超级用户,我也无法打开(在vim中)或查看mysqld.sock文件(权限被拒绝)。
发布于 2012-11-04 10:29:26
你有没有试过使用
killall mysqld终止服务器,而不是结束服务,然后启动MySQL服务?
或者,您可以尝试使用以下命令删除mysql.sock
rm /var/run/mysqld/mysqld.sock然后,您只需通过启动服务或运行以下命令来再次运行MySQL服务器
mysqld它应该为自己创建一个新的/var/run/mysqld/mysqld.sock,一切都应该正常进行。只是想一想:这可能是因为电脑没有正确关机,或者MySQL只是有点迷惑。
发布于 2014-11-28 15:01:28
在Ubuntu中创建一个微型实例交换空间
交换文件dd if=/dev/
of=/swapfile bs=1M count=1024
mkswap /swapfile
swapon /swapfile
发布于 2012-11-04 10:52:46
您是否尝试过重新启动mysql服务器
/etc/init.d/mysqld restart
/etc/init.d/mysqld stop
/etc/init.d/mysqld starthttps://stackoverflow.com/questions/13215373
复制相似问题