通過(guò)mysql-proxy完成mysql讀寫(xiě)分離
2024-07-24 12:47:19
供稿:網(wǎng)友
環(huán)境: 192.168.100.210
192.168.100.104
192.168.100.208
192.168.100.106
說(shuō)明: 210,104作為mysql數(shù)據(jù)庫(kù).
208作為mysql-proxy.
106作為測(cè)試機(jī)器.
相關(guān)軟件下載:
lua
www.lua.org
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之后可以看到系統(tǒng)列表,下面的
命令要用到
#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上設(shè)置權(quán)限
mysql> grant all privileges on backup.* to
[email=backup@'%']backup@'%'[/email]
identified by 'shenxun';
//這里給個(gè)賬號(hào)backup,密碼shenxun,讀寫(xiě)操作的數(shù)據(jù)庫(kù)是backup.
4.進(jìn)行測(cè)試.
用106連接208的mysql-proxy:
/usr/bin/mysql -u backup -pshenxun –P4040 –h 192.168.100.208 –D backup
創(chuàng)建一個(gè)表
Create table haha(id int,name char(6));
然后我們到210和104上去看下數(shù)據(jù)庫(kù)的情況,看到210是沒(méi)有剛才
寫(xiě)入的數(shù)據(jù)庫(kù)表,而104是有剛才寫(xiě)入的數(shù)據(jù)表的.
現(xiàn)在我們把上面的命令修改下
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 &
然后我們?cè)?08上再重新建個(gè)表
Create table xixi(id int,name char(6));
這個(gè)時(shí)候再到210和104上去看下數(shù)據(jù)庫(kù)的情況,發(fā)現(xiàn)2個(gè)數(shù)據(jù)庫(kù)都有剛才寫(xiě)入的數(shù)據(jù)
庫(kù)表.
可以充分說(shuō)明我們的數(shù)據(jù)庫(kù)讀寫(xiě)分離已經(jīng)實(shí)現(xiàn)了