MySQL数据表损坏提示“is marked as crashed”的修复

一台内部服务器的磁盘满了,清理后发现数据库被破坏,提示:

ERROR 144 (HY000): Table './test/baike' is marked as crashed and last (automatic?) repair failed

尝试快速修复:

myisamchk -r -q test/baike
#这里的test/baike代表数据库所在目录和数据库名,不用写后面的frm、MYD、MYI

结果修复失败:

- check record delete-chain
- recovering (with sort) MyISAM-table 'test/baike'
Data records: 1077138
- Fixing index 1
Found block that points outside data file at 68644008
MyISAM-table 'test/baike' is not fixed because of errors
Try fixing it by using the --safe-recover (-o), the --force (-f) option or by not using the --quick (-q) flag

尝试强行修复:

myisamchk -f -o test/baike

修复成功:

- recovering (with keycache) MyISAM-table 'test/baike'
Data records: 1077138
Found block that points outside data file at 68644008
Data records: 1102171

记录

 评论
 发表评论
姓   名: