MySQL 读写分离 ProxySQL


环境:

master —— 192.168.10.1

slave ——— 192.168.10.2

proxysql —— 192.168.10.3

client ——— 192.168.10.4

master节点

1、安装mariadb

在这里插入图片描述

2、编辑配置文件 /etc/my.cnf,并添加如下内容

在这里插入图片描述


在这里插入图片描述

3、启动服务

在这里插入图片描述

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

slave节点

1、安装mariadb

在这里插入图片描述

2、编辑配置文件 /etc/my.cnf,并添加如下内容

在这里插入图片描述


在这里插入图片描述

3、启动服务

在这里插入图片描述


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

5、查看复制线程状态

proxysql节点

1、配置proxysql的yum源

在这里插入图片描述

2、安装服务

在这里插入图片描述

3、启动服务,查看端口号

在这里插入图片描述


4、登录proxysql,默认账号密码都为admin

在这里插入图片描述

5、向proxysql中添加MySQL节点,并查看

master节点

创建监控用户

在这里插入图片描述

proxysql节点

1、配置监控,加载到runtime,并保存到disk

2、查看监控连接是否正常

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

master节点

创建访问用户

在这里插入图片描述

proxysql节点

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


在这里插入图片描述

client节点

1、安装服务

在这里插入图片描述

2、登录

在这里插入图片描述


3、查看状态


在这里插入图片描述

proxysql节点

插入路由规则,加载到runtime?效,并保存到disk

注:因ProxySQL根据rule_id顺序进行规则匹配, select … for update规则的rule_id必须要小于普通的select规则的rule_id

client节点

进行读写操作

proxysql节点

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