您現(xiàn)在的位置:首頁(yè) >關(guān)于我們 >行業(yè)新聞 >服務(wù)器租用RDS通過(guò)Mysql-Porxy實(shí)現(xiàn)讀寫(xiě)分離

服務(wù)器租用RDS通過(guò)Mysql-Porxy實(shí)現(xiàn)讀寫(xiě)分離

時(shí)間:2016年2月1日

如果你應(yīng)用程序sql有經(jīng)過(guò)進(jìn)程處理,那么此方案不可行,此方案只限于沒(méi)有進(jìn)程守護(hù)的sql進(jìn)行讀寫(xiě)分離。


1、MySQL所在機(jī)器

  192.168.49.52(Master)

  192.168.49.53(Slave)

2、下載安裝Atlas

  https    github.com/Qihoo360/Atlas/releases

  注意操作系統(tǒng)的版本,安裝相應(yīng)版本的Atlas,我這里下載的是Atlas-2.2.el6.x86_64.rpm

  這里直接安裝到192.168.49.50這臺(tái)機(jī)器上

rpm -i Atlas-2.2.el6.x86_64.rpm


3、配置Atlas

  Atlas的安裝目錄是 /usr/local/mysql-proxy,進(jìn)入安裝目錄下conf目錄,編輯test.cnf文件,很多選項(xiàng)用默認(rèn)值即可


  [root@puppetmaster conf]# more test.cn

[mysql-proxy]

#帶#號(hào)的為非必需的配置項(xiàng)目

#管理接口的用戶(hù)名
admin-username = admin

#管理接口的密碼
admin-password = admin

#Atlas后端連接的MySQL主庫(kù)的IP和端口,可設(shè)置多項(xiàng),用逗號(hào)分隔
proxy-backend-addresses = RDS主庫(kù)內(nèi)網(wǎng)IP地址

#Atlas后端連接的MySQL從庫(kù)的IP和端口,@后面的數(shù)字代表權(quán)重,用來(lái)作負(fù)載均衡,若省略則默認(rèn)為1,可設(shè)置多項(xiàng),用逗號(hào)分隔
proxy-read-only-backend-addresses = RDS只讀庫(kù)內(nèi)網(wǎng)IP地址

#用戶(hù)名與其對(duì)應(yīng)的加密過(guò)的MySQL密碼,密碼使用PREFIX/bin目錄下的加密程序encrypt加密,下行的user1和user2為示例,將其替換為你的MySQL的用戶(hù)名和加密密碼!
pwds=帳號(hào):加密后的password


#設(shè)置Atlas的運(yùn)行方式,設(shè)為true時(shí)為守護(hù)進(jìn)程方式,設(shè)為false時(shí)為前臺(tái)方式,一般開(kāi)發(fā)調(diào)試時(shí)設(shè)為false,線上運(yùn)行時(shí)設(shè)為true,true后面不能有空格。
daemon = true

#設(shè)置Atlas的運(yùn)行方式,設(shè)為true時(shí)Atlas會(huì)啟動(dòng)兩個(gè)進(jìn)程,一個(gè)為monitor,一個(gè)為worker,monitor在worker意外退出后會(huì)自動(dòng)將其重啟,設(shè)為false時(shí)只有worker,沒(méi)有monitor,一般開(kāi)發(fā)調(diào)試時(shí)設(shè)為false,線上運(yùn)行時(shí)設(shè)為true,true后面不能有空格。
keepalive = true

#工作線程數(shù),對(duì)Atlas的性能有很大影響,可根據(jù)情況適當(dāng)設(shè)置
event-threads = 8

#日志級(jí)別,分為message、warning、critical、error、debug五個(gè)級(jí)別
log-level = message

#日志存放的路徑
log-path = /usr/local/mysql-proxy/log

#SQL日志的開(kāi)關(guān),可設(shè)置為OFF、ON、REALTIME,OFF代表不記錄SQL日志,ON代表記錄SQL日志,REALTIME代表記錄SQL日志且實(shí)時(shí)寫(xiě)入磁盤(pán),默認(rèn)為OFF
sql-log = ON

#慢日志輸出設(shè)置。當(dāng)設(shè)置了該參數(shù)時(shí),則日志只輸出執(zhí)行時(shí)間超過(guò)sql-log-slow(單位:ms)的日志記錄。不設(shè)置該參數(shù)則輸出全部日志。
#sql-log-slow = 10

#實(shí)例名稱(chēng),用于同一臺(tái)機(jī)器上多個(gè)Atlas實(shí)例間的區(qū)分
#instance = test

#Atlas監(jiān)聽(tīng)的工作接口IP和端口
proxy-address = 0.0.0.0:1234

#Atlas監(jiān)聽(tīng)的管理接口IP和端口
admin-address = 0.0.0.0:2345

#分表設(shè)置,此例中person為庫(kù)名,mt為表名,id為分表字段,3為子表數(shù)量,可設(shè)置多項(xiàng),以逗號(hào)分隔,若不分表則不需要設(shè)置該項(xiàng)
#tables = person.mt.id.3

#默認(rèn)字符集,設(shè)置該項(xiàng)后客戶(hù)端不再需要執(zhí)行SET NAMES語(yǔ)句
#charset = utf8

#允許連接Atlas的客戶(hù)端的IP,可以是精確IP,也可以是IP段,以逗號(hào)分隔,若不設(shè)置該項(xiàng)則允許所有IP連接,否則只允許列表中的IP連接
#client-ips =白名單IP


#Atlas前面掛接的LVS的物理網(wǎng)卡的IP(注意不是虛IP),若有LVS且設(shè)置了client-ips則此項(xiàng)必須設(shè)置,否則可以不設(shè)置
#lvs-ips = 192.168.1.1


4、啟動(dòng)Atlas

   cd /usr/local/mysql-proxy/bin

  ./mysql-proxyd test start,啟動(dòng)Atlas
  ./mysql-proxyd test restart,重啟Atlas
  ./mysql-proxyd test stop,停止Atlas


服務(wù)器租用——海騰數(shù)據(jù)

Copyright© 2004-2020 河南海騰電子技術(shù)有限公司 版權(quán)所有   經(jīng)營(yíng)性ICP/ISP證 備案號(hào):B1-20180452   豫公網(wǎng)安備 41019702002018號(hào)    電子營(yíng)業(yè)執(zhí)照