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

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