一主二從+讀寫分離+從2備份

一,拓撲圖
一,拓撲設置和疑問
1)  mysql數據庫進行一主二從設置,從1和從2
2)  在主庫上安裝Mysql_proxy,實現主庫和從1的讀寫分離
3)  擔心的問題:從1不能及時從主庫同步
               主庫故障,可停止Mysql_proxy,切換到從1,從2停止從主庫備份,
               和從1組合成一個主從和讀寫分離架構。主庫修復好了,但數據還是老數據,可以執行原來從3的備份任務。這樣需要一個全局的工具部署,如,每臺機器都安裝Mysql_proxy,寫腳本實現角色切換等等。

 

三,Mysql_proxy 安裝過程
   
1)下載mysql-proxy-0.6.0-linux-rhas4-x86.tar.gz
mv sbin/mysql-proxy /usr/local/sbin/
   mv share/mysql-proxy /usr/local/share/

 

2)編輯啓動腳本:

 

Vi /etc/init.d/mysql_proxy

 

#!/bin/sh

export LUA_PATH=/usr/local/share/mysql-proxy/?.lua

 

mode=$1

if [ -z "$mode" ] ; then

  mode="start"

fi

 

case $mode in

  'start')

    mysql-proxy --daemon \          #以守護進程方式啓動

--admin-address=:4401 \

--proxy-address=:3307 \                #監聽3307端口

--proxy-backend-addresses=:3306 \ #本機數據庫的3306端口(寫)

--proxy-read-only-backend-addresses=192.168.109.3:3306 \  #1的地址和端口

#--proxy-read-only-backend-addresses=10.10.74.61:3306 \

--proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua

    ;;

 

  'stop')

    killall mysql-proxy

    ;;

 

  'restart')

    if $0 stop ; then

      $0 start

    else

      echo  "retart failed!!!"

      exit 1

    fi

    ;;

esac

exit 0

 

 3)相關命令
  /etc/init.d/mysql_proxy  start/stop/restart

 

四,提高這個存儲架構的一些設想:
1)  主庫和從1設置成互爲主從模式,是否可以解決從1同步的問題
2)  主庫出現問題時如何對應?硬盤空間不足,故障及時隔離和處置
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章