Mysql-Proxy是一個處於你的client端和Mysql Server端之間的一個簡單程序,它可以監測、分析和改變他們的通信。它使用靈活沒有限制,常見的用途包括:負載平衡,故障、查詢分析,查詢過濾和修改等等。
Mysql -Proxy就是這麼一個中間層代理,簡單的說,Mysql-Proxy就是一個連接池,負責將前台應用的請求轉發給後台數據庫,並且通過使用lua腳本,可以實現復雜的連接控制和過濾,從而實現讀寫分離和負載平衡。對於應用來說,MySQL Proxy是完全透明的,應用則只需要連接到MySQL Proxy的監聽端口即可。當然,這樣proxy機器可能成為單點失效,但完全可以使用多個proxy機器做為冗余,在應用服務器的連接池配置中配置到多個proxy的連接參數即可。
原理摘自百度百科。
1、通過yum進行mysql數據庫安裝的時候,首先我們可以輸入 yum list | grep mysql 命令來查看yum上提供的mysql數據庫可下載的版本,查看mysql數據庫數據庫版本的時候,也順便查看可用的mysql-proxy,圖示就是我們想要的結果;
[root@10-17-1-229 ~]# yum list|grep mysql
2、我們使用yum install mysql-proxy安裝:
[root@10-17-1-229 ~]# yum install mysql-proxy
我們會看到下載的進度條和安裝過程,當出現Complete的時候表示安裝完成。
1、用mysql-proxy -V查看mysql-proxy的相關信息,這裡留意下版本信息,將會在第三步配置lua路徑的時候用到;
2、使用vim /etc/mysql-proxy.cnf命令打開mysqk-proxy的配置文件進行編輯:
[root@10-17-1-229 ~]# vim /etc/mysql-proxy.cnf
在mysql-proxy.cnf中輸入如下內容:
[mysql-proxy] admin-username=user #admin用戶名 admin-password=password admin密碼 admin-lua-script=/usr/lib64/mysql-proxy/lua/admin.lua #lua位置,參見上面的版本信息 daemon=true # mysql-proxy以守護進程方式運行 keepalive=true #保持連接啟動進程會有2個, 一號進程用來監視二號進程 proxy-backend-addresses=10.17.6.210 #目標地址,Indb內網地址,默認端口3306,10.17.6.210是目標inDB的ip log-file=/var/log/mysql-proxy.log #日志文件存儲路徑 log-level=debug
編輯完之後通過Esc退出編輯,然後用“:wq”保存mysql-proxy.cnf的編輯。
3、用chmod 0660 /etc/mysql-proxy.cnf命令來改變配置文件的權限,然後用 mysql-proxy --defaults-file=/etc/mysql-proxy.cnf啟動mysql-proxy服務:
[root@10-17-1-229 ~]# chmod 0660 /etc/mysql-proxy.cnf [root@10-17-1-229 ~]# mysql-proxy --defaults-file=/etc/mysql-proxy.cnf
4、用mysql -h$uhost_ip -P4040 -u$User -p$Password測試:
[root@10-17-1-229 ~]# mysql -h106.75.94.37 -P4040 -uroot -p123456
$uhost_ip:UHost的外網IP;
$User:用戶名
$Password:數據庫密碼
注意:打開防火牆的4040端口,MySQL-Proxy默認端口為4040,通過訪問4040端口就可以訪問3306端口。