MySQL Proxy是一個處于你的client端和MySQL server端之間的簡單程序,它可以監(jiān)測、分析或改變它們的通信。它使用靈活,沒有限制,常見的用途包括:負(fù)載平衡,故障、查詢分析,查詢過濾和修改等等。
目前創(chuàng)新互聯(lián)已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、臨縣網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
MySQL Proxy就是這么一個中間層代理,簡單的說,MySQL Proxy就是一個連接池,負(fù)責(zé)將前臺應(yīng)用的連接請求轉(zhuǎn)發(fā)給后臺的數(shù)據(jù)庫,并且通過使用lua腳本,可以實(shí)現(xiàn)復(fù)雜的連接控制和過濾,從而實(shí)現(xiàn)讀寫分離和負(fù)載平衡。對于應(yīng)用來說,MySQL Proxy是完全透明的,應(yīng)用則只需要連接到MySQL Proxy的監(jiān)聽端口即可。當(dāng)然,這樣proxy機(jī)器可能成為單點(diǎn)失效,但完全可以使用多個proxy機(jī)器做為冗余,在應(yīng)用服務(wù)器的連接池配置中配置到多個proxy的連接參數(shù)即可。
MySQL Proxy更強(qiáng)大的一項(xiàng)功能是實(shí)現(xiàn)“讀寫分離”,基本原理是讓主數(shù)據(jù)庫處理事務(wù)性查詢,讓從庫處理SELECT查詢。數(shù)據(jù)庫復(fù)制被用來把事務(wù)性查詢導(dǎo)致的變更同步到集群中的從庫。
實(shí)驗(yàn)
實(shí)驗(yàn)環(huán)境
server1 192.168.122.11 master
server2 192.168.122.12 slave
server3 192.168.122.13 proxy
一.安裝 mysql-proxy 并配置
解壓到指定路徑
[root@server3~]#tar zxf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz -C /usr/local
改名字
[root@server3local]# mysql-proxy-0.8.5-linux-el6-x86-64bit/ mysql-proxy
建目錄
[root@server3 mysql-proxy]# mkdir etc
[root@server3 mysql-proxy]# mkdir logs
寫配置文件
[root@server3 etc]# vim mysql-proxy.conf
加權(quán)限
[root@server3 etc]# chmod 660 mysql-proxy.conf
改參數(shù)
[root@server3 mysql-proxy]# vim rw-splitting.lua
[root@server3 mysql-proxy]# pwd
/usr/local/mysql-proxy/share/doc/mysql-proxy
運(yùn)行腳本開啟服務(wù)
[root@server3bin]# /usr/local/mysql-proxy/bin/mysql-proxy --plugins=admin --plugins=proxy --defaults-file=/usr/local/mysql-proxy/etc/mysql-proxy.conf
檢查端口
netstate -antlup
二、主機(jī) master 進(jìn)行授權(quán)(192.168.122.11)
mysql>grant select, update, insert on *.* to proxy@'192.168.122.%' identified by 'LH=redhat123';
(slave 會同步授權(quán))
在 proxy 主機(jī)登錄
[root@server3 ~]# mysql -uadmin -pwestos -P 4041 -h 192.168.122.13
查看 mysql 主,備狀態(tài)
在客戶端遠(yuǎn)程登錄數(shù)據(jù)庫
[root@server4 ~]# mysql -h 192.168.122.13 -uproxy -pLH=redhat123
寫入數(shù)據(jù)
在 proxy 主機(jī)查看
(master 狀態(tài)已經(jīng)改變)
再次在客戶端登錄
[root@server5 ~]# mysql -h 192.168.122.13 -uproxy -pLH@redhat123
查看 proxy
三、檢查是否實(shí)現(xiàn)數(shù)據(jù)分離
為了清楚看到數(shù)據(jù)傳輸狀況
[root@server3 ~]# yum install tcpdump
[root@server3 ~]# yum install -y lsof
當(dāng)前標(biāo)題:企業(yè)-mysql讀寫分離(proxy)
分享路徑:http://bm7419.com/article16/jcecgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、外貿(mào)網(wǎng)站建設(shè)、動態(tài)網(wǎng)站、微信公眾號、網(wǎng)站制作、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)