iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL自动重启如何解决
  • 785
分享到

MySQL自动重启如何解决

2024-04-02 19:04:59 785人浏览 泡泡鱼
摘要

本篇文章为大家展示了Mysql自动重启如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前言报错信息如下:2019-07-24T01:14:53.769512Z

本篇文章为大家展示了Mysql自动重启如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

前言

报错信息如下:

2019-07-24T01:14:53.769512Z 0 [Note] Executing 'SELECT * FROM INFORMATioN_SCHEMA.TABLES;' to get a list of tables using the deprecated partition engine. You may use the startup option '--disable-partition-engine-check' to skip this check.
2019-07-24T01:14:53.769516Z 0 [Note] Beginning of list of non-natively partitioned tables
01:14:53 UTC - mysqld Got signal 11 ;
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.
Please help us make Percona Server better by reporting any
bugs at Http://bugs.percona.com/

key_buffer_size=33554432
read_buffer_size=8388608
max_used_connections=0
max_threads=501
thread_count=4
connection_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 4478400 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x7f486900e000
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 7f4846172820 thread_stack 0x80000
/usr/local/mysql5.7/bin/mysqld(my_print_stacktrace+0x2c)[0xed481c]
/usr/local/mysql5.7/bin/mysqld(handle_fatal_signal+0x461)[0x7a15a1]
/lib64/libpthread.so.0(+0xf7e0)[0x7f498697c7e0]
/usr/local/mysql5.7/bin/mysqld(_ZN12ha_federated7rnd_posEPhS0_+0x2f)[0x12bcc3f]
/usr/local/mysql5.7/bin/mysqld(_ZN7handler10ha_rnd_posEPhS0_+0x172)[0x804a12]
/usr/local/mysql5.7/bin/mysqld(_ZN14Rows_log_event24do_index_scan_and_updateEPK14Relay_log_info+0x1e3)[0xe50e23]
/usr/local/mysql5.7/bin/mysqld(_ZN14Rows_log_event14do_apply_eventEPK14Relay_log_info+0x716)[0xe50196]
/usr/local/mysql5.7/bin/mysqld(_ZN9Log_event11apply_eventEP14Relay_log_info+0x6e)[0xe48fde]
/usr/local/mysql5.7/bin/mysqld(_Z26apply_event_and_update_posPP9Log_eventP3THDP14Relay_log_info+0x1f0)[0xe8d6f0]
/usr/local/mysql5.7/bin/mysqld(handle_slave_sql+0x163D)[0xe9a0fd]
/usr/local/mysql5.7/bin/mysqld(pfs_spawn_thread+0x1b4)[0x1209414]
/lib64/libpthread.so.0(+0x7aa1)[0x7f4986974aa1]
/lib64/libc.so.6(clone+0x6d)[0x7f4984c6bc4d]

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0): is an invalid pointer
Connection ID (thread ID): 2
Status: NOT_KILLED

You may download the Percona Server operations manual by visiting
http://www.percona.com/software/percona-server/. You may find information
in the manual which will help you identify the cause of the crash.

1. 初探过程

之前出现过类似的情况时,是因为内存不足,因日志中也有对应的提示:

key_buffer_size=33554432
read_buffer_size=8388608
max_used_connections=0
max_threads=501
thread_count=4
connection_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 4478400 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

测试环境物理内存确实不大,且剩余内存也不足,而且是作为另一个测试环境的从库,内存分配的也少。

之前一些环境也出现过类似的情况,通过调整参数及释放内存的等处理后可以正常启动,于是尝试着关闭一些临时程序并调整MySQL上述几个参数的值,如:

[mysqld]
max_connections = 50

然后重新启动MySQL,结果依旧不断重启。

初步处理未果。

MySQL自动重启如何解决 

2.   添加innodb_force_recovery 解决不断重启

在配置文件my.cnf添加innodb_force_recovery 先处理不断重启的问题

[mysqld]
innodb_force_recovery = 4

添加后,再次启动MySQL,此时不再出现反复重启。

查看数据库日志,有提示 [Note] InnoDB: !!! innodb_force_recovery is set to 4 !!!如下:

MySQL自动重启如何解决

因为此时可以打开数据库,于是尝试启动从库,但是此时报错,提示Table 'mysql.slave_relay_log_info' is read only.

此时再看错误日志,如下

MySQL自动重启如何解决

因此,本次启动时,innodb_force_recovery 设置为 4,在MySQL 5.6.15 以后,当 innodb_force_recovery 的值大于等于 4 的时候,InnoDB 表处于只读模式,因启动复制时需要将信息写入表中,所以此时报错。

注: 因设置为1-3 时,依旧未生效,因此我在处理时设置的为4(4 以上的值可能永久导致数据文件损坏。如果生产环境出现类似问题务必先拷贝一份测试,在测试通过后再在生产环境处理)。此时可以将所有数据dump出,之后再恢复即可。

3.  innodb_force_recovery 参数

innodb_force_recovery 可以设置为 1-6,大的值包含前面所有小于它的值的影响。

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 树或者其他数据库结构更多的损坏。

