mysql报错Ignoring the redo log due to missing MLOG_CHECKPOINT between

mysql版本:5.7.19

系统版本:centos7.3

由于周未公司断电,跑在vmware虚拟机上的mysql挂掉,无法重启

启动mysql的时候,error log的信息如下

--15T11::46.562061+:  [ERROR] InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint  and the end .
--15T11::46.562090+: [ERROR] InnoDB: Plugin initialization aborted with error Generic error
--15T11::47.062885+: [ERROR] Plugin 'InnoDB' init function returned error.
--15T11::47.062936+: [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
--15T11::47.062945+: [ERROR] Failed to initialize plugins.
--15T11::47.062951+: [ERROR] Aborting --15T11::47.062962+: [Note] Binlog end

在redo log里找不到checkpoint点,innodb引擎启动失败

解决办法有两个

第一个

设置innodb_force_recovery=6,然后启动mysql,能够顺利启动mysql

error log信息如下

--15T12::25.235397+:  [Warning] 'db' entry 'sys mysql.sys@localhost' ignored in --skip-name-resolve mode.
--15T12::25.235408+: [Warning] 'proxies_priv' entry '@ root@localhost' ignored in --skip-name-resolve mode.
--15T12::25.235540+: [ERROR] InnoDB: Failed to find tablespace for table `mysql`.`time_zone_leap_second` in the cache. Attempting to load the tablespace with space id
--15T12::25.256456+: [ERROR] InnoDB: Failed to find tablespace for table `mysql`.`time_zone_name` in the cache. Attempting to load the tablespace with space id
--15T12::25.258414+: [ERROR] InnoDB: Failed to find tablespace for table `mysql`.`time_zone` in the cache. Attempting to load the tablespace with space id
--15T12::25.263576+: [ERROR] InnoDB: Failed to find tablespace for table `mysql`.`time_zone_transition_type` in the cache. Attempting to load the tablespace with space id
--15T12::25.267569+: [ERROR] InnoDB: Failed to find tablespace for table `mysql`.`time_zone_transition` in the cache. Attempting to load the tablespace with space id
--15T12::25.272648+: [ERROR] InnoDB: Failed to find tablespace for table `mysql`.`servers` in the cache. Attempting to load the tablespace with space id
--15T12::25.276466+: [ERROR] InnoDB: Failed to find tablespace for table `mysql`.`slave_master_info` in the cache. Attempting to load the tablespace with space id
--15T12::25.280225+: [ERROR] InnoDB: Failed to find tablespace for table `mysql`.`slave_relay_log_info` in the cache. Attempting to load the tablespace with space id
--15T12::25.286619+: [ERROR] InnoDB: Failed to find tablespace for table `mysql`.`slave_worker_info` in the cache. Attempting to load the tablespace with space id
--15T12::25.292450+: [ERROR] Error writing master configuration.
--15T12::25.292468+: [ERROR] Error reading master configuration.
--15T12::25.294535+: [Warning] Recovery from master pos and file mysql-bin. for channel ''. Previous relay log pos and relay log file had been set to , /data/mysql/mysql3306/logs/mysql-relay. respectively.
--15T12::25.294643+: [ERROR] Error writing relay log configuration.
--15T12::25.294656+: [ERROR] Error reading relay log configuration.
--15T12::25.294983+: [ERROR] Slave: Failed to initialize the master info structure for channel ''; its record may still be present in 'mysql.slave_master_info' table, consider deleting it.
--15T12::25.294996+: [ERROR] Failed to create or recover replication info repositories.
--15T12::25.295000+: [Note] Some of the channels are not created/initialized properly. Check for additional messages above. You will not be able to start replication on those channels until the issue is resolved and the server restarted.

由于损坏的这个库是从库,所以显示无法初始化master info表

由于mysql库里有几个表都显示找不到表空间,那么会存在丢失数据的风险

第二个

按照网上说的,把实例的所有ib_logfilex文件删除,再启动mysql,能够顺利启动

参照:http://blog.csdn.net/weiwangsisoftstone/article/details/52954228

error log信息如下

--15T11::17.694175+:  [Note] Server socket created on IP: '::'.
--15T11::17.696000+: [ERROR] InnoDB: Page [page id: space=, page number=] log sequence number is in the future! Current system log sequence number .
--15T11::17.696018+: [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.
--15T11::17.696287+: [ERROR] InnoDB: Page [page id: space=, page number=] log sequence number is in the future! Current system log sequence number .
--15T11::17.696300+: [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.
--15T11::17.696535+: [ERROR] InnoDB: Page [page id: space=, page number=] log sequence number is in the future! Current system log sequence number .
--15T11::17.696551+: [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.
--15T11::17.697469+: [ERROR] InnoDB: Page [page id: space=, page number=] log sequence number is in the future! Current system log sequence number .
--15T11::17.697485+: [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.
--15T11::17.697809+: [ERROR] InnoDB: Page [page id: space=, page number=] log sequence number is in the future! Current system log sequence number .
--15T11::17.697821+: [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.
--15T11::17.698049+: [ERROR] InnoDB: Page [page id: space=, page number=] log sequence number is in the future! Current system log sequence number .
--15T11::17.698061+: [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.
--15T11::17.700092+: [Warning] 'user' entry 'root@localhost' ignored in --skip-name-resolve mode.
--15T11::17.700140+: [Warning] 'user' entry 'mysql.session@localhost' ignored in --skip-name-resolve mode.
--15T11::17.700153+: [Warning] 'user' entry 'mysql.sys@localhost' ignored in --skip-name-resolve mode.
--15T11::17.701714+: [Warning] 'db' entry 'performance_schema mysql.session@localhost' ignored in --skip-name-resolve mode.
--15T11::17.701727+: [Warning] 'db' entry 'sys mysql.sys@localhost' ignored in --skip-name-resolve mode.
--15T11::17.701881+: [Warning] 'proxies_priv' entry '@ root@localhost' ignored in --skip-name-resolve mode.
--15T11::17.702485+: [ERROR] InnoDB: Page [page id: space=, page number=] log sequence number is in the future! Current system log sequence number .
--15T11::17.702502+: [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.
--15T11::17.702718+: [ERROR] InnoDB: Page [page id: space=, page number=] log sequence number is in the future! Current system log sequence number .
--15T11::17.702741+: [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.
--15T11::17.702962+: [ERROR] InnoDB: Page [page id: space=, page number=] log sequence number is in the future! Current system log sequence number .
--15T11::17.702974+: [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.

按照报错信息,数据库也是无法回滚到之前一致性状态,有丢数据风险


总结

一般来说,mysql有坏块或者服务器异常关机

解决方法
1、在my.cnf里设置innodb_force_recovery=1 ,如果1不行改成2,最大是6 ,然后启动mysql, 将数据dump出来再 导入到新的实例
2、根据主键id ,逐个区间去导出,用mysqldump -w where条件,再导入到新实例

innodb_force_recovery影响整个innodb存储引擎的恢复状况,该值默认为0,表示当需要恢复时,需要执行所有的恢复操作,当不能进行有效恢复时,如数据页发生了corruption,mysql数据库可能宕机,并把错误写入错误日志中。

innodb_force_recovery=6表示mysql数据库已经有比较严重的损坏,就算把数据dump出来也不能保证dump出来的数据是没有问题的

最后建议选择第一个解决办法修改innodb_force_recovery的方法来恢复mysql,而不要选择第二个办法

mysql报错Ignoring the redo log due to missing MLOG_CHECKPOINT between的更多相关文章

  1. springboot报错Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean

    springboot项目在启动时需要把servlet容器编译进去,这时候如果你的maven依赖里面没有配置jetty或者tomcat相关依赖就会报错. 解决方法: jetty添加 <depend ...

  2. Spring boot 报错 Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.

    在实际开发中修改别人的代码,发现了这个报错,后来发现是因为pom.xml里面 只要将注释掉的部分注释掉就好了.

  3. MySQL启动报错Failed to open log (file 'D:\phpStudy\PHPTutorial\MySQL\data\mysql_bin.000045', errno 2)

    MySQL报错 191105 9:39:07 [Note] Plugin 'FEDERATED' is disabled. 191105 9:39:07 InnoDB: The InnoDB memo ...

  4. 安装mysql报错

    原文链接:https://blog.csdn.net/bao19901210/article/details/51917641 二进制安装 1.添加mysql组和mysql用户,用于设置mysql安装 ...

  5. xtrabackup备份MySQL报错:InnoDB: Error number 24 means 'Too many open files'

    xtrabackup备份MySQL报错:InnoDB: Error number 24 means 'Too many open files' 1.使用xtrabackup备份MySQL时出现如下报错 ...

  6. mysql报错Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage

    mysql报错Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage 在执行cr ...

  7. mysql报错排查总结

    mysql报错: [root@zabbix ~]# mysql ERROR 2002 (HY000): Can't connect to local MySQL server through sock ...

  8. PHP连接MySQL报错:SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket 'MySQL' (2)

    如下所示,PHP连接MySQL报错: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket 'MySQL' ...

  9. Asp.Net连接Mysql报错Out of sync with server

    Asp.Net连接Mysql报错Out of sync with server 原因:程序引用的MySql.Data.dll版本高于服务器版本 解决:下载一个低版本的MySql.Data.dll,项目 ...

随机推荐

  1. Kafka 生产者和消费者入门代码基础

    这篇博文讲解Kafka 的生产者和消费者实例. 基础版本一 生产者 ProducerFastStart.java package com.xingyun.tutorial_1; import org. ...

  2. Android内存泄漏杂谈

    内存泄漏:是指内存得不到GC的及时回收,从而造成内存占用过多.从而导致程序Crash,也就是常说的OOM. 一.static 先来看以下一段代码 public class DBHelper { pri ...

  3. Fortran一个获取硬件系统信息的函数库

    此函数库提供了 Visual Fortran 上获取硬盘ID,CPU编号,windows安装时间及文件头部校验的四个函数.可用于简单的程序加密.(但切勿用于商业性很强的地方)              ...

  4. Hadoop相关基础知识

    因为个人对这块的知识也不熟悉,所以大多内容来源于网络. 1.      Hadoop项目框架 2.      Hadoop Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用户可以 ...

  5. TF的模型文件

    TF的模型文件 标签(空格分隔): TensorFlow Saver tensorflow模型保存函数为: tf.train.Saver() 当然,除了上面最简单的保存方式,也可以指定保存的步数,多长 ...

  6. 构建基于Suricata+Splunk的IDS入侵检测系统

    一.什么是IDS和IPS? IDS(Intrusion Detection Systems):入侵检测系统,是一种网络安全设备或应用软件,可以依照一定的安全策略,对网络.系统的运行状况进行监视,尽可能 ...

  7. Centos7 Mysql5.7主从服务器配置

    在两台Linux机器上安装MySQL 一.Master主服务器配置1.编辑my.cnf(命令查找文件位置:find / -name my.cnf)vi /etc/mysql/my.cnf 在[mysq ...

  8. [转] tomcat 7/8 启动非常慢的解决方法

    在日志中发现启动慢的地方: -- ::] INFO o.s.c.s.DefaultLifecycleProcessor - Starting beans -- ::] INFO o.s.web.con ...

  9. WinForm中一个窗体调用另一个窗体

    [转] WinForm中一个窗体调用另一个窗体的控件和事件的方法(附带源码) //如果想打开一个 Form2 的窗体类,只需要: Form2 form = new Form2(); //有没有参数得看 ...

  10. 净资产收益率ROE连续3年超过15%的股票排名

    ​ R连续3年,12个季度的滚动ROE,都超过15%的股票排名,个股滚动ROE = 最近4个季度的归母净利润 / ((期初归母净资产 + 期末归母净资产) / 2). 查看更多ROE连续3年超过15% ...