机房一台服务器上的mysql运行一段时间了,突然出现了一个很奇怪的现象:重启后无法恢复了!准确情况是:启动mysql后随即就又关闭了。

查看mysql错误日志如下:

160920 22:41:41 mysqld_safe Starting mysqld daemon with databases from /home/MysqlData/

2016-09-20 22:41:41 0 [Note] /Data/app/mysql5.6.25/bin/mysqld (mysqld 5.6.25-log) starting as process 32372 ...

2016-09-20 22:41:42 32372 [Note] Plugin 'FEDERATED' is disabled.

2016-09-20 22:41:42 32372 [Warning] option 'innodb-write-io-threads': unsigned value 1000 adjusted to 64

2016-09-20 22:41:42 32372 [Warning] option 'innodb-read-io-threads': unsigned value 1000 adjusted to 64

2016-09-20 22:41:42 32372 [Note] InnoDB: Using atomics to ref count buffer pool pages

2016-09-20 22:41:42 32372 [Note] InnoDB: The InnoDB memory heap is disabled

2016-09-20 22:41:42 32372 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2016-09-20 22:41:42 32372 [Note] InnoDB: Memory barrier is not used

2016-09-20 22:41:42 32372 [Note] InnoDB: Compressed tables use zlib 1.2.3

2016-09-20 22:41:42 32372 [Note] InnoDB: Using CPU crc32 instructions

2016-09-20 22:41:42 32372 [Note] InnoDB: Initializing buffer pool, size = 1.0G

2016-09-20 22:41:42 32372 [Note] InnoDB: Completed initialization of buffer pool

2016-09-20 22:41:42 32372 [Note] InnoDB: Highest supported file format is Barracuda.

2016-09-20 22:41:42 32372 [Note] InnoDB: Log scan progressed past the checkpoint lsn 20293587957

2016-09-20 22:41:42 32372 [Note] InnoDB: Database was not shutdown normally!

2016-09-20 22:41:42 32372 [Note] InnoDB: Starting crash recovery.

2016-09-20 22:41:42 32372 [Note] InnoDB: Reading tablespace information from the .ibd files...

2016-09-20 22:41:42 32372 [Note] InnoDB: Restoring possible half-written data pages

2016-09-20 22:41:42 32372 [Note] InnoDB: from the doublewrite buffer...

InnoDB: Doing recovery: scanned up to log sequence number 20293596130

2016-09-20 22:41:42 32372 [Note] InnoDB: Starting an apply batch of log records to the database...

InnoDB: Progress in percent: 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

InnoDB: Apply batch completed

InnoDB: Last MySQL binlog file position 0 136254, file name mysql-bin.000013

2016-09-20 22:41:43 32372 [Note] InnoDB: 128 rollback segment(s) are active.

2016-09-20 22:41:43 32372 [Note] InnoDB: Waiting for purge to start

2016-09-20 22:41:43 7f77a9edd700 InnoDB: Assertion failure in thread 140151928772352 in file trx0purge.cc line 699

InnoDB: Failing assertion: purge_sys->iter.trx_no <= purge_sys->rseg->last_trx_no

InnoDB: We intentionally generate a memory trap.

InnoDB: Submit a detailed bug report to http://bugs.mysql.com.

InnoDB: If you get repeated assertion failures or crashes, even

InnoDB: immediately after the mysqld startup, there may be

InnoDB: corruption in the InnoDB tablespace. Please refer to

InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html

InnoDB: about forcing recovery.

02:41:43 UTC - mysqld got signal 6 ;

This could be because you hit a bug. It is also possible that this binary

or one of the libraries it was linked against is corrupt, improperly built,

or misconfigured. This error can also be caused by malfunctioning hardware.

We will try our best to scrape up some info that will hopefully help

diagnose the problem, but since we have already crashed,

something is definitely wrong and this may fail.

分析日志后发现,数据库无法重启的原因是因为ibdata1文件损坏,重启后无法正常恢复。

解决办法:

需要跳过恢复步骤,修改my.cnf文件,在my.cnf中的[mysqld]中添加:

innodb_force_recovery = 6

innodb_purge_threads = 1

解释:

innodb_force_recovery可以设置为1-6,大的数字包含前面所有数字的影响。

具体数字对应的含义:

1-----(SRVFORCEIGNORECORRUPT):忽略检查到的corrupt页。

