技術(shù)文檔
Centos7 mysql守護(hù)(定時(shí)檢測(cè)mysql運(yùn)行狀態(tài))
2023-12-13 作者:簡(jiǎn)米科技 閱讀量:0 所屬分類(lèi):技術(shù)文檔如果您服務(wù)器的內(nèi)存不足或者執(zhí)行大量消耗CPU、內(nèi)存等操作時(shí)(比如出現(xiàn)攻擊,或大量的采集入庫(kù)行為時(shí)),可能會(huì)造成mysql數(shù)據(jù)庫(kù)異常停止的故障。
此守護(hù)腳本進(jìn)程可以定時(shí)檢測(cè)mysql服務(wù)是否運(yùn)行,如果未正常運(yùn)行,會(huì)自動(dòng)啟動(dòng)。
如果您使用的是寶塔面板,可以進(jìn)入寶塔面板--任務(wù)計(jì)劃中添加shell腳本計(jì)劃
守護(hù)腳本如下:
腳本一(適用于寶塔面板):
pgrep -x mysqld /dev/null
if [ $? -ne 0 ];then
bash /www/server/panel/script/rememory.sh
/etc/init.d/mysqld start
fi
如果您想手動(dòng)添加任務(wù)計(jì)劃也是可以的,通過(guò)ssh進(jìn)入服務(wù)器內(nèi),將腳本二寫(xiě)入到一個(gè)sh文件里,然后可以通過(guò)crontab -e 手動(dòng)添加任務(wù)計(jì)劃。
具體操作如下:
1,新建mysql_status.sh 文件,并寫(xiě)入以下腳本:
vi /root/mysql_status.sh
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
pgrep -x mysqld /dev/null
if [ $? -ne 0 ]
then
echo "At time:$(date) :MySQL is stop ." /var/log/mysql_messages
/etc/init.d/mysqld start
else
exit
fi
:wq #保存
2,crontab -e 進(jìn)入編輯crond服務(wù),添加如下命令:
*/5 * * * * /root/mysql_status.sh
:wq #保存退出
3,重啟crond服務(wù)
systemctl restart crond
這樣就完成了mysql 的進(jìn)程賽程任務(wù)了。