當您管理帶有資料庫的 Linux 伺服器時,由於各種原因導致 mysqld 服務意外停止並不是一個令人愉快的情況。在這個教程中,您將學習如何使用腳本和 crontab 在任何原因下 MySQL 停止時自動啟動。
庫普林斯
由於某些原因,mysqld 守護程序有時會在某些時段突然停止,而不會自動重新啟動。由於伺服器日誌沒有提供太多幫助,我尋找了一種解決方案,通過檢查 mysqld 服務是否正在運行,並在其處於非活動狀態時透過 crontab 啟動它。
MySQL 如何在停止時自動啟動?[Linux]
在裝有 MadiaDB 的 MySQL 伺服器上,當 mysqld 服務因各種原因停止時,通常會自動重新啟動。如果沒有發生這種情況,下面的腳本將定期檢查是否 daemon 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]](https://stealthsettings.com/wp-content/uploads/2023/11/Autostart-mysql-service.webp)
現在,您正在開始的腳本 MySQL的 僅當手動執行時才會自動運行。 新增到 crontab 後,它將按照我們設定的時間間隔定期運行。 我選擇了這個腳本“autostart_mysql.sh
每 3 分鐘運行一次。
如何將腳本添加到 crontab?
若要將腳本新增至 crontab 以按照您設定的時間間隔定期執行,請執行以下命令: crontab -e
,然後將命令列新增到文件末尾。
*/3 * * * * /usr/local/bin/autostart_mysql.sh
*/3
指定腳本每 3 分鐘執行一次。
儲存 crontab 並退出編輯器。
完成此步驟後,檢查服務 mysqld
每3分鐘執行一次,如果服務停止,它將自動啟動。
如果您需要協助或其他說明,我們很樂意回答您的意見。