> IT面试 >

MySQL服务器因断电、异常关闭等导致表损坏,无法读取表数据的时候,如何进行修复?

如果MySQL服务器突然断电、异常关闭,可能会导致表损坏,无法读取表数据。这时就可以用到MySQL自带的两个工具进行修复,myisamchk和mysqlcheck。

  myisamchk:只能修复myisam表,需要停止数据库

常用参数:

-f –force    强制修复,覆盖老的临时文件,一般不使用

-r –recover  恢复模式

-q –quik     快速恢复

-a –analyze  分析表

-o –safe-recover 老的恢复模式,如果-r无法修复,可以使用此参数试试

-F –fast     只检查没有正常关闭的表

快速修复xxx数据库:

# cd /var/lib/mysql/xxx

# myisamchk -r -q *.MYI

mysqlcheck:myisam和innodb表都可以用,不需要停止数据库,如修复单个表,可在数据库后面添加表名,以空格分割

常用参数:

-a  –all-databases  检查所有的库

-r  –repair   修复表

-c  –check    检查表,默认选项

-a  –analyze  分析表

-o  –optimize 优化表

-q  –quik   最快检查或修复表

-F  –fast   只检查没有正常关闭的表

快速修复xxx数据库:

mysqlcheck -r -q -uroot -pxxx xxx

(责任编辑:IT)