MySQL数据库InnoDB坏页处理修复
一、InnoDB坏页出现情况
由于物理磁盘、内存故障、突然断电、强制关机、强制杀死MySQL进程等可能会造成数据坏页现象,数据库实例会不断重启。
错误日志内报如下错误:
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page
现根据以上现象,对该问题进行处理分析。本方案针对InnoDB引擎进行坏页修复。进行灾难恢复大概率会造成造成一部分数据的丢失。
二、InnoDB坏页修复步骤
本文档只介绍使用innodb_force_recovery参数进行数据库强制打开的方式。
2.1 对数据目录进行冷备
关闭数据库实例,对数据目录进行冷备。
1 |
|
2.2 查看错误日志内容
查询错误日志路径
1 2 3 4 5 6 |
|
注:该路径即为datadir目录下
1 |
|
判断此时数据库是否已经无法正常运行
2.3 修改相关参数启动服务
1 2 |
|
注:
innodb_force_recovery = 2~6,依次启动服务器直至可以访问有问题的表。
innodb_force_recovery参数解析
innodb_force_recovery可以设置为1-6,大的数字包含前面所有数字的影响。 当设置参数值大于0后,可以对表进行select,create,drop操作,但insert,update或者delete这类操作是不允许的。
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.4 进行全库导出
1 |
|
2.5 新环境同版本初始化环境
1 |
|
注:basedir/datadir根据实际情况修改
2.6 新环境导入数据
1 |
|
MySQL数据库InnoDB坏页处理修复相关推荐
- MySQL数据库—InnoDB行存储格式
目录 一.InnoDB支持的行存储格式 二.Compact记录格式 1.变长字段长度列表 (1)对varchar类型字段长度的存储 (2)对char类型字段长度的存储 2.NULL标志位 3.记录头信 ...
- MySQL数据库Innodb储存引擎----储存页的结构
上一篇博客回顾: 1:数据库拥有众多的储存引擎,现在主要使用的是Inoodb,这个储存引擎有Compact,Redundant,Dynamic,Compressed四种行格式 2:Compact行格式 ...
- 记一次Mysql数据库Innodb故障--误删除idb文件
某天中午,午休快要结束的时候,勤奋.努力.敬业的小编巡检服务器,发现有一台服务器的/home分区空间不足.因为历史原因,这是一个旧的平台,新平台已经建成,也已经投入生产.可是旧平台上依然还有很多的业务 ...
- MySQL进阶 - InnoDB数据页结构
不同类型的页简介 前边我们简单提了一下页的概念,它是InnoDB管理存储空间的基本单位,一个页的大小一般是16KB.InnoDB为了不同的目的而设计了许多种不同类型的页,比如存放表空间头部信息的页,存 ...
- mysql 崩溃恢复_超详细的MySQL数据库InnoDB崩溃恢复机制总结
概述 数据库系统与文件系统大的区别在于数据库能保证操作的原子性,一个操作要么不做要么都做,即使在数据库宕机的情况下,也不会出现操作一半的情况,这个就需要数据库的日志和一套完善的崩溃恢复机制来保证.下面 ...
- MySQL数据库InnoDB存储引擎中的锁机制--转载
原文地址:http://www.uml.org.cn/sjjm/201205302.asp 00 – 基本概念 当并发事务同时访问一个资源的时候,有可能导致数据不一致.因此需要一种致机制来将访问顺序化 ...
- mysql数据库innodb恢复命令_MySQL 如何对InnoDB使用Undrop来恢复InnoDB数据
适用于: MySQL服务器版本4.1到5.6 [发行版4.1到5.6] 本文信息适用于所有平台. 目标 如何使用undropforinnodb从损坏的表中提取数据 解决方案 使用工具有时可能从无法用i ...
- MySQL 数据库 InnoDB 和 MyISAM 数据引擎的差别
InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是 ...
- MYSQL数据库的翻页
这个是我自己想出来的,当时只想到这么个笨方法. 看到不少人都在问MYSQL怎么翻页,现在拿出来给大家借鉴一下. 如果有好的方法请留言.大家互相探讨. <script language=" ...
最新文章
- python线程池及其原理和使用
- 1049. 数列的片段和
- SSL certificate problem, verify that the CA cert is OK. Details:
- spring手动配置
- AutoMapper的使用
- 编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据。
- python6清空屏幕,python:文件的读取、创建、追加、删除、清空
- 未来十年,人人有望在家远程办公?
- TOMM2018_Unsupervised Person Re-identification: Clustering and Fine-tuning
- Boost Asio socket 非阻塞/缓冲区大小等属性设置
- 手动ghost装服务器系统教程,手动ghost教程图解
- 为什么要测款,直通车测款怎样设置
- python如何导入datetime包
- 李春葆《数据结构教程》课后习题和实验代码
- Vs2008调试慢的问题
- WPF MVVM Page 页面导航实例
- 手机号码清洗的优势是什么
- 虚拟机web配置服务器,【搭建web服务器】以及web的所有配置
- Maven中的打胖包瘦包
- python实现签到功能_python实现网页自动签到功能
热门文章
- html select选择事件_用 Java 拿下 HTML,分分钟写个小爬虫
- 画图软件怎么做性能测试,软件性能测试能力提升解决方案.pdf
- 从零开始数据科学与机器学习算法-数据预处理与基准模型-01
- android控件属性文档,1.Android控件属性收集
- Python学习:装饰器使用,timeit()记录程序运行在哪里,耗时多少
- vue - blog开发学习4
- BZOJ2705 [SDOI2012]Longge的问题 欧拉函数
- 学起来 —— CSS 入门基础
- JavaScript上传图片及时预览
- jQuery表单对象属性过滤选择器