我有一个相当大的MySQL数据库(InnoDB)在ubuntu服务器虚拟机上运行。 最近由于我的错误,硬盘变满了(在物理机器上),服务器卡住了,用户无法工作。 我不得不从物理机器上删除一些文件,并用MySQL数据库重启ubuntu服务器。
Althuogh这些是你问的很好的问题,真正的根本原因是一个文件系统填满。 这是你需要解决的问题:
如果这台机器的主要function是数据库服务器,MySQL数据库应该在它自己的分区上。 如果它只是一个辅助函数,至less要确保/ var在自己的分区上(或者你的MySQL数据目录的基本目录)是closures的。 您不应该通过将文件添加到/ home或/
您应该注意到文件系统太靠近满了。 Nagios或hyperic可以为你做这个和其他一些健康检查和警告,可以提醒你潜在的危险。
对于文件系统,如果使用日志文件系统,则应该自动处理该文件系统。
对于Mysql,您可以使用优化和修复表mysql命令,但是您必须小心,因为这些命令可能需要很长时间,并且需要locking表。 你可以看看mysql文档以获取更多信息。