2-----(SRVFORCENOBACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。

3-----(SRVFORCENOTRXUNDO):不执行事务回滚操作。

4-----(SRVFORCENOIBUFMERGE):不执行插入缓冲的合并操作。

5-----(SRVFORCENOUNDOLOGSCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。

6-----(SRVFORCENOLOG_REDO):不执行前滚的操作。

再次启动mysql就ok了~

如果还无法启动,则需要删除数据目录datafile下的 ibdata1,ib_logfile*等文件。

启动后导出MySQL数据库,重新恢复即可。

mysql ibdata损坏_mysql ibdata1损坏相关推荐

  1. mysql ibdata作用_mysql data文件夹下ibdata1 文件作用

    ibdata1这个文件超级大, 查了一下, 大概的作用如下 是储存的格式 INNODB类型数据状态下, ibdata用来储存文件的数据 而库名的文件夹里面的那些表文件只是结构而已 由于mysql4.1 ...

  2. mysql内部损坏_mysql表损坏故障案例

    开发人员反映猎豹有个功能报500错误,让我查一下服务器上有没有做过什么调整,额,不会吧,今天元旦啊,谁会闲的蛋疼去调试服务器啊,最后他们查到了和一个表有关的sql都执行不了, 那肯定是这个表损坏了,查 ...

  3. mysql导入ibdata文件_MySQL ibdata1文件迁移

    目的:主机系统/var目录快满了,经查询最大的文件是mysql的ibdata1文件,有17G大小,故需要迁移这个文件到其他目录下,以释放/var目录空间. 1.先备份下数据库是个好习惯 # mysql ...

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

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

  5. 硬盘坏了mysql数据恢复_mysql服务器硬盘损坏后的数据恢复

    摘要: 在实际工作中遇到了mysql服务器硬盘挂掉的情况,并且无slave无备份.此时就只能去恢复硬盘的数据了.本文根据一次实战操作整理,分别用4种办法尝试修复数据.我们首先拿到了坏硬盘上的文件,在新 ...

  6. 电脑坏了怎么把硬盘的mysql数据恢复_mysql服务器硬盘损坏后的数据恢复

    摘要: 在实际工作中遇到了mysql服务器硬盘挂掉的情况,并且无slave无备份.此时就只能去恢复硬盘的数据了.本文根据一次实战操作整理,分别用4种办法尝试修复数据.我们首先拿到了坏硬盘上的文件,在新 ...

  7. mysql查看数据表是否损坏_mysql 检查数据库是否损坏

    MySQL主从复制之主库宕机处理 主库宕机  Master DOWN机-企业场景一主多从宕机从库切换主继续和从同步过程详解 登陆从库,show processlist; 查看两个线程的更新状态: 查看 ...

  8. 数据库服务器不支持innodb存储引擎,MySQL InnoDB存储引擎表损坏恢复指南

    目的 故障排除步骤 适用于: MySQL服务器版本 5.0至5.7[5.0版到5.7] A 第一反应 A.1 停止,备份,重启 停止MySQL 服务器.如果它已经下线或崩溃,跳到步骤 2. 代码: / ...

  9. mysql data ibdata1_database - 如何在MySQL中收缩/清除ibdata1文件

    database - 如何在MySQL中收缩/清除ibdata1文件 我在localhost中使用MySQL作为在R中执行统计的"查询工具",也就是说,每次运行R脚本时,我创建一个 ...

最新文章

  1. pdf一键转曲_新技能:如何利用PDF制作可变数据!
  2. Mybatis中 $ 和 # 千万不要乱用!
  3. python加密执行_如何在Python中执行PGP(生成密钥,加密/解密)
  4. jvm性能调优实战 - 48无限循环调用和没有缓存的动态代理引起的OOM
  5. 为什么要选择学Web前端?无法反驳的4大理由
  6. 【Qt】Qt之网格布局
  7. C/C++ Socket编程Http下载的简单实现
  8. 堆区和方法区的小认识
  9. OD 手动脱壳 - UPX
  10. 小旋风虚拟服务器怎么用,超级小旋风asp服务器软件使用图文教程
  11. 7-27 冒泡法排序 (20分)
  12. 蓝桥杯:解救小哈最短路径
  13. 惠普服务器dl388g7光盘引导,hp dl388g7 无光驱怎么安装系统
  14. html如何设定盒子的高,css 高度height设置
  15. CANoe.DiVa操作指南——配置特定测试序列
  16. 余承东:华为唯一亏损业务是汽车,马斯克推特交易再生变,京东方获iPhone 14订单,今日更多大新闻在此...
  17. iview中Table的render用法大全
  18. Win10蓝牙突然消失的解决办法
  19. 专家解读:读研到底值不值(转自中华英才网)
  20. android 图片合成

热门文章

  1. 上坤地产上市两次破发:营收增速逐年下降,董事长朱静持股50%
  2. Map集合,File类,IO流
  3. flash骨骼动画资料
  4. 南邮和重庆邮电大学计算机专业,高考:南京邮电大学和重庆邮电大学哪个好?...
  5. Java中List初始化(亲测)
  6. R语言 在控制台隐藏函数自带的print内容
  7. 抠图后怎么和背景自然融合?融合背景的抠图技术介绍
  8. 小米8配哪个版本的MIUI?
  9. linux服务器根目录空间不足
  10. 微信公众号h5实现高德/百度/腾讯地图导航