AUTO MySQL Master Slave Replication UPDATE

  • Category: 電腦相關
  • Last Updated: Monday, 28 July 2014 15:37
  • Published: Wednesday, 23 July 2014 13:57
  • Written by sam

目前有三臺主機

WIN7浮動IP STANSYNC.GOTDNS.COM

EC2固I BOREDOM.GOTDNS.COM

ERUFA固I BOREDOM.ERUFA.COM --沒得玩…

因為習慣使然…還是都在本機(WIN7修改網頁內容

近日已實作了mysql-master-slave-replication

但可以見到實際上的問題

就是在實作時,我都是採用手動鍵入"浮動"的IP,這表示一但我WIN7(MASTER重新上線

SLAVE的部份就連不上了

為了能順利更新IP,在WIN7的部份,主機名對映IP的設定也是要有的(不然怎麼查…

所以也就順手寫個小SHELL來更新

所有前篇的動作都不能省

這篇只是拿來省點事而已

在SLAVE端寫個小SHELL(和平常工作上寫的…真的是微小…

 

[root@ip-172-31-12-172 ~]# cat stansync.sh

#!/bin/bash
ipadd=`(nslookup stansync.gotdns.com |tail -2 |grep Address: |awk '{print $2}')`
mysql -u root << EOF
slave stop;
change master to master_host='$ipadd';
slave start;
EOF

這樣就能自動的利用STANSYNC來轉成IP並更新MYSQL連線HOST了

這邊只有一個重點

那就是在MYSQL的設定

請修改/ETC/MY.CNF

照著下面依內容自行修改

[client]

 

password="MySQL密碼"

user=MySQL用户名

 

用戶名可以不用指定,也就是可以# 然後會自動帶入當前登入的USER NAME

密碼就填上自己的設定的

這麼作的好處就是直接可以登入…而不需要加上-p 來輸入密碼

另外就是…在/ETC/MY.CNF的權限記得要設定好!!!

 

然後將SHELL做進CRON就行了