由于服务器断电死机,mysql启动不了, 在删除ib_logfile0、ib_logfile1、ibdata1这三个文件,mysql-error.log一下就塞满的存储,查看日志发现:

2019-08-27T20:00:58.495267+08:00 0 [ERROR] InnoDB: Your database may be corrupt or you may have copied the InnoDB tablespace but not the InnoDB log files. Please refer to http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html for information about forcing recovery.
2019-08-27T20:00:58.495518+08:00 0 [ERROR] InnoDB: Page [page id: space=0, page number=266] log sequence number 8181701917 is in the future! Current system log sequence number 8181692811.

直接上解决方案:

1、配置my.cnf

配置innodb_force_recovery = 1或2——6几个数字,重启MySQL

2、导出数据脚本

mysqldump -uroot -p123456 test > test.sql
导出SQL脚本。或者用Navicat将所有数据库/表导入到其他服务器的数据库中。
注意:这里的数据一定要备份成功。然后删除原数据库中的数据。

3、删除ib_logfile0、ib_logfile1、ibdata1

备份MySQL数据目录下的ib_logfile0、ib_logfile1、ibdata1三个文件,然后将这三个文件删除

4、配置my.cnf

将my.cnf中innodb_force_recovery = 1或2——6几个数字这行配置删除或者配置为innodb_force_recovery = 0,重启MySQL服务

5、将数据导入MySQL数据库

mysql -uroot -p123456 test < test.sql; 或者用Navicat将备份的数据导入到数据库中。

如果在导入数据过程中发生tablespace不存在的问题,请删除data目录相应database下的文件。

此种方法下要注意的问题:
1、ib_logfile0、ib_logfile1、ibdata1这三个文件一定要先备份后删除;
2、一定要确认原数据导出成功了
3、当数据导出成功后,删除原数据库中的数据时,如果提示不能删除,可在命令行进入MySQL的数据目录,手动删除相关数据库的文件夹或者数据库文件夹下的数据表文件,前提是数据一定导出或备份成功。

MySQL之——崩溃-修复损坏的innodb:innodb_force_recovery相关推荐

  1. 记一次血淋淋的MySQL崩溃修复案例

    摘要:今天给大家带来一篇MySQL数据库崩溃的修复案例 本文分享自华为云社区<记一次MySQL崩溃修复案例,再也不用删库跑路了>,作者: 冰 河. 问题描述 研究MySQL源代码,调试并压 ...

  2. 4K字记一次血淋淋的MySQL崩溃修复案例

    问题描述 研究MySQL源代码,调试并压测MySQL源代码时,MySQL崩溃了!问题是它竟然崩溃了!而且还损坏了InnoDB文件!!还好是在调试环境下发生的,赶紧看看如何解决这个问题,经过一系列的查阅 ...

  3. 记一次MySQL崩溃修复案例,再也不用删库跑路了

    大家好,我是冰河~~ 今天给大家带来一篇MySQL数据库崩溃的修复案例,废话不多说,我们直接上正文,走起~~ 问题描述 研究MySQL源代码,调试并压测MySQL源代码时,MySQL崩溃了!问题是它竟 ...

  4. MySQL崩溃修复案例

    问题描述 研究MySQL源代码,调试并压测MySQL源代码时,MySQL崩溃了!问题是它竟然崩溃了!而且还损坏了InnoDB文件!!还好是在调试环境下发生的,赶紧看看如何解决这个问题,经过一系列的查阅 ...

  5. mysql ibdata1 损坏_mysql innodb文件ibdata1损坏导致mysql无法启动

    问题描述 1 mysql数据库5.6无法正常启动 2 直接复制替换innodb的frm和idb文件来新增数据表导致的问题 3 innodb文件ibdata1,ib_logfile0,ib_logfil ...

  6. mysql修复损坏表_在MySQL中,如何修复损坏的表

    本指南旨在作为故障排除资源和诊断MySQL设置的起点. 有时,MySQL表损坏,这意味着发生了错误,并且其中的数据无法读取. 损坏表的一些常见原因是:MySQL服务器在写数据的时候停止.外部程序同时修 ...

  7. MySQL数据库页损坏怎么办,innodb_force_recovery参数帮你解决问题

    MySQL数据库页损坏怎么办,innodb_force_recovery参数帮你解决问题 有些时候,你的MySQL数据库是单机,没有主从和高可用,如果宕机,或者其它异常情况,导致你的ibd文件损坏,这 ...

  8. mysql数据库myisam_MySQL数据库修复方法(MyISAM/InnoDB)

    在网上找了篇MySQL的技术文章,感觉不错,把它翻译过来共享下. 原文作者:Mike Peters 我整理了7条修复MySQL数据库的方法,当简单的重启对数据库不起作用,或者有表崩溃时. 简单的MyS ...

  9. mysql的check出错_如何利用myisamchk和mysqlcheck快速修复损坏的MySQL数据库

    如何利用myisamchk和mysqlcheck快速修复损坏的MySQL数据库 由于服务器的数据库硬盘空间满了,由于大量写入数据失败导致了出现"Duplicate entry '' for ...

最新文章

  1. java arraylist优点_Java中各种集合的特点总结
  2. OpenWRT中运行脚本报错
  3. 6.最小角回归(Least Angle Regression)
  4. LeetCode 2129. 将标题首字母大写
  5. netbsd配置gnome桌面
  6. 虚幻4属性系统(反射)翻译
  7. 使用反射获得jar包中的类、方法、参数、返回值类型,然后动态加载jar包运行方法
  8. 17 岁的程序员告诉你关于编程的 7 个重要教训!
  9. 实战build-react(二)-------引入Ant Design(增加)
  10. 寨板p45黑苹果10.12.6
  11. 开源一个安信可A9g小项目微信小程序定位器项目①如何在windows10上环境搭建,编译烧录代码固件,查看运行日志;
  12. 守望先锋-生涯数据信息抓取的实现
  13. php include require m.jb51.net,phpmyadmin下载、安装、配置教程
  14. VS code输出框中莫名其妙的繁体字(乱码)
  15. 处理数据之把省市自治区这样的字眼切除
  16. Git本地文件上传到远程仓库
  17. POI导出读取Excel表格讲解
  18. 中职学生学业水平计算机考试试题,中职学业水平测试试卷(综合卷).docx
  19. MSELoss() 函数
  20. 资金指数(ZJZS)指标

热门文章

  1. 0-1整数规划的求解思路整理
  2. 职业学校计算机专业家长会学生发言稿,职业中专家长会发言稿
  3. 如何在IDEA中写Java程序
  4. Python——os库和shutil库的使用介绍
  5. 计算机管理员 职称业绩登记,任现职前主要专业技术职务工作业绩登记完整版(30页)-原创力文档...
  6. L2-005 集合相似度(STL)
  7. Android 错把setLayerType当成硬件加速
  8. 状态机在PLC中的应用
  9. php ldap_search,如果我不知道基本DN的OU,那么如何使用PHP ldap_search()获取用户OU
  10. Python输入密码