MySQL下优化表和修复表命令使用说明

林继 VPS 知识 3,883 共写了680个字 (2011-01-10 19:12:56) 没有评论 打印 扫描二维码 百度已收录

1、MySQL下优化表和修复表命令使用说明

  1. REPAIR TABLE `table_name` 修复表 
  2. OPTIMIZE TABLE `table_name` 优化表

REPAIR TABLE 用于修复被破坏的表。
OPTIMIZE TABLE 用于回收闲置的数据库空间,当表上的数据行被删除时,所占据的磁盘空间并没有立即被回收,使用了OPTIMIZE TABLE命令后这些空间将被回收,并且对磁盘上的数据行进行重排(注意:是磁盘上,而非数据库)。

多数时间并不需要运行OPTIMIZE TABLE,只需在批量删除数据行之后,或定期(每周一次或每月一次)进行一次数据表优化操作即可,只对那些特定的表运行。

2、MySQL的快速修复

在长时间使用MySQL后,数据库可能会出现一些问题。大多数问题可以通过简单的操作进行快速修复。下面介绍两种快速检修

MySQL数据库的方法。

1. myisamchk

使用myisamchk必须暂时停止MySQL 服务器。例如,我们要检修blog数据库。执行以下操作:

# service mysql stop (停止MySQL)
# myisamchk -r /datawhere/blog/*MYI
# service mysql start myisamchk 会自动检查并修复数据表中的索引错误。

2. mysqlcheck
使用mysqlcheck无需停止MySQL,可以进行热修复。操作步骤如下:(检修 blog库)

# mysqlcheck -r -uroot -p blog

注意,无论是 myisamchk还是mysqlcheck,一般情况下不要使用-f强制修复,-f参数会在遇到一般修复无法成功的时候删除
部分出错数据以尝试修复。所以,不到万不得已不要使用-f。

历史上的今天

1月
10

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >