MySQL 停止工作 - 磁盘已满

MySQL 停止工作 - 磁盘已满

可能是因为我的可用磁盘空间不足,看一下:

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 可能会停止工作。

相关内容