MySQL 如何在停止时自动启动?[Linux]

当您管理带有数据库的 Linux 服务器时,由于各种原因导致 mysqld 服务意外停止并不是一个令人愉快的情况。在本教程中,您将学习如何使用脚本和 crontab 在任何原因下 MySQL 停止时自动启动。

由于某些原因,mysqld 守护程序有时会在某些小时突然停止,而不会自动重新启动。由于服务器日志没有提供太多帮助,我寻找了一种解决方案,通过检查 mysqld 服务是否正在运行,并在它处于非活动状态时通过 crontab 启动它。

MySQL 如何在停止时自动启动?[Linux]

在使用 MariaDB 的 MySQL 服务器上,通常情况下,当由于各种原因停止时,mysqld 服务应该自动重新启动。如果没有这样做,下面的脚本将定期检查 mysqld 守护程序是否正在运行,并在它停止时帮助您自动启动 MySQL。

我的测试是在操作系统上完成的 Debian 12, MariaDB 10.11.4.

1. 打开控制台并为将来的脚本创建文件,该脚本将在 mysqld 服务停止时启动该服务。

我更喜欢使用编辑器“nano“。

sudo nano /usr/local/bin/autostart_mysql.sh

2. 在新文件中“autostart_mysql.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

3.保存新文件“autostart_mysql.sh”,然后设置执行权限。

chmod +x /usr/local/bin/autostart_mysql.sh

4. 导航至“/usr/local/bin/”并通过命令测试脚本:“./autostart_mysql.sh“。

MySQL 如何在停止时自动启动?[Linux]
自动启动mysql服务

现在,您正在开始的脚本 MySQL的 仅当手动执行时才会自动运行。 添加到 crontab 后,它将按照我们设置的时间间隔定期运行。 我选择了这个脚本“autostart_mysql.sh每 3 分钟运行一次。

如何将脚本添加到 crontab?

要将脚本添加到 crontab 以按照您设置的时间间隔定期运行,请运行以下命令: crontab -e,然后将命令行添加到文件末尾。

*/3 * * * * /usr/local/bin/autostart_mysql.sh

*/3 指定脚本每 3 分钟执行一次。

保存 crontab 并退出编辑器。

完成此步骤后,检查服务 mysqld 每3分钟执行一次,如果服务停止,它将自动启动。

如果您需要帮助或其他说明,我们很乐意回答您的意见。

作为科技爱好者,我从2006年开始在StealthSettings.com上愉快地撰写文章。我在操作系统方面有丰富的经验,包括macOS、Windows和Linux,还熟悉编程语言和博客平台(WordPress),以及在线商店平台(WooCommerce、Magento、PrestaShop)。

如何以 » Linux » MySQL的 » MySQL 如何在停止时自动启动?[Linux]
发表评论