首页 > 代码库 > MySQL读写分离之mysql-proxy

MySQL读写分离之mysql-proxy

官网下载地址:http://dev.mysql.com/downloads/mysql-proxy

学习版本:mysql-proxy-0.8.5-1.el6.x86_64

环境准备:
  MySQL_A10.0.13-MariaDB)读写n1.test.com;172.16.2.11
  MySQL_B10.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 root@‘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