代碼如下:
建議每十分鐘運(yùn)行一次
記得在每臺(tái)MySQL從機(jī)上分配一個(gè)yuhongchun的用戶,權(quán)限大些也沒(méi)關(guān)系,只限定在本地運(yùn)行,如下所示:
腳本設(shè)計(jì)思路:
1、此腳本應(yīng)該能適應(yīng)各種各樣不同的內(nèi)外網(wǎng)環(huán)境,即IP不同的環(huán)境;
2、讓腳本也順便監(jiān)控下MySQL是否正常運(yùn)行;
3、Slave機(jī)器的IO和SQL狀態(tài)都必須為YES,缺一不可,這里用到了多重條件判斷-a。
腳本產(chǎn)生的背景環(huán)境:
我有不少基于公網(wǎng)類型的網(wǎng)站(沒(méi)有硬件防火墻,直接置于IDC機(jī)房)做的都是MySQL主從架構(gòu),從機(jī)主要起備份數(shù)據(jù)庫(kù)和冷備份的作用,雖然從機(jī)宕機(jī)了問(wèn)題不大,但也影響數(shù)據(jù)的備份工作;這樣的網(wǎng)站有數(shù)十個(gè),如果一個(gè)一個(gè)手動(dòng)的檢查,每天都要浪費(fèi)不少時(shí)間,所以玩了下腳本控,設(shè)計(jì)了如上腳本。
腳本實(shí)踐:
此腳本我已用于了生產(chǎn)環(huán)境,大家可以放在我們的從MySQL機(jī)器上,用來(lái)監(jiān)控;另外建議有時(shí)也手動(dòng)檢查下,有次發(fā)現(xiàn)rsync --delete 自動(dòng)刪除了/data/data里面的數(shù)據(jù),即從數(shù)據(jù)庫(kù)的位置,腳本沒(méi)有報(bào)警。
后期應(yīng)用:
后期公司的MySQL數(shù)據(jù)庫(kù)準(zhǔn)備由一主一從架色升級(jí)成一主多從,讀寫(xiě)分離的架構(gòu),LVS作從數(shù)據(jù)庫(kù)的負(fù)載均衡器,此腳本自動(dòng)監(jiān)控從MySQL的replication狀態(tài),如果不能同步則自動(dòng)關(guān)閉本機(jī)的MySQL服務(wù),免得影響整個(gè)網(wǎng)站的正常業(yè)務(wù)訪問(wèn)。當(dāng)然了,到時(shí)腳本的運(yùn)行周期肯定也需要更改,由10分鐘變成秒級(jí)的,這個(gè)可以通過(guò)while循環(huán)來(lái)實(shí)現(xiàn)。
標(biāo)簽:江西 遵義 上饒 仙桃 三門(mén)峽 大慶 大興安嶺 安康
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Shell腳本實(shí)現(xiàn)監(jiān)控MySQL主從同步》,本文關(guān)鍵詞 Shell,腳本,實(shí)現(xiàn),監(jiān)控,MySQL,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。