在生產(chǎn)環(huán)境中很多人會(huì)經(jīng)常遇到MySQL老是自動(dòng)停止的情況,那么MySQL老是自動(dòng)停止怎么辦?下面和大家分享下MySQL服務(wù)自動(dòng)停止的解決方法,MySQL服務(wù)自動(dòng)停止原因是內(nèi)存耗盡導(dǎo)致數(shù)據(jù)庫(kù)停止工作。
伊犁ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
大部分人的解決辦法幾乎都是這樣的:
service mysqld restart然而用這樣的方法確實(shí)可以解決問(wèn)題,但是治標(biāo)不治本,尤其是像WordPress這樣的程序,消耗內(nèi)存極其嚴(yán)重,可以使用下面幾個(gè)解決方法。
1、升級(jí)服務(wù)器硬件,加大內(nèi)存。
2、優(yōu)化程序,減少內(nèi)存開(kāi)銷
3、監(jiān)控MySQL進(jìn)程是否為啟動(dòng),如果停止,則自動(dòng)啟動(dòng)數(shù)據(jù)庫(kù),使用下面代碼:
#!/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 ] echo At time:$(date) :MySQL is stop . /var/log/mysql_messages service mysqld start fi或者使用下面的代碼:
pgrep -x mysqld &> /dev/nullif [ $? -ne 0 ];thenbash /www/server/panel/script/rememory.sh/etc/init.d/mysqld startfi把上面的代碼加入到計(jì)劃任務(wù),每隔幾分鐘檢測(cè)一次,這樣就比較穩(wěn)妥了?,F(xiàn)在用寶塔的人比較多,如果你用的是寶塔把上面的代碼從“計(jì)劃任務(wù)”=》“添加計(jì)劃任務(wù)”,然后填寫你的任務(wù)名稱,選擇好時(shí)間,最后加入上面的代碼即可。