午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

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

    代碼如下:

    #!/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的用戶,權限大些也沒關系,只限定在本地運行,如下所示:

    代碼如下:

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

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

    腳本設計思路:

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

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

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

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

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

    腳本實踐:

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

    后期應用:

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

    更多信息請查看IT技術專欄

    更多信息請查看腳本欄目

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

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網