mysql讀寫分離

 

    proxy實現,proxy可用來監視、分析或者傳輸他們之間的通訊。他的靈活性允許你最大限度的使用它,這些包括負載平衡、容錯 、分析查詢和修正,他就像一個接線員、一箇中間層代理、一個連接池,把不同的請求派到相應的目的位置上
     
    安裝
    如果沒有要求可以直接用已經編譯好的二進制文件解壓拷貝到/usr/local/目錄就可以用了,也可以見下面的編譯安裝
    [root@zzh /]# cp -r /kt/mysql-proxy-0.7.2-linux-rhel5-x86-32bit/* /usr/local/
     
    源碼編譯安裝
    安裝LUA
    [root@zzh lua-5.1.3]# vim Makefile
    進入lua解壓目錄修改下面安裝目錄字段
    INSTALL_TOP= /usr/local/lua
     
    make posix
    make install
     
     
    安裝libevent
    [root@zzh libevent-1.4.12-stable]# ./configure --prefix=/usr/local/libevent
    make
    make install
     
    安裝check
    [root@zzh check-0.9.8]# ./configure
    make
    make install
     
     
    [root@zzh /]# vim /etc/profile
    設置安裝mysql-proxy所需的環境變量,用完可刪除
    export LUA_CFLAGS="-I/usr/local/lua/include" LUA_LIBS="-L/usr/local/lua/lib -llua -ldl" LDFLAGS="-L/usr/local/libevent/lib -lm"
    export CPPFLAGS="-I/usr/local/libevent/include"
    export CFLAGS="-I/usr/local/libevent/include"
    [root@zzh /]# source /etc/profile
    使設置生效
     
     
    安裝mysql-proxytar
    [root@zzh mysql-proxy-0.7.2]# ./configure --prefix=/usr/local/mysql-proxy --with-mysql=/usr/local/mysql --with-lua
    make
    make install
     
     
    mysql-proxy啓動選項的說明:
    --help-all
    顯示所有的幫助選項
    --daemon
    採用daemon方式啓動
    --admin-address=host:4041
    管理主機及端口,不指定host表示管理主機是本機
    --proxy-address=host:4040
    代理服務器的監聽地址及端口
    --proxy-read-only-backend-addresses=host:port
    只讀連接時代理服務器的監聽地址及端口
    --proxy-backend-addresses=host:3306
    重要:連接真實服務器的地址及監聽端口,可監聽多個服務器
    --proxy-lua-script=*.lua
    指定lua腳本,默認不設置
     
     
    測試
    在192.168.0.10MySQL服務器上建立遠程連接用戶
    mysql> grant all privileges on *.* to 'kt'@'%'identified by '123456' with grant option;
     
    proxy服務器上開啓監聽對192.168.0.10服務器的代理
    [root@zzh /]# mysql-proxy --proxy-backend-addresses=192.168.0.10:3306 &
     
    [root@zzh /]# netstat -anp | grep proxy
    查看服務器是否開啓
    [root@zzh /]# killall mysql-proxy
    關閉服務
     
    [root@zzh /]# mysql --host=192.168.0.99 -u kt --port=4040 -p
    測試連接
     
    兩個mysql服務器設置
    [root@zzh /]# mysql-proxy --proxy-backend-addresses=192.168.0.10:3306 --proxy-backend-addresses=192.168.0.20:3306 &
     
    主從複製上讀寫分離
    一個主服務器,負責寫入;2個從服務器負責查詢
    [root@zzh /]# mysql-proxy
    --proxy-backend-addresses=192.168.0.99 :3306
    --proxy-read-only-backend-addresses=192.168.0.10:3306
    --proxy-read-only-backend-addresses=192.168.0.20:3306
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章