寶塔MYSQL服務(wù)自動(dòng)停止解決方法
時(shí)間:2022-03-07 來源: 作者: 我要糾錯(cuò)
問題描述
服務(wù)器上安裝的 MySQL,會(huì)出現(xiàn)自動(dòng)停止的情況。出現(xiàn)這種現(xiàn)象,通常是服務(wù)器的內(nèi)存不足導(dǎo)致的。
具體可以通過服務(wù)器日志來進(jìn)行分析排查:
查看服務(wù)器的系統(tǒng)日志 /var/log/messages
看下在 MySQL 自動(dòng)停止的時(shí)間段內(nèi),有什么異常的日志信息,如果日志有提示 Out of memory
就可以判定,是服務(wù)器的內(nèi)存使用不足,導(dǎo)致系統(tǒng)自動(dòng)殺死的 MySQL 的進(jìn)程
解決辦法
一、通過升級(jí)服務(wù)器的內(nèi)存可以解決.
二、不想花錢,或者服務(wù)器偶爾不足,可以優(yōu)化寶塔設(shè)置
服務(wù)器運(yùn)行寶塔面板經(jīng)常出現(xiàn)MySQL數(shù)據(jù)庫(kù)自動(dòng)停止,可能是由于云服務(wù)器內(nèi)存吃緊的問題,新手站長(zhǎng)網(wǎng)站這臺(tái)云服務(wù)器是1核1G的,所以應(yīng)該是內(nèi)存太小導(dǎo)致的,那么怎么辦?可以通過寶塔面板后臺(tái)的Linux工具箱來設(shè)置Swap/虛擬內(nèi)存:
首先登錄到寶塔面板后臺(tái),選擇左側(cè)欄“軟件商店”--“系統(tǒng)工具”--找到“Linux工具箱”,點(diǎn)擊設(shè)置,選擇“Swap/虛擬內(nèi)存”,添加Swap,如下圖所示:
寶塔Linux工具箱Swap/虛擬內(nèi)存
- swap是Linux下的虛擬內(nèi)存,設(shè)置適當(dāng)?shù)膕wap可增加服務(wù)器穩(wěn)定性
- 建議swap容量在真實(shí)內(nèi)存容量的1.5倍左右,若您的服務(wù)器內(nèi)存大于4GB,可設(shè)1-2GB的固定值
- swap文件默認(rèn)保存在/www/swap,設(shè)置前請(qǐng)確保磁盤空間夠用
- 若您不需要swap,請(qǐng)將容量設(shè)為0
- OVZ虛擬架構(gòu)機(jī)器不可用此功能
綜上,如果寶塔面板MySQL數(shù)據(jù)庫(kù)經(jīng)常自動(dòng)重啟,很有可能是因?yàn)閮?nèi)存不足導(dǎo)致的,可以使用Linux工具箱來設(shè)置Swap虛擬內(nèi)存。
如果上述仍然不能解決問題,可以設(shè)置寶塔數(shù)據(jù)庫(kù)自動(dòng)重啟shell腳本,代碼如下:
pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ];then
bash /www/server/panel/script/rememory.sh
/etc/init.d/mysqld start
fi
上述shell腳本會(huì)自動(dòng)檢測(cè)寶塔數(shù)據(jù)庫(kù)是否停止,如果檢測(cè)到數(shù)據(jù)庫(kù)停止則自動(dòng)重啟。復(fù)制上述代碼粘貼到寶塔計(jì)劃任務(wù)Shell腳本中,如下圖所示:
寶塔數(shù)據(jù)庫(kù)自動(dòng)重啟Shell腳本
可以自行手動(dòng)停止MySQL數(shù)據(jù)庫(kù)測(cè)試下Shell腳本是否自動(dòng)運(yùn)行。