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分鐘執行一次,如果服務停止,它將自動啟動。

如果您需要協助或其他說明,我們很樂意回答您的意見。

對技術充滿熱情,我很高興寫 StealthSettings.com 自 2006 年起。我在作業系統方面擁有豐富的經驗: macOS, Windows 對 Linux,而且還包括程式語言和部落格平台(WordPress)和線上商店(WooCommerce、Magento、PrestaShop)。

如何 » Linux » MySQL的 » MySQL 如何在停止時自動啟動?[Linux]
發表評論