可能是因为我的可用磁盘空间不足,看一下:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 1.9G 208M 1.6G 12% /
none 998M 192K 998M 1% /dev
none 1002M 0 1002M 0% /dev/shm
none 1002M 56K 1002M 1% /var/run
none 1002M 0 1002M 0% /var/lock
none 1002M 0 1002M 0% /lib/init/rw
/dev/sda1 92M 24M 63M 28% /boot
/dev/sda8 434G 199M 412G 1% /home
/dev/sda6 9.2G 495M 8.3G 6% /usr
/dev/sda7 9.2G 8.8G 0 100% /var
/var 的利用率为 100%。
也许这就是原因?
答案1
是的,如果 mysql 的数据位于 /var/ 上(通常确实如此),则这可能是原因。
看来 /home/ 上的内容已经足够了。为什么不将数据文件复制到那里试试呢?
答案2
根据MySQL 5.0 认证学习指南,第 409 页,第 29 章,第 29.2 节“MyISAM 引擎”,第 11 点具体指出:
如果在向 MyISAM 表添加行时磁盘空间不足,则不会发生错误。服务器将暂停操作,直到有可用空间,然后完成操作。
一遍又一遍,每当我看到这种情况发生时,我都会删除几个旧的二进制日志,然后 MySQL 又开始运行了。然后我快速关闭 MySQL,删除剩余的二进制日志和二进制日志索引,启动 MySQL,一切都正常。对我来说每次都有效!
如果未启用二进制日志,则必须在 mysqld 上使用 kill -9,将 /var/lib/mysql 文件夹移动到更大的磁盘。将 /var/lib/mysql 符号链接到新位置,然后重新启动 MySQL。
答案3
是的,这可能是原因。我认为您的 Mysql 数据目录在 /var 中。请打开您的 my.cnf(您可能可以在 /etc 目录中找到它)文件并检查数据目录是否在 /var 中。
我认为 /Home 目录中有足够的可用空间,您可以将其用作 mysql 数据目录。
答案4
是的。
MySQL 数据文件通常保存在 /var/ 某个地方。如果它已满,MySQL 可能会停止工作。