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