要實現(xiàn)讀寫分離,可以先看看如何實現(xiàn)mysql數(shù)據(jù)庫主從:http://www.cnblogs.com/sustudy/p/4174189.html
mysql-proxy下載地址(要看好對應(yīng)版本):http://dev.mysql.com/downloads/mysql-proxy/
讀寫分離實驗環(huán)境:
mysql-proxy服務(wù)器的IP地址:192.168.20.3
主數(shù)據(jù)庫的ip地址:192.168.20.4
從數(shù)據(jù)庫的ip地址:192.168.20.5
步驟如下:
1、解壓下載好的mysql-proxy的包
tar -xzvf mysql-proxy-0.8.5-linux-rhel5-x86-32bit.tar.gz
2、復(fù)制已經(jīng)解壓好的mysql-proxy的文件夾到/usr/loca/文件夾下
cp -p?mysql-proxy-0.8.5-linux-rhel5-x86-32bit mysql-proxy
3、在/etc文件夾下創(chuàng)建msql-proxy的配置文件:mysql-proxy.cnf
vi mysql-proxy.cnf(內(nèi)容如下:)
[mysql-proxy]
admin-username = root############連接主從
數(shù)據(jù)庫的用戶名
admin-password = 123456
############
連接主從數(shù)據(jù)庫的
密碼
daemon = true
############
daemon進程運行
keepalive = true ############ 保持連接(啟動進程會有2個,一號進程用來監(jiān)視二號進行,如果二號進程死掉自動重建,此參數(shù)在舊版本中無法使用)
proxy-backend-addresses = 192.168.20.4:3306
############
mysql主庫(寫)地址
proxy-read-only-backend-addresses = 192.168.20.5:3306 ############ mysql從庫(讀)地址
proxy-lua-script = /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua ############ 讀寫分離腳本
admin-lua-script = /usr/local/mysql-proxy/share/doc/mysql-proxy/admin-sql.lua ############ admin腳本
log-file = /usr/local/mysql-proxy/cn.log ############ mysql-proxy的日志
log-level = debug
4、配置環(huán)境變量,導(dǎo)入lua腳本和添加mysql-proxy的命令
vi /etc/profile(增加以下內(nèi)容)
LUA_PATH="/usr/local/proxy-mysql/share/doc/mysql-proxy/?.lua"
export LUA_PATH
export PATH=$PATH:/usr/local/mysql-proxy/bin
保存profile文件,讓修改立即生效,可以輸入命令:source /etc/profile
5、開啟mysql-proxy代理:
mysql-proxy --defaults-file=/etc/mysql-proxy.cnf>/usr/local/proxy-mysql/cn.log &
以上5個步驟順利完成,就可以測試了。測試步驟如下:
1、修改 /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua文件,快速開啟分離。
if not proxy.global.config.rwsplit then
??????? proxy.global.config.rwsplit = {
??????????????? min_idle_connections = 1,?? #修改最小連接為1
??????????????? max_idle_connections = 2,?? #修改最大連接為2,當(dāng)終端超過2個,就會開啟讀寫分離
??????????????? is_debug = true??????????? #debug為true
??????? }
end
3、實時查看/usr/local/mysql-proxy/cn.log。該日志記錄著mysql-proxy的情況
tail -f /usr/local/mysql-proxy/cn.log
2、開啟兩個終端,連接代理192.168.20.3,有兩個終端就會開啟讀寫分離
終端一連接:mysql -h192.168.20.3 -uroot -p123456 -P4040
終端二連接:mysql -h192.168.20.3 -uroot -p123456 -P4040
這里的用戶名root和密碼123456是主數(shù)據(jù)庫和從數(shù)據(jù)庫的密碼
4、對終端一進行讀操作,對終端二進行寫操作,進行多次數(shù)據(jù)庫操作。
5、此時cn.log就會有變動,就可以看出區(qū)別了。
?
該實驗流程是建立在無任何錯誤的情況下,實際中遇到的問題,可以搜索引擎解決,然后,在進行下一步。
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
