環境: 192.168.100.210
192.168.100.104
192.168.100.208
192.168.100.106 說明: 210,104作為MySQL數據庫.
208作為MySQL-proxy.
106作為測試機器. 相關軟件下載:
lua MySQL-proxy
http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/ 1. 在208上安裝lua #tar zxvf lua-5.1.4.tar.gz -C /usr/local
# cd /usr/local
#mv lua-5.1.4 lua
#cd lua
#make //make之後可以看到系統列表,下面的 #make linux //我這裡是Linux #make install 2.安裝mysql-proxy # tar -zxvf MySQL-proxy-0.6.0-Linux-rhas4-x86.tar.gz -C /usr/local/
# cd /usr/local/
# mv mysql-proxy-0.6.0-Linux-rhas4-x86 MySQL-proxy
# export PATH=$PATH:/usr/local/MySQL-proxy/sbin/
#MySQL-proxy --proxy-read-only-backendaddresses=192.168.100.210:3306
--proxy-backend-addresses=192.168.100.104:3306
--proxy-lua-script=/home2/mysql-proxy-0.6.0-Linux-rhas4-x86/share/MySQL-proxy/rw-splitting.lua &
3.在210,104上設置權限
MySQL> grant all privileges on backup.* to
[email=backup@'%']backup@'%'[/email]
identifIEd by 'shenxun';
//這裡給個賬號backup,密碼shenxun,讀寫操作的數據庫是backup. 4.進行測試. 用106連接208的mysql-proxy: /usr/bin/MySQL -u backup -pshenxun CP4040 Ch 192.168.100.208 CD backup 創建一個表 Create table haha(id int,name char(6));然後我們到210和104上去看下數據庫的情況,看到210是沒有剛才
寫入的數據庫表,而104是有剛才寫入的數據表的.
現在我們把上面的命令修改下 mysql-proxy --proxy-backend-addresses=192.168.100.210:3306 --proxy-backend- addresses=192.168.100.104:3306 --proxy-lua-script=/home2/mysql-proxy-0.6.0-Linux-rhas4- x86/share/MySQL-proxy/rw-splitting.lua & 然後我們在208上再重新建個表 Create table xixi(id int,name char(6));
這個時候再到210和104上去看下數據庫的情況,發現2個數據庫都有剛才寫入的數據可以充分說明我們的數據庫讀寫分離已經實現了. mysql-proxy --proxy-read-only-backend-addresses=192.168.4.3:3306 --proxy-read-only-backend-addresses=192.168.4.2:3306 --proxy-lua-script=/usr/share/MySQL-proxy/rw-splitting.lua