学习版本: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 = true pid-file = /var/run/mysql-proxy.pid log-file = /var/log/mysql-proxy.log log-level = debug #调试级别 max-open-files = 1024 plugins = admin,proxy user = mysql-proxy # #Proxy Configuration proxy-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 Configuration admin-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;
获取【下载地址】 【免费支持更新】
A 代码生成器(开发利器);全部是源码
增删改查的处理类,service层,mybatis的xml,SQL( mysql 和oracle)脚本, jsp页面 都生成
就不用写搬砖的代码了,生成的放到项目里,可以直接运行
B 阿里巴巴数据库连接池druid;
数据库连接池 阿里巴巴的 druid。Druid在监控、可扩展性、稳定性和性能方面都有明显的优势
C 安全权限框架shiro ;
Shiro 是一个用 Java 语言实现的框架,通过一个简单易用的 API 提供身份验证和授权,更安全,更可靠
D ehcache 分布式缓存;
是一个纯Java的进程内缓存框架,具有快速、精干等特点,广泛使用的开源Java分布式缓存。