Linux データベース サーバーを管理する場合、mysqld サービスが予期せずシャットダウンされると、多大な不便が生じる可能性があります。このチュートリアルでは、さまざまな理由で MySQL が停止した場合に、スクリプトと 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
「3分ごと」という意味です。基本的に、この行を使用すると、MySQL の起動を自動化できます。 script.sh
。
4. ファイルを保存して閉じます。 crontab。
さて、あなたのスクリプト script.sh
サービスのステータスを確認するために 3 分ごとに自動的に実行されます mysqld
必要に応じて再起動します。
何か問題がありサポートが必要な場合は、喜んでコメントにお答えします。