要實(shí)現(xiàn)讀寫分離,可以先看看如何實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)主從:http://www.cnblogs.com/sustudy/p/4174189.html
mysql-proxy下載地址(要看好對(duì)應(yīng)版本):http://dev.mysql.com/downloads/mysql-proxy/
讀寫分離實(shí)驗(yàn)環(huán)境:
mysql-proxy服務(wù)器的IP地址:192.168.20.3
主數(shù)據(jù)庫(kù)的ip地址:192.168.20.4
從數(shù)據(jù)庫(kù)的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ù)庫(kù)的用戶名
admin-password = 123456
############
連接主從數(shù)據(jù)庫(kù)的
密碼
daemon = true
############
daemon進(jìn)程運(yùn)行
keepalive = true ############ 保持連接(啟動(dòng)進(jìn)程會(huì)有2個(gè),一號(hào)進(jìn)程用來(lái)監(jiān)視二號(hào)進(jìn)行,如果二號(hào)進(jìn)程死掉自動(dòng)重建,此參數(shù)在舊版本中無(wú)法使用)
proxy-backend-addresses = 192.168.20.4:3306
############
mysql主庫(kù)(寫)地址
proxy-read-only-backend-addresses = 192.168.20.5:3306 ############ mysql從庫(kù)(讀)地址
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、開(kāi)啟mysql-proxy代理:
mysql-proxy --defaults-file=/etc/mysql-proxy.cnf>/usr/local/proxy-mysql/cn.log &
以上5個(gè)步驟順利完成,就可以測(cè)試了。測(cè)試步驟如下:
1、修改 /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua文件,快速開(kāi)啟分離。
if not proxy.global.config.rwsplit then
??????? proxy.global.config.rwsplit = {
??????????????? min_idle_connections = 1,?? #修改最小連接為1
??????????????? max_idle_connections = 2,?? #修改最大連接為2,當(dāng)終端超過(guò)2個(gè),就會(huì)開(kāi)啟讀寫分離
??????????????? is_debug = true??????????? #debug為true
??????? }
end
3、實(shí)時(shí)查看/usr/local/mysql-proxy/cn.log。該日志記錄著mysql-proxy的情況
tail -f /usr/local/mysql-proxy/cn.log
2、開(kāi)啟兩個(gè)終端,連接代理192.168.20.3,有兩個(gè)終端就會(huì)開(kāi)啟讀寫分離
終端一連接:mysql -h192.168.20.3 -uroot -p123456 -P4040
終端二連接:mysql -h192.168.20.3 -uroot -p123456 -P4040
這里的用戶名root和密碼123456是主數(shù)據(jù)庫(kù)和從數(shù)據(jù)庫(kù)的密碼
4、對(duì)終端一進(jìn)行讀操作,對(duì)終端二進(jìn)行寫操作,進(jìn)行多次數(shù)據(jù)庫(kù)操作。
5、此時(shí)cn.log就會(huì)有變動(dòng),就可以看出區(qū)別了。
?
該實(shí)驗(yàn)流程是建立在無(wú)任何錯(cuò)誤的情況下,實(shí)際中遇到的問(wèn)題,可以搜索引擎解決,然后,在進(jìn)行下一步。
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

