您好,登錄后才能下訂單哦!
MySQL Proxy是一個(gè)處于你的client端和MySQL server端之間的簡(jiǎn)單程序,它可以監(jiān)測(cè)、分析或改變它們的通信。它使用靈活,沒(méi)有限制,常見(jiàn)的用途包括:負(fù)載平衡,故障、查詢(xún)分析,查詢(xún)過(guò)濾和修改等等。
MySQL Proxy就是這么一個(gè)中間層代理,簡(jiǎn)單的說(shuō),MySQL Proxy就是一個(gè)連接池,負(fù)責(zé)將前臺(tái)應(yīng)用的連接請(qǐng)求轉(zhuǎn)發(fā)給后臺(tái)的數(shù)據(jù)庫(kù),并且通過(guò)使用lua腳本,可以實(shí)現(xiàn)復(fù)雜的連接控制和過(guò)濾,從而實(shí)現(xiàn)讀寫(xiě)分離和負(fù)載平衡。對(duì)于應(yīng)用來(lái)說(shuō),MySQL Proxy是完全透明的,應(yīng)用則只需要連接到MySQL Proxy的監(jiān)聽(tīng)端口即可。當(dāng)然,這樣proxy機(jī)器可能成為單點(diǎn)失效,但完全可以使用多個(gè)proxy機(jī)器做為冗余,在應(yīng)用服務(wù)器的連接池配置中配置到多個(gè)proxy的連接參數(shù)即可。
MySQL Proxy更強(qiáng)大的一項(xiàng)功能是實(shí)現(xiàn)“讀寫(xiě)分離”,基本原理是讓主數(shù)據(jù)庫(kù)處理事務(wù)性查詢(xún),讓從庫(kù)處理SELECT查詢(xún)。數(shù)據(jù)庫(kù)復(fù)制被用來(lái)把事務(wù)性查詢(xún)導(dǎo)致的變更同步到集群中的從庫(kù)。
實(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
寫(xiě)配置文件
[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)行腳本開(kāi)啟服務(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 會(huì)同步授權(quán))
在 proxy 主機(jī)登錄
[root@server3 ~]# mysql -uadmin -pwestos -P 4041 -h 192.168.122.13
查看 mysql 主,備狀態(tài)
在客戶(hù)端遠(yuǎn)程登錄數(shù)據(jù)庫(kù)
[root@server4 ~]# mysql -h 192.168.122.13 -uproxy -pLH=redhat123
寫(xiě)入數(shù)據(jù)
在 proxy 主機(jī)查看
(master 狀態(tài)已經(jīng)改變)
再次在客戶(hù)端登錄
[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
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。