最近在一台低配小鸡上跑的一个垃圾站遇到mysql频繁宕掉的情况,根据想法,定时检测mysql进程,一旦进程终止又可以自动重启。
最后在夫妻双双DEBUG博客找到了简单的解决方案。转载记录,以备不时之需及其他需要的网友。文章源自国外主机测评-https://www.zjcp.org/1764.html
文章源自国外主机测评-https://www.zjcp.org/1764.html
1、编写脚本 /root/listen/listen_mysql.sh文章源自国外主机测评-https://www.zjcp.org/1764.html
pgrep mysqld &> /dev/null if [ $? -gt 0 ] then echo "`date` mysql is stop" >> /var/log/mysql_listen.log service mysql start else echo "`date` mysql running" >> /var/log/mysql_listen.log fi
给权限:文章源自国外主机测评-https://www.zjcp.org/1764.html
chmod 777 /root/listen/listen_mysql.sh
2、添加定时任务文章源自国外主机测评-https://www.zjcp.org/1764.html
crontab -e
每隔一小时自动执行脚本检测mysql进程:文章源自国外主机测评-https://www.zjcp.org/1764.html
* */1 * * * root /root/listen/listen_mysql.sh
间隔时间可以根据需要自行修改,保存退出重启crond进程:文章源自国外主机测评-https://www.zjcp.org/1764.html
systemctl restart crond.service
这样系统会每个小时自动检测一次mysql状态,如果停止了会自动重启。文章源自国外主机测评-https://www.zjcp.org/1764.html
监控日志输出在了 /var/log/mysql_listen.log文章源自国外主机测评-https://www.zjcp.org/1764.html
文章源自国外主机测评-https://www.zjcp.org/1764.html