注意:

  1. 为了安全,当设置参数值大于 0 后,可以对表进行 select, create, drop 操作,但 insert, update 或者 delete 这类操作是不允许的。

  2. MySQL 5.6.15 以后,当 innodb_force_recovery 的值大于等于 4 的时候,InnoDB 表处于只读模式。

  3. 在值小于等于 3 时可以通过 select 来 dump 表,可以 drop 或者 create 表。

  4. MySQL 5.6.27 后大于 3 的值也支持 DROP TABLE; 如果事先知道哪个表导致了崩溃则可 drop 掉这个表。

  5. 如果碰到了由失败的大规模导入或大量 ALTER TABLE 操作引起的 runaway rollback,则可 kill 掉 mysqld 线程然后设置 innodb_force_recovery = 3 使数据库重启后不进行 rollback。然后删除导致 runaway rollback 的表; 如果表内的数据损坏导致不能 dump 整个表内容。那么附带 order by primary_key desc 从句的查询或许能够 dump 出损坏部分之后的部分数据;

上述内容就是MySQL自动重启如何解决,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL自动重启如何解决

本文链接: https://www.lsjlt.com/news/56031.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL自动重启如何解决
    本篇文章为大家展示了MySQL自动重启如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前言报错信息如下:2019-07-24T01:14:53.769512Z...
    99+
    2024-04-02
  • win10黑屏自动重启如何解决
    这篇“win10黑屏自动重启如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“win10黑屏自动重启如何解决”文章吧。方...
    99+
    2023-07-01
  • win71分钟自动重启如何解决
    这篇文章主要介绍“win71分钟自动重启如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win71分钟自动重启如何解决”文章能帮助大家解决问题。win71分钟自动重启解决方法:右击桌面的“计算...
    99+
    2023-07-01
  • 电脑无故自动重启如何解决
    今天小编给大家分享一下电脑无故自动重启如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。软件问题:计算机遭遇病毒攻击有一...
    99+
    2023-06-28
  • win11玩游戏自动重启如何解决
    这篇文章主要介绍“win11玩游戏自动重启如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win11玩游戏自动重启如何解决”文章能帮助大家解决问题。解决方法:方法一: 首先我们按下键盘“win...
    99+
    2023-07-01
  • 电脑总是自动重启如何解决
    如果电脑总是自动重启,可能是由于以下原因:1. 软件冲突:某些软件可能与系统或其他软件不兼容,导致电脑崩溃并自动重启。你可以尝试卸载...
    99+
    2023-09-07
    电脑
  • win7关机后自动重启如何解决
    今天小编给大家分享一下win7关机后自动重启如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。操作步骤:首先使用搜索打开...
    99+
    2023-07-01
  • 电脑关机后自动重启如何解决
    这篇“电脑关机后自动重启如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“电脑关机后自动重启如何解决”文章吧。解决方法一...
    99+
    2023-06-30
  • win10突然蓝屏自动重启如何解决
    这篇文章主要讲解了“win10突然蓝屏自动重启如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win10突然蓝屏自动重启如何解决”吧!为什么win10突然蓝屏自动重启的解决办法:方法一...
    99+
    2023-07-01
  • mysql关闭后自动重启的解决方法
    小编给大家分享一下mysql关闭后自动重启的解决方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!mysql关闭后自动重启的解决方法:首先在桌面“开始”搜索框内输入“cmd”,点击【cmd.e...
    99+
    2024-04-02
  • win10版本1909关机自动重启如何解决
    本篇内容介绍了“win10版本1909关机自动重启如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!方法一:打开控制面板;依次选取“硬件...
    99+
    2023-07-01
  • win11 explorer.exe无限反复自动重启如何解决
    今天小编给大家分享一下win11 explorer.exe无限反复自动重启如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-07-01
  • win10系统关机后自动重启如何解决
    win10系统关机后自动重启的问题可能是由多种原因引起的,下面列出了一些可能的解决方法:1. 检查电源设置:打开控制面板,选择“硬件...
    99+
    2023-09-02
    win10
  • win11资源管理器自动重启如何解决
    本文小编为大家详细介绍“win11资源管理器自动重启如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“win11资源管理器自动重启如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。方法一: 首先点击下方...
    99+
    2023-07-01
  • Win10重启后桌面图标自动重新排列如何解决
    这篇文章主要讲解了“Win10重启后桌面图标自动重新排列如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Win10重启后桌面图标自动重新排列如何解决”吧!打开运行,输入命令Gpedit...
    99+
    2023-07-02
  • centos频繁自动重启怎么解决
    频繁自动重启可能是由于系统故障、硬件问题或者系统配置不正确所导致的。以下是一些可能的解决方法:1. 检查系统日志:使用命令`jour...
    99+
    2023-08-31
    centos
  • 如何禁用redis自动重启
    禁用redis自动重启的方法:在Ubuntu中使用“update-rc.d”,如:sudo update-rc.d redis-server disable也可以在特定的运行级别禁用,如:sudo u...
    99+
    2024-04-02
  • mysql启动失败:mysql服务无法启动如何解决
    本篇内容主要讲解“mysql启动失败:mysql服务无法启动如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql启动失败:mysql服务无法启动如何...
    99+
    2024-04-02
  • 电脑不断自动重启怎么解决
    电脑不断自动重启的问题可能有很多原因,以下是一些可能的解决方法:1. 检查电脑是否存在硬件问题,如电源供应不足、散热不良等。可以检查...
    99+
    2023-09-06
    电脑
  • mysql如何解决3534无法启动
    这篇文章主要介绍“mysql如何解决3534无法启动”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql如何解决3534无法启动”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作