通過mysql-proxy完成mysql讀寫分離
更新時間:2014年05月16日 00:06:42 作者:
前不久做了下mysql讀寫分離的實驗,也參考了很多的資料,謝謝哪些提供資料的兄弟
環(huán)境: 192.168.100.210
192.168.100.104
192.168.100.208
192.168.100.106
說明: 210,104作為mysql數(shù)據(jù)庫.
208作為mysql-proxy.
106作為測試機器.
相關(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';
//這里給個賬號backup,密碼shenxun,讀寫操作的數(shù)據(jù)庫是backup.
4.進行測試.
用106連接208的mysql-proxy:
/usr/bin/mysql -u backup -pshenxun –P4040 –h 192.168.100.208 –D backup
創(chuàng)建一個表
Create table haha(id int,name char(6));
然后我們到210和104上去看下數(shù)據(jù)庫的情況,看到210是沒有剛才
寫入的數(shù)據(jù)庫表,而104是有剛才寫入的數(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 &
然后我們在208上再重新建個表
Create table xixi(id int,name char(6));
這個時候再到210和104上去看下數(shù)據(jù)庫的情況,發(fā)現(xiàn)2個數(shù)據(jù)庫都有剛才寫入的數(shù)據(jù)
庫表.
可以充分說明我們的數(shù)據(jù)庫讀寫分離已經(jīng)實現(xiàn)了
192.168.100.104
192.168.100.208
192.168.100.106
說明: 210,104作為mysql數(shù)據(jù)庫.
208作為mysql-proxy.
106作為測試機器.
相關(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';
//這里給個賬號backup,密碼shenxun,讀寫操作的數(shù)據(jù)庫是backup.
4.進行測試.
用106連接208的mysql-proxy:
/usr/bin/mysql -u backup -pshenxun –P4040 –h 192.168.100.208 –D backup
創(chuàng)建一個表
Create table haha(id int,name char(6));
然后我們到210和104上去看下數(shù)據(jù)庫的情況,看到210是沒有剛才
寫入的數(shù)據(jù)庫表,而104是有剛才寫入的數(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 &
然后我們在208上再重新建個表
Create table xixi(id int,name char(6));
這個時候再到210和104上去看下數(shù)據(jù)庫的情況,發(fā)現(xiàn)2個數(shù)據(jù)庫都有剛才寫入的數(shù)據(jù)
庫表.
可以充分說明我們的數(shù)據(jù)庫讀寫分離已經(jīng)實現(xiàn)了
相關(guān)文章
Mysql逗號拼接字符串的關(guān)聯(lián)查詢以及統(tǒng)計問題
有時為了數(shù)據(jù)庫簡潔,存放數(shù)據(jù)的時候,某一字段采用逗號隔開的形式進行存儲,下面這篇文章主要給大家介紹了關(guān)于Mysql逗號拼接字符串的關(guān)聯(lián)查詢以及統(tǒng)計問題的相關(guān)資料,需要的朋友可以參考下2023-03-03Mac環(huán)境mysql5.7.21 utf8編碼問題及解決方案
本篇教程給大家簡單介紹下Mac環(huán)境mysql5.7.21 utf8編碼問題及解決方案,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2018-03-03為mysql數(shù)據(jù)庫添加添加事務(wù)處理的方法
開始首先說明一下,mysql數(shù)據(jù)庫默認的數(shù)據(jù)庫引擎是MyISAM,是不支持事務(wù)的,單數(shù)如果你添加了數(shù)據(jù)執(zhí)行語句是不會出錯的,單數(shù)不管用,即便是回滾事務(wù),記錄也是插入進去了,所有首先我們要做的第一步是更改數(shù)據(jù)庫引擎2011-07-07