企業(yè)-mysql讀寫分離(proxy)

                                                              MySQL Proxy

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 并配置


  1. 解壓到指定路徑

    [root@server3~]#tar zxf  mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz -C /usr/local

  2. 改名字
    [root@server3local]# mysql-proxy-0.8.5-linux-el6-x86-64bit/ mysql-proxy

  3. 建目錄

    [root@server3 mysql-proxy]# mkdir etc
    [root@server3 mysql-proxy]# mkdir logs

  4. 寫配置文件

    [root@server3 etc]# vim mysql-proxy.conf

    企業(yè) - mysql 讀寫分離(proxy)

  5. 加權(quán)限

    [root@server3 etc]# chmod 660 mysql-proxy.conf

  6. 改參數(shù)

    [root@server3 mysql-proxy]# vim rw-splitting.lua
    [root@server3 mysql-proxy]# pwd
    /usr/local/mysql-proxy/share/doc/mysql-proxy

    企業(yè) - mysql 讀寫分離(proxy)

  7. 運(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

    企業(yè) - mysql 讀寫分離(proxy)

二、主機(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))

企業(yè) - mysql 讀寫分離(proxy)

在 proxy 主機(jī)登錄

[root@server3 ~]# mysql -uadmin -pwestos -P 4041 -h 192.168.122.13


查看 mysql 主,備狀態(tài)

企業(yè) - mysql 讀寫分離(proxy)

在客戶端遠(yuǎn)程登錄數(shù)據(jù)庫

[root@server4 ~]# mysql -h 192.168.122.13 -uproxy -pLH=redhat123


寫入數(shù)據(jù)

企業(yè) - mysql 讀寫分離(proxy)

在 proxy 主機(jī)查看

企業(yè) - mysql 讀寫分離(proxy)

(master 狀態(tài)已經(jīng)改變)

再次在客戶端登錄

[root@server5 ~]# mysql -h 192.168.122.13 -uproxy  -pLH@redhat123

企業(yè) - mysql 讀寫分離(proxy)

查看 proxy

企業(yè) - mysql 讀寫分離(proxy)

三、檢查是否實(shí)現(xiàn)數(shù)據(jù)分離

為了清楚看到數(shù)據(jù)傳輸狀況

[root@server3 ~]# yum install tcpdump

企業(yè) - mysql 讀寫分離(proxy)

[root@server3 ~]# yum install -y lsof

企業(yè) - mysql 讀寫分離(proxy)

當(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)

成都定制網(wǎng)站建設(shè)