ITPub博客

首页 > 数据库 > MySQL > MySQL 8.0.11 无故崩溃

MySQL 8.0.11 无故崩溃

原创 MySQL 作者:ywxj_001 时间:2019-12-13 19:09:09 0 删除 编辑

MySQL 8.0.11 无故崩溃的crash日志:

2018-09-04T02:01:13.313544Z 21276 [Warning] [MY-010055] [Server] IP address '192.168.114.125' could not be resolved: Name or service not known
2018-09-04T04:57:10.808864Z 0 [Warning] [MY-010909] [Server] /usr/sbin/mysqld: Forcing close of thread 21592  user: 'BI@BL'.
2018-09-04T04:57:10.809204Z 0 [Warning] [MY-010909] [Server] /usr/sbin/mysqld: Forcing close of thread 21578  user: 'BI@BL'.
2018-09-04T04:57:10.811552Z 0 [Warning] [MY-010909] [Server] /usr/sbin/mysqld: Forcing close of thread 21242  user: 'BI@BL'.
2018-09-04T04:57:10.811681Z 0 [Warning] [MY-010909] [Server] /usr/sbin/mysqld: Forcing close of thread 21579  user: 'BI@BL'.
2018-09-04T04:57:10.815922Z 0 [Warning] [MY-010909] [Server] /usr/sbin/mysqld: Forcing close of thread 21311  user: 'BI@BL'.
2018-09-04T04:57:14.426047Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.11)  MySQL Community Server - GPL.
2019-12-09T06:02:30.162866Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.11) starting as process 21276
2019-12-09T06:03:01.852081Z 0 [ERROR] [MY-000000] [InnoDB] InnoDB: Assertion failure: page0cur.cc:1182
InnoDB: thread 139750246643456
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/8.0/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
06:03:01 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.
Attempting to collect some information that could help diagnose the problem.
As this is a crash and something is definitely wrong, the information

collection process might fail.


日志显示MySQL数据库崩溃了。

修复崩溃数据库。


当MySQL服务异常重启失败后,可以通过配置参数innodb_force_recovery来对MySQL服务进行修复启动。
参数innodb_force_recovery选项:
1 (SRV_FORCE_IGNORE_CORRUPT): 忽略检查到的 corrupt 页。尽管检测到了损坏的 page 仍强制服务运行。一般设置为该值即可,然后 dump 出库表进行重建。 2 (SRV_FORCE_NO_BACKGROUND): 阻止主线程的运行,如主线程需要执行 full purge 操作,会导致 crash。 阻止 master thread 和任何 purge thread 运行。若 crash 发生在 purge 环节则使用该值。 3 (SRV_FORCE_NO_TRX_UNDO): 不执行事务回滚操作。 4 (SRV_FORCE_NO_IBUF_MERGE): 不执行插入缓冲的合并操作。如果可能导致崩溃则不要做这些操作。不要进行统计操作。该值可能永久损坏数据文件。若使用了该值,则将来要删除和重建辅助索引。 5 (SRV_FORCE_NO_UNDO_LOG_SCAN): 不查看重做日志,InnoDB 存储引擎会将未提交的事务视为已提交。此时 InnoDB 甚至把未完成的事务按照提交处理。该值可能永久性的损坏数据文件。

6 (SRV_FORCE_NO_LOG_REDO): 不执行前滚的操作。恢复时不做 redo log roll-forward。使数据库页处于废止状态,继而可能引起 B 树或者其他数据库结构更多的损坏。


参数innodb_force_recovery设置:
在配置文件中的mysqld模块添加参数innodb_force_recovery。
[mysqld]

innodb_force_recovery    =     N


然后按照1-6启动MySQL服务。
1-5都失败,6终于把数据库服务拉起来了。
数据库启动后是只读模式,需要把数据导出到别的地方还原出来。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22996654/viewspace-2668568/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
在零售、金融行业从事数据库相关工作10余年,有丰富的数据库管理的相关经验。 涉及SqlServer、Oracle、MySQL、PostgreSQL等多种数据库。 专注于各类数据库的研究。 目前在一家外资的上市零售公司担任资深DBA岗位。负责整个集团数据库的架构设计和管理。

注册时间:2010-01-19

  • 博文量
    137
  • 访问量
    123971