国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
Mysql-proxy主從搭建讀寫分離全過程

Mysql-proxy主從搭建讀寫分離全過程

廢話不說!

Mysql-proxy是什么,大家都知道,不知道的就別往下看了...
首先搭建 mysql 主從數(shù)據(jù)庫,參考: http://blog.csdn.net/swengineer/archive/2011/03/11/6239711.aspx

下載 mysql-proxy 最新版,本文撰寫時最新版本為 MySQL Proxy 0.8.1 alpha

安裝 mysql-proxy 步驟如下:

解壓 mysql-proxy-0.8.1-linux-glibc2.3-x86-32bit.gz

Java代碼
 
  1. tar zxvf mysql-proxy-0.8.1-linux-glibc2.3-x86-32bit.gz   
  2.   
  3. cp -R mysql-proxy-0.8.1-linux-glibc2.3-x86-32bit /usr/local/proxy-mysql  


新建或編輯 /etc/mysql-proxy.cnf 文件,添加以下內(nèi)容 ( 具體參數(shù)根據(jù)實際情況修改 ) :

Java代碼
 
  1. vi /etc/mysql-proxy.cnf   
  2.   
  3. [mysql-proxy]   
  4.   
  5. admin-username = zhangdongyu   
  6.   
  7. admin-password = 123123  
  8.   
  9. daemon = true  
  10.   
  11. keepalive = true  
  12.   
  13. proxy-backend-addresses = 192.168.0.88:3306  
  14.   
  15. proxy-read-only-backend-addresses = 192.168.0.88:3307  
  16.   
  17. proxy-lua-script = /usr/local/proxy-mysql/share/doc/mysql-proxy/rw-splitting.lua   
  18.   
  19. admin-lua-script = /usr/local/proxy-mysql/share/doc/mysql-proxy/admin-sql.lua   
  20.   
  21. log-file = /usr/local/proxy-mysql/cn.log   
  22.   
  23. log-level = debug  

 

主要參數(shù)注解:


proxy-backend-addresses                    mysql 主庫(寫)地址

proxy-read-only-backend-addresses     mysql 從庫(讀)地址

proxy-lua-script                                 讀寫分離腳本

admin-lua-script                                 admin 腳本

admin-username                                 數(shù)據(jù)庫用戶名(主從上都需建立相同用戶)

admin-password                                 數(shù)據(jù)庫密碼

daemon                                             daemon 進(jìn)程運(yùn)行

keepalive                                           保持連接(啟動進(jìn)程會有 2 個,一號進(jìn)程用來監(jiān)視二號進(jìn)行,如果二號進(jìn)程死掉自動重建,此參數(shù)在舊版本中無法使用)

編輯 profile/.bash_profile 腳本

Java代碼
 
  1. vi /etc/profile( 或者 .bash_profile)   
  2.   
  3. LUA_PATH="/usr/local/proxy-mysql/share/doc/mysql-proxy/?.lua"  
  4.   
  5. export LUA_PATH   
  6.   
  7. export PATH=$PATH:/usr/local/proxy-mysql/bin   
  8.   
  9. :wq   
  10.   
  11. source /etc/profile  

 

為方便建立建立 mysql-proxy.sh 腳本

Java代碼
 
  1. #!/bin/bash   
  2.   
  3. mode=$1  
  4.   
  5. if [ -z "$mode" ] ; then   
  6.   
  7. mode="start"  
  8.   
  9. fi   
  10.   
  11. case $mode in   
  12.   
  13. start)   
  14.   
  15. mysql-proxy --defaults-file=/etc/mysql-proxy.cnf>/usr/local/proxy-mysql/cn.log &   
  16.   
  17. ;;   
  18.   
  19. stop)   
  20.   
  21. killall -9 mysql-proxy   
  22.   
  23. ;;   
  24.   
  25. restart)   
  26.   
  27. if $0 stop ; then   
  28.   
  29. $0 start   
  30.   
  31. else  
  32.   
  33. echo  "Restart failed!"  
  34.   
  35. exit 1  
  36.   
  37. fi   
  38.   
  39. ;;   
  40.   
  41. esac   
  42.   
  43. exit 0   
 

啟動 mysql-proxy

sh 腳本

啟動: ./mysql-proxy.sh  ./mysql-proxy.sh start

 

重啟: ./mysql-proxy.sh restart

停止: ./mysql-proxy.sh stop

 

測試:

為達(dá)到測試效果,修改 admin-sql.lua 腳本以下兩行

vi /usr/local/proxy-mysql/share/doc/mysql-proxy/rw-splitting.lua

Java代碼
 
  1. if not proxy.global.config.rwsplit then   
  2.   
  3.         proxy.global.config.rwsplit = {   
  4.   
  5.                 min_idle_connections = 1,   # 修改最小連接為 1  
  6.   
  7.                 max_idle_connections = 2,   # 修改最大連接為 2  
  8.   
  9.                 is_debug = true            #debug 為 true  
  10.   
  11.         }   
  12.   
  13. end   

 

重啟 mysql-proxy 代理

開啟兩個終端分別連接代理:

ONE ./mysql -h192.168.0.88 -uzhangdongyu -p123123 -P4040

TWO ./mysql -h192.168.0.88 -uzhangdongyu -p123123 -P4040

可看到連接成功信息:

 

操作 ONE 客戶端:

執(zhí)行 select 語句觀察數(shù)據(jù)庫 log 文件

select * from z_member_info;

觀察主從庫日志文件,發(fā)現(xiàn)查詢發(fā)生在主庫?

主庫: 192.168.0.88:3306 日志文件: tail -f /usr/local/mysql/localstate/mysqlexecute.log

 

這是因為 mysql-proxy 代理會檢測客戶端連接,當(dāng)連接沒有超過 min_idle_connections 預(yù)設(shè)值時,不會進(jìn)行讀寫分離,即查詢操作會發(fā)生到主庫上。

 

操作 TWO 客戶端:

執(zhí)行 select 語句觀察數(shù)據(jù)庫 log 文件

select * from z_member_info;

觀察主從庫日志文件,發(fā)現(xiàn)主庫沒有任何記錄,查詢?nèi)罩居涗浽趶膸臁?/span>

從庫: 192.168.0.88:3306 日志文件: tail -f /usr/local/mysql3307/localstate/mysqlexecute.log

 

操作兩個終端進(jìn)行 insert 操作,會發(fā)現(xiàn)寫操作始終被主庫( 3306 )日志文件記錄。

 

至此 mysql-proxy 安裝測試完成。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
360公司開源Atlas快速上手安裝配置
(轉(zhuǎn))Atlas讀寫分離Mysql集群的搭建
MySQL Proxy實現(xiàn)讀寫分離及負(fù)載均衡
MySQL主從(MySQL proxy Lua讀寫分離設(shè)置,一主多從同步配置,分庫分表方案)
『互聯(lián)網(wǎng)架構(gòu)』軟件架構(gòu)
Atlas首頁、文檔和下載
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服