Shell腳本實現(xiàn)監(jiān)控MySQL主從同步
來源:易賢網(wǎng) 閱讀:666 次 日期:2015-01-21 14:23:43
溫馨提示:易賢網(wǎng)小編為您整理了“Shell腳本實現(xiàn)監(jiān)控MySQL主從同步”,方便廣大網(wǎng)友查閱!

代碼如下:

#!/bin/bash

#check MySQL_Slave Status

#crontab time 00:10

MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $4}'`

MYSQLIP=`ifconfig eth0|grep "inet addr" | awk -F[:" "]+ '{print $4}'`

STATUS=$(/usr/local/webserver/mysql/bin/mysql -u yuhongchun -pyuhongchun101 -S /tmp/mysql.sock -e "show slave status\G" | grep -i "running")

IO_env=`echo $STATUS | grep IO | awk ' {print $2}'`

SQL_env=`echo $STATUS | grep SQL | awk '{print $2}'`

DATA=`date +"%y-%m-%d %H:%M:%S"`

if [ "$MYSQLPORT" == "3306" ]

then

echo "mysql is running"

else

mail -s "warn!server: $MYSQLIP mysql is down"

fi

if [ "$IO_env" = "Yes" -a "$SQL_env" = "Yes" ]

then

echo "Slave is running!"

else

echo "####### $DATA #########">> /data/data/check_mysql_slave.log

echo "Slave is not running!" >> /data/data/check_mysql_slave.log

echo "Slave is not running!" | mail -s "warn! $MYSQLIP MySQL Slave is not running"

fi

建議每十分鐘運行一次

代碼如下:

*/10 * * * * root /bin/sh /root/mysql_slave.sh

記得在每臺MySQL從機上分配一個yuhongchun的用戶,權(quán)限大些也沒關(guān)系,只限定在本地運行,如下所示:

代碼如下:

grant all privileges on *.* to " identified by "yuhongchun101";

grant all privileges on *.* to" identified by "yuhongchun101";

腳本設(shè)計思路:

1、此腳本應(yīng)該能適應(yīng)各種各樣不同的內(nèi)外網(wǎng)環(huán)境,即IP不同的環(huán)境;

2、讓腳本也順便監(jiān)控下MySQL是否正常運行;

3、Slave機器的IO和SQL狀態(tài)都必須為YES,缺一不可,這里用到了多重條件判斷-a。

腳本產(chǎn)生的背景環(huán)境:

我有不少基于公網(wǎng)類型的網(wǎng)站(沒有硬件防火墻,直接置于IDC機房)做的都是MySQL主從架構(gòu),從機主要起備份數(shù)據(jù)庫和冷備份的作用,雖然從機宕機了問題不大,但也影響數(shù)據(jù)的備份工作;這樣的網(wǎng)站有數(shù)十個,如果一個一個手動的檢查,每天都要浪費不少時間,所以玩了下腳本控,設(shè)計了如上腳本。

腳本實踐:

此腳本我已用于了生產(chǎn)環(huán)境,大家可以放在我們的從MySQL機器上,用來監(jiān)控;另外建議有時也手動檢查下,有次發(fā)現(xiàn)rsync --delete 自動刪除了/data/data里面的數(shù)據(jù),即從數(shù)據(jù)庫的位置,腳本沒有報警。

后期應(yīng)用:

后期公司的MySQL數(shù)據(jù)庫準(zhǔn)備由一主一從架色升級成一主多從,讀寫分離的架構(gòu),LVS作從數(shù)據(jù)庫的負(fù)載均衡器,此腳本自動監(jiān)控從MySQL的replication狀態(tài),如果不能同步則自動關(guān)閉本機的MySQL服務(wù),免得影響整個網(wǎng)站的正常業(yè)務(wù)訪問。當(dāng)然了,到時腳本的運行周期肯定也需要更改,由10分鐘變成秒級的,這個可以通過while循環(huán)來實現(xiàn)。

更多信息請查看IT技術(shù)專欄

更多信息請查看腳本欄目
易賢網(wǎng)手機網(wǎng)站地址:Shell腳本實現(xiàn)監(jiān)控MySQL主從同步
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)