用守护进程保护服务器上的 MySQL
- 运维笔记
- 2020-01-08
- 290热度
- 0评论
问题背景
迁移到阿里云后,经常出现 MySQL 异常退出的问题。导致博客打不开。每次都是我发现之后,去服务器上重启 MySQL。
解决方案:用守护进程来监控 MySQL 的状态,如果发现它挂了,就自动重启。
编写守护进程代码
用 shell 脚本来写守护进程,比较方便。
代码如下(mysql-deamon.sh):
#!/bin/sh while true; do status=$(service mysqld status) if [[ "$status" != "MySQL running"* ]]; then echo $(date) echo "error, must restart" service mysqld start fi sleep 2 done
root 权限运行它就可以了。一旦检测到 MySQL 异常,就会执行 start 命令。
开机自启动
在 /etc/rc.local 中添加命令:
nohup bash /home/admin/deamons/mysql-deamon.sh > /home/admin/deamons/mysql-deamon.log &
搞定。