本篇文章为大家展示了MySQL 8.0.11 无故崩溃怎么办,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
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终于把数据库服务拉起来了。
数据库启动后是只读模式,需要把数据导出到别的地方还原出来。
上述内容就是MySQL 8.0.11 无故崩溃怎么办,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。