行业动态

防御吧作为15年知名老牌域名服务商,CNNIC和CANN双认证域名注册商,已经
持续为500多万个域名提供服务,包括智能DNS/自由转移/隐私保护等服务!
MySQL数据库InnoDB坏页处理修复
2022-04-18 15:41:58 【

一、InnoDB坏页出现情况

由于物理磁盘、内存故障、突然断电、强制关机、强制杀死MySQL进程等可能会造成数据坏页现象,数据库实例会不断重启。


错误日志内报如下错误:


InnoDB: Database page corruption on disk or a failed


InnoDB: file read of page


现根据以上现象,对该问题进行处理分析。本方案针对InnoDB引擎进行坏页修复。进行灾难恢复大概率会造成造成一部分数据的丢失。


二、InnoDB坏页修复步骤

本文档只介绍使用innodb_force_recovery参数进行数据库强制打开的方式。


2.1 对数据目录进行冷备

关闭数据库实例,对数据目录进行冷备。


shell> tar –cvf data.tar data

2.2 查看错误日志内容

查询错误日志路径


SQL> show variables like 'log_error';

+---------------+------------+

| Variable_name | Value      |

+---------------+------------+

| log_error     | ./test.err |

+---------------+------------+

注:该路径即为datadir目录下



shell> tail -3000f /var/lib/mysql/data/test.err

判断此时数据库是否已经无法正常运行


2.3 修改相关参数启动服务


shell> vi /etc/my.cnf

innodb_force_recovery=1

注:


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

shell> mysqldump -uroot -pmysql --master-data=2  -E -R --all-databases > full.sql

2.5 新环境同版本初始化环境

1

shell> /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/var/lib/mysql --user=mysql

注:basedir/datadir根据实际情况修改


2.6 新环境导入数据

1

shell> mysql -uroot -p < full.sql


】【打印关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇CVE-2022-1364:Google Chrome V8.. 下一篇11 个步骤完美排查服务器是否被入..

立足首都,辐射全球,防御吧专注云防御及云计算服务15年!

联系我们

服务热线:13051179500 18910191973
企业QQ:1245940436
技术支持:010-56159998
E-Mail:xihedata.com
Copyright ? 2003-2016 fangyuba. 防御吧(完美解决防御与加速) 版权所有 增值许可:京B2-20140042号
售前咨询
公司总机:18910191973
24小时电话:010-56159998
投诉电话:18910191973
值班售后/技术支持
售后服务/财务
备案专员
紧急电话:18610088800