mysql-proxy 安裝與使用

mysql-proxy 安裝與使用

由於工作需要,要將mysql主從數據庫讀寫分離,採取官方mysql-proxy代理程序來實現.在安裝時遇到一些問題,多謝深夜的蚊子幫助。
環境:
OS:Centos 5.3
software:
lua-5.1.4.tar.gz
mysql-proxy-0.6.1.tar
mysql-devel.i386
libevent-devel.i386

1、lua安裝

lua下載地址可到官方網站下載:http://www.lua.org/ftp/

tar zxvf lua-5.1.4.tar.gz
cd lua-5.1.4
make linux
make install

2、mysql-proxy 安裝


export LUA_LIBS="-L/usr/local/lib/lua/5.1/ -llua -lm"
export LUA_CFLAGS=" "

yum install mysql-devel.i386       #安裝mysql開發包,不然在編譯mysql-proxy時會出錯
yum install libevent-devel.i386  #安裝libevent開發包

./configure --prefix=/usr/local/mysql-proxy LDFLAGS="-ldl"
make
make install

3、使用

export PATH=$PATH:/usr/local/mysql-proxy/sbin/
啓動參數

mysql-proxy --proxy-read-only-backend-addresses=192.168.1.11:3306 --proxy-backend-addresses=192.168.1.12:3306 --proxy-lua-script=/usr/local/mysql-proxy/share/mysql-proxy/rw-splitting.lua&

參數說明:
--proxy-read-only-backend-addresses -- remote slave-server(只讀服務器)
--proxy-backend-addresses     -- master-server(寫服務器)
--proxy-lua-script            -- lua script(讀寫分離腳本) 

mysql-proxy 啓動成功,使用nestat -ntl查看本機端口,將會出現4040與4041這個TCP端口。4040是mysql-proxy連接端口,4041爲mysql-proxy管理端口

[root@ mysql]# netstat -ntl                 
tcp                0            0 0.0.0.0:4040                                0.0.0.0:*                                     LISTEN            
tcp                0            0 0.0.0.0:4041                                0.0.0.
0:*                                     LISTEN    

使用mysql-proxy --help-all 可查看mysql-proxy的具體參數

4、讀寫分離測試
由於rw-splitting.lu腳本默認是4個連接,在大於4個mysql連接才能實現讀寫分離,在測試的時候最好修改一下連接
                min_idle_connections  = 1,  
                max_idle_connections = 1,
使用3個mysql客戶端連接mysql-proxy服務器的4040端口,比如:
mysql -h192.168.1.13 -utest -ptest -P4040

先在mysql從數據庫使用stop slave停止從服務器同步,然後在主數據庫上插入一條數據,這時在使用mysql-proxy查詢到的數據是從數據庫上的數據,說明mysql-proxy讀寫分離成功。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章