国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Shell腳本實現監控MySQL主從同步

2019-10-26 18:44:50
字體:
來源:轉載
供稿:網友

代碼如下:
代碼如下:
#!/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" yuhongchun027@163.com
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" yuhongchun027@163.com
fi

建議每十分鐘運行一次
代碼如下:
*/10 * * * * root /bin/sh /root/mysql_slave.sh

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

代碼如下:
grant all privileges on *.* to "yuhongchun"@"127.0.0.1" identified by "yuhongchun101";
grant all privileges on *.* to "yuhongchun"@"localhost" identified by "yuhongchun101";

腳本設計思路:

1、此腳本應該能適應各種各樣不同的內外網環境,即IP不同的環境;
2、讓腳本也順便監控下MySQL是否正常運行;
3、Slave機器的IO和SQL狀態都必須為YES,缺一不可,這里用到了多重條件判斷-a。

腳本產生的背景環境:

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

腳本實踐:

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

后期應用:

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凯里市| 西畴县| 南丰县| 庆阳市| 林西县| 眉山市| 杨浦区| 济南市| 肥西县| 平罗县| 南川市| 马龙县| 梨树县| 平潭县| 分宜县| 波密县| 久治县| 于田县| 扎鲁特旗| 平罗县| 芦溪县| 邮箱| 防城港市| 清徐县| 泸州市| 长乐市| 新邵县| 海兴县| 桦南县| 平远县| 颍上县| 南木林县| 万全县| 交口县| 太仆寺旗| 卓资县| 澄江县| 赤水市| 木兰县| 江津市| 张家口市|