標籤:
官網:http://dev.mysql.com/downloads/mysql-proxy
學習版本:mysql-proxy-0.8.5-1.el6.x86_64
環境準備:
MySQL_A
(10.0.13-MariaDB)讀寫:n1.test.com;172.16.2.11
MySQL_B(10.0.13-MariaDB)唯讀:n2.test.com;172.16.2.12
MySQL-proxy(
0.8.5):n3.test.com;172.16.2.13 mysql-proxy:epel源:yum -y install mysql-proxy使用官方二進位格式檔案中的rw-splitting.lua指令碼進行讀寫分離 # mysql-proxy --help-all ==>命令協助設定檔:/etc/mysql-proxy.cnf
[mysql-proxy]daemon = truepid-file = /var/run/mysql-proxy.pidlog-file = /var/log/mysql-proxy.loglog-level = debug #調試層級max-open-files = 1024plugins = admin,proxyuser = mysql-proxy##Proxy Configurationproxy-address = 0.0.0.0:3306 #代理服務監聽的地址和連接埠proxy-backend-addresses = 172.16.2.11:3306 #支援讀寫操作的後端mysql proxy-read-only-backend-addresses = 172.16.2.12:3306 # 唯讀後端#proxy-lua-script = proxy-lua-script = /usr/lib64/mysql-proxy/lua/rw-splitting.lua #讀寫分離指令碼#proxy-skip-profiling = true## Admin Configurationadmin-address = 0.0.0.0:4041 #msyql-prxoy連入的管理連接埠admin-lua-script = /usr/lib64/mysql-proxy/lua/admin.lua #msyql-prxoy連入的管理指令碼位置admin-username = admin #msyql-prxoy連入的管理帳號admin-password = admin #msyql-prxoy連入的管理密碼
mysql-proxy.cnf
後端主機需要建立授權帳號
- mysql> GRANT ALL ON *.* TO [email protected]‘172.16.%.%‘ IDENTIFIED BY ‘cm‘;
- mysql> FLUSH PRIVILEGES;
在mysql-proxy發起查詢或修改語句
- # mysql -uroot -h172.16.2.13 -pcm -e ‘SHOW DATABASES;‘
- # mysql -uroot -h172.16.2.13 -pcm -e ‘CREATE DATABASE test9;‘
- 在後端的mysql能看到建立的資料庫test9
本機登陸mysql-proxy管理
- # mysql -uadmin -padmin -p4041 -h172.16.2.13
本機登陸後mysql-proxy後擷取協助
- mysql> SELECT * FROM help
本機登陸後mysql-proxy後查詢後端節點
- mysql> SELECT * FROM backends;
MySQL讀寫分離之mysql-proxy