首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在磁盘满后进行MySQL维护

如何在磁盘满后进行MySQL维护
EN

Server Fault用户
提问于 2011-03-03 09:30:41
回答 2查看 1.8K关注 0票数 1

我有一个相当大的mysql数据库(InnoDB)运行在ubuntu服务器虚拟机上。最近,由于我的错误,硬盘(在物理机器上)变得满了,服务器卡住了,用户无法工作。我不得不从物理机器中删除一些文件,并用MySQL数据库硬地重新启动ubuntu服务器。

  1. 在这样的崩溃之后,我需要在MySQL上执行什么特殊的操作吗?
  2. 我需要在ubuntu服务器上执行什么特殊的操作吗?(例如chkdsk或碎片碎片)
  3. 是否需要定期在MySQL数据库上运行“最佳实践”命令?
EN

回答 2

Server Fault用户

回答已采纳

发布于 2011-03-03 10:21:02

  1. 没有,但是检查日志中是否有警告和错误。在某些情况下,你可能需要进行修复。
  2. 不,如果您需要进行文件系统检查,它将提示您执行文件系统检查,或者自动运行。Linux的等价物是fsck (文件系统检查)。这完全取决于您正在使用的文件系统。
  3. 优化表可以清除未使用的空间(即,如果大量数据被更改或删除)。根据您的架构和数据使用情况,它可能有用,也可能没有用处。同样,在运行该表时要小心,MySQL在表运行期间锁定该表。

尽管这些都是很好的问题,但真正的根本原因是文件系统被填满了。这就是你需要解决的问题:

  1. 如果这台机器的主要功能是数据库服务器,那么MySQL数据库应该位于它自己的分区上。如果它只是一个次要函数,那么至少要确保/var位于它自己的分区(或MySQL数据目录所在的任何位置的基本目录)上。您不应该通过向MySQL或//添加文件而使/home崩溃。
  2. 应该提醒您注意文件系统太接近满了。Nagios或hyperic可以为您和大量其他健康检查和警告提供帮助,这些检查和警告可以提醒您注意潜在的危险。
票数 1
EN

Server Fault用户

发布于 2011-03-03 10:03:13

对于文件系统,如果使用的是日志文件系统,则应该自动处理它。

对于Mysql,您可以使用优化和修复表mysql命令,但是您必须小心,因为这些命令可能需要很长时间,并且它们需要表锁定。您可以查看mysql文档以获得更多信息。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/242637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档