MySQL自动重启如何解决

  介绍

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

<强>前言

报错信息如下:

2019 - 07 - 24 t01:14:53.769512z 0[注]& # 39;执行SELECT * FROM INFORMATION_SCHEMA.TABLES; & # 39;得到一个使用弃用分区引擎的表列表。你可以使用启动选项& # 39;——disable-partition-engine-check& # 39;跳过此检查。
2019 - 07 - 24 t01:14:53.769516z 0[注]列表的开始:非分区表
01:14:53 UTC - mysqld得到信号11;
,这可能是因为你打了一个错误。也有可能这个二进制
或> 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    时间+ key_buffer_size  (read_buffer_size  +, sort_buffer_size) * max_threads =, 4478400, K  bytes  of 内存   Hope 这# 39;s 好吧,if 不,decrease  some  variables 拷贝,方程。

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

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

(mysqld)   50 max_connections =,

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

初步处理未果。

 MySQL自动重启如何解决”>,</p> <p> <强> 2只,添加innodb_force_recovery解决不断重启</强> </p> <p>在配置文添件my . cnf中所做加innodb_force_recovery先处理不断重启的问题</p> <pre类= (mysqld)   innodb_force_recovery =, 4

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

查看数据库日志,有提示[注]InnoDB: ! ! !innodb_force_recovery设置为4 ! ! !如下:

 MySQL自动重启如何解决

因为此时可以打开数据库,于是尝试启动从库,但是此时报错,提示表& # 39;mysql.slave_relay_log_info& # 39;读取alt=" MySQL自动重启如何解决">

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

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

<强> 3只;innodb_force_recovery参数

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

1 (SRV_FORCE_IGNORE_CORRUPT):忽略检查到的腐败页。尽管检测到了损坏的页面仍强制服务运行。一般设置为该值即可,然后倾倒出库表进行重建。

2 (SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行全面清洗操作,会导致崩溃。阻止掌握线程和任何清除线程运行。若事故发生在清洗环节则使用该值。

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):不执行前滚的操作。恢复时不做重做日志前滚。使数据库页处于废止状态,继而可能引起B树或者其他数据库结构更多的损坏。

<强>注意:

<李>

为了安全,当设置参数值大于0后,可以对表进行选择、创建、删除操作,但插入、更新或删除者这类操作是不允许的。

<李>

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

<李>

在值小于等于3时可以通过选择来转储表,可以降低或者创建表。

<李>

MySQL 5.6.27后大于3的值也支持删除表,如果事先知道哪个表导致了崩溃则可删除掉这个表。

MySQL自动重启如何解决