CentOS 7下MySQL5.7.23的服务配置参数测试

centos 7系统中,mysql 5.7.23的服务管理已经从传统的sysvinit(使用命令如service mysql start)转变为systemd(使用命令如systemctl start mysqld.service)。最近,我对mysql 5.7.23的服务管理参数进行了测试,主要涉及restart、restartpreventexitstatus、restartsec和startlimitinterval这四个服务启动参数。

【服务启动方式对比】

1、在CentOS 7上,MySQL 5.7.23使用默认参数的服务启动方式

在MySQL崩溃(crash)、内存溢出(OOM)或使用kill -9终止进程(pid)三种情况下,mysqld进程都会被立即重新启动,间隔为100毫秒。

使用systemctl stop mysqld.service命令停止服务时,服务不会自动重启。

2、在CentOS 6上,MySQL 5.6.21的服务启动情况

MySQL崩溃、OOM导致的崩溃和OOM kill时,mysqld进程会被终止,但由于存在mysqld_safe守护进程,mysqld会自动重启。

对于kill -9命令,如果只终止mysqld进程,mysqld_safe守护进程会重新启动mysqld;但如果mysqld_safe也被终止,那么mysqld就不会被重新启动。

使用service mysql stop命令停止服务时,服务不会自动重启。

【如何在CentOS 7上实现kill -9 mysqld后不自动重启】

在RestartPreventExitStatus=参数中列出的退出码或信号不会导致服务被重新启动。

通过修改RestartPreventExitStatus=1 SIGKILL,添加kill -9对应的SIGKILL信号。

钉钉 AI 助理 钉钉 AI 助理

钉钉AI助理汇集了钉钉AI产品能力,帮助企业迈入智能新时代。

钉钉 AI 助理 204 查看详情 钉钉 AI 助理

测试表明,使用kill -9后,mysqld进程不会自动重启。

同样,测试OOM情况时,mysqld进程也不会自动重启。

CentOS 7下MySQL5.7.23的服务配置参数测试这是因为OOM在终止进程时发送的也是SIGKILL信号。

CentOS 7下MySQL5.7.23的服务配置参数测试【需要关注的两个服务配置参数】

1、RestartSec参数设置在重启服务(Restart)之前暂停的时间,默认值是100毫秒,即在mysqld进程因OOM或被终止后等待100毫秒后立即重启。

在MHA配置中,ping_interval=10表示MHA Manager每10秒ping一次master,尝试3次失败后执行故障转移(failover)。

这个参数需要评估是否需要调整,比如如果希望异常情况能被MHA检测到,最安全的做法是设置间隔30秒后重启mysql进程,即设置RestartSec=30。

2、StartLimitInterval参数

设置单元的启动频率限制。默认情况下,一个单元在10秒内最多允许启动5次。建议将其修改为StartLimitInterval=0,以无限制地重启。

以上就是CentOS 7下MySQL5.7.23的服务配置参数测试的详细内容,更多请关注其它相关文章!

本文转自网络,如有侵权请联系客服删除。