我在 rackspace.com 上运行了一个服务器,它已经运行了大约一年(为一个项目收集数据),没有出现任何问题。现在它似乎mysql
冻结了(无法通过ssh
命令行、远程应用程序(sequel pro)或 Web 连接(使用数据库的页面冻结了)。
我有点急于快速修复这个问题,于是重启了虚拟服务器,运行 ubuntu 10.10。这是一个小型虚拟 LAMP 服务器(10GB 存储空间 - 我只使用了 1.25GB 的 RAM - 没问题)。现在重启后,我无法mysql
重新启动。
service mysql status
mysql stop/waiting
我相信这只是意味着 mysql 没有运行。我该如何让它再次运行?
service mysql start
start: Job failed to start
不,只要输入“mysql”就会得到:
mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
此文件夹中有一个.sock文件,ls -l
内容如下:
srwxrwxrwx 1 mysql mysql 0 2012-12-01 17:20 mysqld.sock
我需要数据库中的数据(所以我想避免重新安装),并且我需要它再次运行。
答案1
OP 将他的解决方案发布为评论,并将其复制在这里作为答案:
我学到了一个新的命令行技巧
du -s -m *
,虽然 rackspace 没有给出任何我能找到的迹象,但看来磁盘确实已满:http://ubuntuforums.org/showthread.php?t=804021(Ubuntu 论坛上对这个问题的回答是磁盘空间)。通过升级到更大的磁盘(并使我的月度账单翻倍),这似乎可以正常工作。
通常,查看 的输出以及 的大小是一个不错的df
建议。/var/lib/mysql
/var/log/mysql
答案2
我遇到了与 OP 相同的问题,通过他链接的线程找到了这个命令:
sudo /etc/init.d/mysql restart
尝试重新启动 mysql。在使用此命令时,我最终收到一条错误消息,确认问题是内存太满:
/etc/init.d/mysql:错误:/var/lib/mysql 的分区太满!
因此我需要释放分区上的空间。