ShardingSphere5.0.0-Sharding-proxy如何实现MySql读写分离?
摘要:一、关于 ShardingSphere 官网:Apache ShardingSphere 官方文档:概览:: ShardingSphere 官方下载:Index of distshardingsphere 本文
一、关于
ShardingSphere官网:Apache ShardingSphere
官方文档:概览:: ShardingSphere
官方下载:Index of /dist/shardingsphere
本文使用版本:apache-shardingsphere-5.0.0-shardingsphere-proxy-bin
本文使用环境:windows
本文兼顾场景:XA事务
二、准备
需要准备两个已开启主从复制的MySQL数据库,如果还没有准备的话可以根据下面这个文章进行部署
MYSQL一个设备上的主从复制实现-windows
三、配置
1、MySQL驱动jar包文件
下载解压后,解压需要注意,因为下载的是gz 文件,需要使用命令进行解压:tar -zxvf xxx.gz,否则运行会直接报错
需要找寻一个MySQL驱动jar包文件,放到lib文件夹内,我用的是mysql-connector-java-5.1.26-bin.jar
下载:mysql-connector-java-5.1.26-bin.jar
找到Conf文件夹,读写分离配置需要配置以下两个配置文件。
server.yaml
config-readwrite-splitting.yaml
2、server.yaml配置文件
ShardingSphere-Proxy因为是一个代理端,所以可以把Proxy看做一个伪装的MySQL数据库,只不过Proxy内部根据配置整合里后端各个数据库。
此配置文件主要是用来配置ShardingSphere的基本设置,也可以理解为数据库的一些配置。
在 server.yaml 配置文件下方追加以下配置:
rules:
- !AUTHORITY
users:
- root@%:123456 # 启动该服务的用户密码
# - sharding@:123456 # 启动该服务的用户密码
provider:
# type: NATIVE
type: ALL_PRIVILEGES_PERMITTED
- !TRANSACTION
defaultType: XA
providerType: Atomikos
props:
max-connections-size-per-query: 1 # 一次查询请求在每个数据库实例中所能使用的最大连接数。
