在管理Linux数据库服务器时,mysqld服务的意外关闭可能会带来相当大的不便。在本教程中,您将了解如何使用脚本和 crontab 自动启动 MySQL 由于各种原因而停止的情况。
由于不明原因,mysqld 守护进程可能会突然停止,并且在某些情况或时间不会自动重新启动。由于服务器日志文件没有提供这方面的有用信息,因此我寻找一种解决方案来监视 mysqld 服务的状态。因此,在不活跃的情况下,应该通过cronjob来启动自动重启。
让我们看看解决这个问题的分步教程。 (测试于 Linux Debian 12)
MySQL 停止时如何自动启动
第一步是创建脚本,该脚本将在 mysqld 服务停止时重新启动该服务。
1. 打开文本编辑器(例如 nano
或者 vi
)并将以下脚本复制到新文件中。例如,您可以使用:
nano /path/to/your/script.sh
复制脚本:
#!/bin/bash
if systemctl is-active mysqld > /dev/null; then
echo "The mysqld service is running."
else
echo "The mysqld service is not running. Restarting..."
systemctl start mysqld
fi
保存并关闭文本编辑器。
2. 赋予脚本执行权限,确保其可以运行:
chmod +x /path/to/your/script.sh
3. 将以下脚本添加到 crontab (命令: crontab -e
允许您编辑):
*/3 * * * * /path/to/your/script.sh
上面的行指定脚本每 3 分钟运行一次。象征 */3
意思是“每三分钟一次”。基本上,通过这一行,您可以自动启动 MySQL script.sh
。
4. 保存并关闭文件 crontab。
现在,你的脚本 script.sh
每3分钟自动运行一次,检查服务状态 mysqld
并在必要时重新启动它。
如果出现问题并且您需要帮助,我们很乐意回答您的意见。