MySQL读写分离ProxySQL

Posted yinx1n

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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组
技术图片

 

以上是关于MySQL读写分离ProxySQL的主要内容,如果未能解决你的问题,请参考以下文章

mysql中间件proxysql实现mysql读写分离

MySQL中间件proxysql实现MySQL读写分离

MySQL中间件之ProxySQL:初试读写分离

Mysql使用ProxySQL实现读写分离

利用 ProxySQL 实现 MySQL 的读写分离

MHA+ProxySQL 读写分离高可用