1、ProxySQL 介绍
ProxySQL 是基于 MySQL 的一款开源的中间件的产品,是一个灵活的 MySQL 代理层,可以实现读写分离,支持 Query 路由功能,支持动态指定某个 SQL 进行缓存,支持动态加载(无需重启 ProxySQL 服务),故障切换和一些 SQL 的过滤功能。
介绍:相关 ProxySQL 的网站
2、环境准备
全新初始化的实例
IP
server-id
数据库版本
备注
10.0.0.160
1603306
MySQL 8.0.18
Master(主库)+ ProxySQL2.0.8
10.0.0.161
1613306
MySQL 8.0.18
Slave1(从库)
10.0.0.162
1623306
MySQL 8.0.18
Slave2(从库)
ProxySQL 2.0.x 版本支持 MGR注:我的 ProxySQL 和 主库放在一起的,我已近配置好了主从复制状态。这是我的实验环境,实际环境注意实际情况。一般的代理环境结构如上图。slave 节点的read_only=1
3、ProxySQL 安装与启动
下载
安装 ProxySQL
/etc/proxysql.cnf是 ProxySQL 的配置文件
启动 ProxySQL
6032 是 ProxySQL 的管理端口号,6033是对外服务的端口号ProxySQL 的用户名和密码都是默认的admin
查看 ProxySQL 的版本
管理员登录 ProxySQL
可见有五个库: main、disk、stats 、monitor 和 stats_historymain: 内存配置数据库,即 MEMORY,表里存放后端 db 实例、用户验证、路由规则等信息。main 库中有如下信息:
库下的主要表:mysql_servers: 后端可以连接 MySQL 服务器的列表mysql_users: 配置后端数据库的账号和监控的账号。mysql_query_rules: 指定 Query 路由到后端不同服务器的规则列表。
注: 表名以 runtime_开头的表示 ProxySQL 当前运行的配置内容,不能通过 DML 语句修改。
只能修改对应的不以 runtime 开头的表,然后 “LOAD” 使其生效,“SAVE” 使其存到硬盘以供下次重启加载。disk:持久化的磁盘的配置stats: 统计信息的汇总monitor