如果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
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!