使用xtrabackup备份myisam引擎的表还原后报错

使用xtrabackup的innobackupex工具备份mysql数据库,其中有一部分表是myisam引擎。在另外一台机器还原后,查询表的时候提示table "xxx" is marked as crashed and should be repaired,使用repair命令修复的话可以恢复正常,但是要逐个表执行,请问有什么解决方案?

阅读 2.8k
1 个回答

使用 mysqlcheck 命令修复

mysqlcheck常用参数:

  -a  --all-databases  检查所有的库
  -r  --repair   修复表
  -c  --check    检查表,默认选项
  -a  --analyze  分析表
  -o  --optimize 优化表
  -q  --quik   最快检查或修复表
  -F  --fast   只检查没有正常关闭的表
   A, –all-databases 表示所有库
  -a, –analyze 分析表
  -o, –optimize 优化表
  -r, –repair 修复表错误
  -c, –check 检查表是否出错
  –auto-repair 自动修复损坏的表
  -B, –databases 选择多个库

e.g.:

# 检查所有表
mysqlcheck -u root -p -A -c 

# 修复所有表
mysqlcheck -u root -p -A -r

# 修复某个库
mysqlcheck -u root -p -r database_name
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题