全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

mysql innodb 异常修复经验分享

一套测试用的mysql库,之前用的centos6默认源里的mysql 5.1.71的版本 。后来想试用下Percona server 5.7,由于这套库里没有什么重要数据 。所以操作前也未进行备份,配置好源后,直接就进行了安装。数据文件也存放在默认位置,安装完成后,直接启动mysql,发现启动失败,发现无法启动正常启动。

一、回退重新装mysql

为避免再从其他地方导入这个数据的麻烦,先对当前库的数据库文件做了个备份(/var/lib/mysql/位置)。接下来将Percona server 5.7包进行了卸载,重新安装原先老的5.1.71的包,启动mysql服务,提示Unknown/unsupported table type: innodb,无法正常启动。

110509 12:04:27 InnoDB: Initializing buffer pool, size = 384.0M
110509 12:04:27 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 157286400 bytes!
110509 12:04:27 [ERROR] Plugin 'InnoDB' init function returned error.
110509 12:04:27 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
110509 12:04:27 [ERROR] Unknown/unsupported table type: innodb
110509 12:04:27 [ERROR] Aborting
110509 12:04:27 [Note] /usr/sbin/mysqld: Shutdown complete

删除/var/lib/mysql/目录,重新启动数据库服务,并初始化,发现正常,show engines能发现有innodb引擎。再将数据库停掉,将之前备份的/var/lib/mysql/目录的内容覆盖当前位置的内容,重启。又发现不能进行启动,报错内容和刚刚一样。

/var/lib/mysql目录内容的结构如下:

-rw-rw---- 1 mysql mysql 10485760 2月  26 18:10 ibdata1
-rw-rw---- 1 mysql mysql 5242880 2月  26 18:10 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 2月  26 17:20 ib_logfile1
drwx------ 2 mysql mysql   4096 2月  26 17:20 mysql
drwx------ 2 mysql mysql   4096 2月 26 17:24 wiki

wiki目录是测试数据的库,ibdata1文件为数据文件,ib开头的两个文件为日志文件,mysql 目录下为系统库相关的东西 。再次使用初始化的数据,并将wiki目录和ibdata1文件覆盖到/var/lib/mysql 目录下,可以正常启动,也可以正常登录。

二、innodb模块重装

不过在通过mysqldump备份时,又提示unknow table engine "Innodb" 。登录后,查看当前所有的引擎类型,发现其中果然不存在innodb类型:

通过alter命令修改其中一个表的类型为MyISAM ,发现仍然报错。

通过 find 查找发现/usr/lib64/mysql/plugin/目录下有ha_innodb_plugin.so文件。印象中mysql5以后的版本支持在线插件安装 。通过下面查看确认,果然支持:

使用如下命令加载时,发现不成功:

install plugin innodb soname 'ha_innodb.so';

三、备份

在/etc/my.cnf中增加如下配置:

plugin-load=innodb=ha_innodb_plugin.so
plugin_dir=/usr/lib64/mysql/plugin/
default-storage-engine=InnoDB 

发现仍启动失败。查看mysql-error.log发现有如下内容:

InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 7.
InnoDB: You may have to recover from a backup.
InnoDB: It is also possible that your operating
InnoDB: system has corrupted its own file cache
InnoDB: and rebooting your computer removes the
InnoDB: error.
InnoDB: If the corrupt page is an index page
InnoDB: you can also try to fix the corruption
InnoDB: by dumping, dropping, and reimporting
InnoDB: the corrupt table. You can use CHECK
InnoDB: TABLE to scan your table for corruption.
InnoDB: See also http://dev.mysql.com/doc/refman/5.1/en/forcing-innodb-recovery.html

打开forcing-innodb-recovery官方页面,发现可以通过指定innodb_force_recovery参数,进行强制启动和恢复。在/etc/my.cnf中增加如下内容:

innodb_force_recovery=6

重新启动成功了。通过mysqldump备份也没有问题,将备份数据导入其他主机发现也正常可以测试。

这下就好搞了,将mysql彻底删除,重新安装Percona server 5.7,安装完后,建库,还原数据,程序重新连接,一切OK。

总结:

由于mysql innodb数据文件的特性,可以在出现问题,无法正常启动时,先将./ib_logfile0 和 ./ib_logfile1 两个日志文件先移走,再启动,如果还不成功,可以用innodb_force_recovery参数进行强制恢复。除此之外,日志也很重启,有问题先看日志。


# mysql  # innodb  # 异常修复  # MySQL 查看链接及杀掉异常链接的方法  # MySQL手动注册binlog文件造成主从异常的原因  # MySQL数据库连接异常汇总(值得收藏)  # mysql5.7.21启动异常的修复方法  # MySQL定义异常和异常处理详解  # MySQL存储过程中一些基本的异常处理教程  # 分析一个MySQL的异常查询的案例  # MySQL异常处理浅析  # 分析MySQL抛出异常的几种常见解决方式  # 报错  # 重启  # 目录下  # 重新启动  # 无法正常  # 进行了  # 重新安装  # 发现有  # 放在  # 就好  # 还不  # 可以用  # 没有什么  # 也很  # 可以通过  # 并将  # 不存在  # 这下  # 这套  # 其中一个 


相关文章: 成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  微课制作网站有哪些,微课网怎么进?  如何撰写建站申请书?关键要点有哪些?  如何做静态网页,sublimetext3.0制作静态网页?  如何用AWS免费套餐快速搭建高效网站?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  广州建站公司哪家好?十大优质服务商推荐  网站制作网站,深圳做网站哪家比较好?  怎么将XML数据可视化 D3.js加载XML  C#怎么使用委托和事件 C# delegate与event编程方法  重庆网站制作公司哪家好,重庆中考招生办官方网站?  Python文件管理规范_工程实践说明【指导】  定制建站模板如何实现SEO优化与智能系统配置?18字教程  小型网站建站如何选择虚拟主机?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  如何通过虚拟主机快速搭建个人网站?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  建站主机选哪家性价比最高?  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  海南网站制作公司有哪些,海口网是哪家的?  定制建站价位费用解析与套餐推荐全攻略  动图在线制作网站有哪些,滑动动图图集怎么做?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  php json中文编码为null的解决办法  如何快速查询网址的建站时间与历史轨迹?  全景视频制作网站有哪些,全景图怎么做成网页?  独立制作一个网站多少钱,建立网站需要花多少钱?  如何快速生成高效建站系统源代码?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  如何通过远程VPS快速搭建个人网站?  如何高效完成自助建站业务培训?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  制作销售网站教学视频,销售网站有哪些?  如何通过多用户协作模板快速搭建高效企业网站?  建站之星Pro快速搭建教程:模板选择与功能配置指南  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  如何通过PHP快速构建高效问答网站功能?  建站主机是否等同于虚拟主机?  如何挑选高效建站主机与优质域名?  公司网站的制作公司,企业网站制作基本流程有哪些?  定制建站是什么?如何实现个性化需求?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  linux top下的 minerd 木马清除方法  香港服务器租用费用高吗?如何避免常见误区?  北京制作网站的公司,北京铁路集团官方网站?  如何快速搭建支持数据库操作的智能建站平台?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  大同网页,大同瑞慈医院官网? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。