MySQL读写分离ProxySQL

时间:2022-01-01 03:00:59

环境:

master —— 192.168.10.1
slave ——— 192.168.10.2
proxysql —— 192.168.10.3
client ——— 192.168.10.4

 

master节点

1、安装mariadb
MySQL读写分离ProxySQL

2、编辑配置文件 /etc/my.cnf,并添加如下内容
MySQL读写分离ProxySQL
MySQL读写分离ProxySQL

3、启动服务
MySQL读写分离ProxySQL

4、登录MySQL,创建有复制权限的用户账号,查看二进制日志文件位置
MySQL读写分离ProxySQL

 

 

slave节点

1、安装mariadb
MySQL读写分离ProxySQL

2、编辑配置文件 /etc/my.cnf,并添加如下内容
MySQL读写分离ProxySQL
MySQL读写分离ProxySQL

3、启动服务
MySQL读写分离ProxySQL
4、登录MySQL,使用有复制权限的用户账号连接至主服务器,并启动复制线程
MySQL读写分离ProxySQL

5、查看复制线程状态
MySQL读写分离ProxySQL

 

 

proxysql节点

1、配置proxysql的yum源
MySQL读写分离ProxySQL

2、安装服务
MySQL读写分离ProxySQL

3、启动服务,查看端口号
MySQL读写分离ProxySQL
MySQL读写分离ProxySQL

4、登录proxysql,默认账号密码都为admin
MySQL读写分离ProxySQL

5、向proxysql中添加MySQL节点,并查看
MySQL读写分离ProxySQL

 

 

master节点

创建监控用户
MySQL读写分离ProxySQL

 

 

proxysql节点

1、配置监控,加载到runtime,并保存到disk
MySQL读写分离ProxySQL

2、查看监控连接是否正常
MySQL读写分离ProxySQL

3、设置分组信息,需要修改的是main库中的mysql_replication_hostgroups表,加载到runtime?效,并保存到disk,并查看
MySQL读写分离ProxySQL

 

 

master节点

创建访问用户
MySQL读写分离ProxySQL

 

 

proxysql节点

将?户sqluser添加到mysql_users表中,加载到runtime?效,并保存到disk。default_hostgroup默认组设置为写组10,当读写分离的路由规则不符合时,会访问默认组的数据库
MySQL读写分离ProxySQL


MySQL读写分离ProxySQL

 

 

client节点

1、安装服务
MySQL读写分离ProxySQL

2、登录
MySQL读写分离ProxySQL
3、查看状态
MySQL读写分离ProxySQL


MySQL读写分离ProxySQL

 

 

proxysql节点

插入路由规则,加载到runtime?效,并保存到disk
注:因ProxySQL根据rule_id顺序进行规则匹配, select … for update规则的rule_id必须要小于普通的select规则的rule_id
MySQL读写分离ProxySQL

 

 

client节点

进行读写操作
MySQL读写分离ProxySQL

 

 

proxysql节点

查看读写分离状态。写操作在10组,读操作在20组
MySQL读写分离ProxySQL