要實現讀寫分離,可以先看看如何實現mysql數據庫主從:http://www.cnblogs.com/sustudy/p/4174189.html
mysql-proxy下載地址(要看好對應版本):http://dev.mysql.com/downloads/mysql-proxy/
讀寫分離實驗環境:
mysql-proxy服務器的IP地址:192.168.20.3
主數據庫的ip地址:192.168.20.4
從數據庫的ip地址:192.168.20.5
步驟如下:
1、解壓下載好的mysql-proxy的包
tar -xzvf mysql-proxy-0.8.5-linux-rhel5-x86-32bit.tar.gz
2、復制已經解壓好的mysql-proxy的文件夾到/usr/loca/文件夾下
cp -p?mysql-proxy-0.8.5-linux-rhel5-x86-32bit mysql-proxy
3、在/etc文件夾下創建msql-proxy的配置文件:mysql-proxy.cnf
vi mysql-proxy.cnf(內容如下:)
[mysql-proxy]
admin-username = root############連接主從
數據庫的用戶名
admin-password = 123456
############
連接主從數據庫的
密碼
daemon = true
############
daemon進程運行
keepalive = true ############ 保持連接(啟動進程會有2個,一號進程用來監視二號進行,如果二號進程死掉自動重建,此參數在舊版本中無法使用)
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、配置環境變量,導入lua腳本和添加mysql-proxy的命令
vi /etc/profile(增加以下內容)
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,當終端超過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是主數據庫和從數據庫的密碼
4、對終端一進行讀操作,對終端二進行寫操作,進行多次數據庫操作。
5、此時cn.log就會有變動,就可以看出區別了。
?
該實驗流程是建立在無任何錯誤的情況下,實際中遇到的問題,可以搜索引擎解決,然后,在進行下一步。
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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