设为首页 收藏本站
查看: 679|回复: 0

[经验分享] mysql 数据库表错误 修复 总结

[复制链接]

尚未签到

发表于 2018-10-10 09:58:11 | 显示全部楼层 |阅读模式
  mysql 数据库坏表修复
  萝卜白菜,各有所爱,能干活、能修复表才是王道!!!
  修复之前谨记:先备份数据库 (备份完成后再进行以下修复操作)
  可以mysqldump -A  > all.sql   进行全库备份  (mysqldump导出错误的时候可以省略错误的表进行导出其他的数据添加选项   --ignore-table=table_name  )  也可以进入到/usr/local/shell/ 执行  mysql_backup.sh进行备份数据库  以上两种方式都不可以备份 可以进入到/data/mysql/3306目录里面将以下所有文件信息copy一份
  针对MyIsam表进行修复方法
  1.描述:
  在数据库可以进入 mysql程序正常,只有日志中抛有tables错误的时候使用以下修复:
  mysql>  REPAIR TABLE 表名
  3.描述:
  在数据库不能进入、数据库程序不能够正常启动的时候使用
  mysqlcheck -Aor       (此命令在数据库外执行,针对所有myisam的数据库表进行修复 -A=所有all、-o, --optimize 进行对索引优化【重新整理索引】-r, --repair 修复 )
  shell# mysqlcheck -Aor   执行的时候会抛出错误(凡是innodb表都会抛错误)
  在知道是那个表错误的情况下可以使用以下命令进行修复  (后续可以添加-f选项 force  强制修复,慎用此选项操作)
  shell# myisamchk   -oar   tables.MYI
  针对Innodb表修复方法
  1.描述:
  数据库可以进入 mysql程序正常,只有日志中抛有tables错误的时候使用以下修复:
  1、通过mysqldump将错误的表进行导出(仅导出数据即可),确定导出没有问题!
  2、进入mysql   truncate table  表名
  3、通过mysql命令将刚才导出的数据库数据灌入即可搞定
  2.描述:
  可参考 http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
  数据库无法正常启动,日志中存在表错误,index错误信息 修复:
  1、在my.cnf文件里面添加
  [mysqld]
  innodb_force_recovery = 1     (1级别最低通常只是作为跳过表错误正常启动mysql服务)
  级别越高,修复难度越大、 (1-6)
  1(SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。
  2(SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。
  3(SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。
  4(SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。
  5(SRV_FORCE_NO_UNDO_LOG_SCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。
  6(SRV_FORCE_NO_LOG_REDO):不执行前滚的操作。
  2、能够正常启动mysql后,上层应用不用启动、防止写入数据出现错误
  进入mysql 进行更改错误表的信息
  mysql>  alter table  table_name  ENGINE=myisam;
  修改完成后使用Myisam的修复方式进行修复
  修复完成之后将表更改为innodb 、my.cnf 文件的innodb_force_recovery = 1 注释掉之后重新启动mysql注意观察日志是否抛错
  3、通过数据库备份加binlog日志进行恢复,步骤过多,不予写出
  仍然可以参考 http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
  进行恢复


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-619828-1-1.html 上篇帖子: mysql查看锁表情况 下篇帖子: keepalive 配合mysql主主复制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表