ProxySQL 3.0.11 介绍与选型指南
ProxySQL 3.0.11 介绍与选型指南:官方资料溯源的 MySQL/PostgreSQL 高性能代理,详解 Stable/Innovative/AI 三线版本口径、Admin 接口在线配置、查询路由与读写分离,以及与 MySQL Router、MaxScale、Apache ShardingSphere、Vitess 的量化选型对比。
ProxySQL 3.0.11 介绍与选型指南
目标:基于官方公开资料(官网、官方文档站、GitHub 发行页)溯源介绍 ProxySQL 当前稳定线并给出同类选型对比;本文不做本地安装与运行实测,所有版本与社区数据实查日期为 2026-10-19。
一、信息基准
1.1 查询说明
- 查询日期:2026-10-19。
- 信息获取方式:纯官方资料溯源(proxysql.com 官网/官方博客、GitHub 官方仓库 sysown/proxysql 发行页),本文不做本地安装与运行实测。
- 版本口径说明:ProxySQL 现行发布采用「多线并行」口径——Stable 稳定线 3.0.x、Innovative 创新线 3.1.x、Plugin Chassis/AI 线 4.0.x 三线同期演进,本文以 Stable 线最新版 3.0.11 为介绍基准。仓库中旧的 v2.x(本站既有文档覆盖的 2.7.3)为上一代主线。
1.2 版本依据
| 项目 | 实查结果(2026-10-19) | 来源 |
|---|---|---|
| Stable 线最新 | v3.0.11(2026-08-27,Stable-tier 维护版) | github.com/sysown/proxysql/releases |
| Innovative 线最新 | v3.1.11(2026-08-27,Innovative-tier) | 同上 |
| AI 线最新 | v4.0.11(2026-08-27,含 3.0.11+3.1.11 全部变更与 GenAI/MCP/TSDB 更新) | 同上 |
| 三线同发机制 | 3.0.10/3.1.10/4.0.10 于 2026-07-31 同批发布(官方博客 Announcing ProxySQL 3.0.10, 3.1.10, and 4.0.10,作者 Rene Cannao) | proxysql.com/blog/announcing-proxysql-3-0-10 |
| 代码仓库 | sysown/proxysql(C/C++) | github.com/sysown/proxysql |
| 开源许可 | GPL(仓库 README 明示 "GPL license",v2.x 时代为 GNU GPL v3.0,见官方 v2.6.4 发布博客) | 仓库 README / 官方博客 |
| GitHub stars | 6.9k | shields.io 徽章接口实查 |
| 上一代主线 | v2.x(本站既有文档为 2.7.3) | github.com/sysown/proxysql/releases 历史 |
1.3 官方来源清单
二、软件概述
本文介绍的是 ProxySQL 3.0.11(Stable 稳定线最新版,2026-08-27 发布)。
ProxySQL 是一款高性能、高可用、协议感知的数据库代理(官方 README 定位),支持 MySQL 及其分支(Percona Server、MariaDB)以及 PostgreSQL。它位于应用与数据库之间,承担查询路由、读写分离、连接池复用、查询重写、缓存与故障切换等职责。项目由 Rene Cannao 主导,以 GPL 许可开源发布。
ProxySQL 最具辨识度的设计是类 SQL 的管理接口:管理面本身是一个 SQLite 数据库,运维者用 MySQL 客户端连上管理端口(默认 6032)后,用标准 SQL(global_variables、mysql_servers、mysql_query_rules 等表)在线完成全部配置,并可通过 LOAD ... TO RUNTIME 热加载、SAVE ... TO DISK 持久化。GitHub 上拥有 6.9k stars(2026-10-19 实查)。
需要注意的是,2026 年起官方将新特性按 tier 分发:3.0.x 为保守稳定线,3.1.x 在稳定线之上叠加认证/可观测等创新特性(如 MySQL 透传认证、ed25519 等),4.0.x 则是包含 GenAI 插件、MCP 端点、RAG/向量工具与 TSDB 指标库的 "Plugin Chassis/AI-tier"。三线同日发布、内容逐级包含(4.0.11 ⊇ 3.1.11 ⊇ 3.0.11),生产环境可按风险偏好选择跟进哪条线(官方发行说明)。
三、核心架构
3.1 前端/后端与双端口
- 前端监听(默认 6033):以 MySQL 协议接受应用连接,按规则转发到后端。
- 管理接口(默认 6032):MySQL 协议的管理库,表即配置;支持三种配置层:RUNTIME(运行时)、MEMORY(内存)、DISK/CONFIG(持久化文件)。
- 后端连接池:对每个后端维护复用连接,按用户/主机/字符集等维度匹配。
3.2 核心配置对象
| 对象 | 说明 |
|---|---|
| mysql_servers / mysql_replication_hostgroups | 后端节点与主从分组(自动读写分离基础) |
| mysql_users | 前端账号与默认目标组、属性(如 SSL 要求) |
| mysql_query_rules | 基于正则/摘要/用户等条件的查询路由与重写规则 |
| global_variables | 全局变量(含 3.x/4.x 线新增的 mcp-*、genai-* 变量族) |
| monitor 模块 | 后端健康检查、复制延迟检测与自动剔除 |
3.3 集群与高可用
多节点 ProxySQL 可组成集群同步配置(本站 《ProxySQL 2.7.3 分布式集群部署指南》 所述机制在 3.x 延续);自身进程轻量,通常配合 Keepalived/LVS 做入口高可用。4.0 线的发行说明还专门强化了插件卸载、运行时重载与 TSDB 并发访问的可靠性,反映其插件化运行时的工程口径。
四、功能特性
4.1 查询路由与读写分离
基于规则引擎将 SELECT/写请求分发到读组/写组,支持正则匹配、digest 匹配、用户维度规则;配合 replication hostgroups 自动识别主从拓扑切换(官方 README 与文档)。
4.2 连接池与性能
多路复用后端连接、降低 MySQL 线程开销,是官方长期宣传的核心卖点;3.0.11 维护版聚焦更安全的 MySQL 认证与 MariaDB ed25519 后端支持(官方发行说明)。
4.3 3.x/4.x 线差异要点
- 3.0.x(Stable):仅接收维护与安全修复,行为最保守。
- 3.1.x(Innovative):引入新认证与可观测能力,如 MySQL 透传认证、Admin/Stats 独立凭证;注意
mysql_users.attributes的"require_x509": true在 3.1+ 被强制执行而 3.0 忽略(官方发行说明「Before upgrading」章节)。 - 4.0.x(AI-tier):完整包含 3.1 并加入 MCP 端点(默认关闭、强制 bearer 认证)、GenAI/RAG/向量工具与共享 TSDB 指标库;
LOAD MCP VARIABLES TO RUNTIME等新管理命令(4.0.11 发行说明)。
4.4 与 2.x 的口径关系
v2.x(含本站文档覆盖的 2.7.3)为上一代主线,功能集与新线不一一对应;升级前应对照官方各线发行说明评估行为差异,特别是认证属性与新变量族。
五、快速上手
以下步骤转述自官方仓库 README 与官方安装文档,本文不做本地实测。
5.1 安装
官方提供 APT/RPM 软件源与 GitHub Release 包,覆盖 Ubuntu/Debian、RHEL/CentOS、Amazon Linux、AlmaLinux、openSUSE、FreeBSD(README「Getting started → Installation」与 proxysql.com/documentation/installing-proxysql/)。以包管理器安装后:
service proxysql start # 启动
service proxysql stop # 停止
service proxysql restart # 重启
首次启动后配置库(SQLite 文件)生效,此后重启不再读取初始配置文件(README 说明)。
5.2 管理接口配置(转述官方 README)
用 MySQL 客户端连接管理端口,直接以 SQL 维护配置:
-- 以默认管理账号连接 6032 端口后
INSERT INTO mysql_servers(hostgroup_id, hostname, port) VALUES (0, '127.0.0.1', 3306);
LOAD MYSQL SERVERS TO RUNTIME; -- 热加载到运行时
SAVE MYSQL SERVERS TO DISK; -- 持久化到磁盘
官方强调:配置 ProxySQL 的最佳方式是通过管理接口在线完成,无需重启代理(README)。
5.3 验证
配置后端与规则后,从应用端口(默认 6033)发起连接验证路由结果;管理侧可通过 SELECT * FROM stats_mysql_query_digest 观察查询分布(官方文档 Admin 接口章节)。
六、适用场景与限制
6.1 适用场景
- MySQL/MariaDB(以及新线支持的 PostgreSQL)读写分离与连接池收敛。
- 需要不改应用代码的查询重写、镜像、缓存等代理层治理。
- 主从拓扑自动感知的高可用入口(配合 hostgroups/monitor)。
- 想在代理层探索 AI/MCP 能力(评估 4.0.x 线)的团队。
6.2 限制与注意事项
- 三线并行口径要求运维明确选线:追稳定选 3.0.x,需新认证/可观测选 3.1.x,需 AI/MCP 再上 4.0.x;跨线升级前必须读官方「Before upgrading」。
- 集群版配置同步与高可用仍需自行设计入口层。
- 相比分库分表中间件,ProxySQL 不提供分片语义;分布式写入分片应评估 ShardingSphere/Vitess。
- GPL 许可对集成发行有相应义务,商用前请核对官方许可条款。
七、同类选型对比
7.1 候选概览
| 工具 | 定位 | 开源许可 |
|---|---|---|
| ProxySQL 3.0.11 | MySQL/PG 协议感知代理(路由/池/重写) | GPL |
| MySQL Router 26.7 | MySQL 官方 InnoDB Cluster 配套轻量路由 | MySQL 官方组件(随发行包分发) |
| MariaDB MaxScale | MariaDB 官方数据库代理 | 25.01+ 闭源商业;旧版 BSUL(21.06 已转 GPL) |
| Apache ShardingSphere 5.5.3 | 分布式数据库生态(分片/读写分离/加密) | Apache-2.0 |
| Vitess 24.0 | 水平分片的 CNCF 数据库集群系统 | Apache-2.0 |
7.2 量化对比(2026-10-19 实查)
| 维度 | ProxySQL 3.0.11 | MySQL Router 26.7 | MaxScale | ShardingSphere 5.5.3 | Vitess 24.0.5 |
|---|---|---|---|---|---|
| 开源许可 | GPL | MySQL 官方组件 | 25.01+ 闭源商业;旧线 BSUL/GPL | Apache-2.0 | Apache-2.0 |
| GitHub stars | 6.9k(sysown/proxysql) | 无独立仓库 | 1.5k(mariadb-corporation/MaxScale) | 21k(apache/shardingsphere) | 21k(vitessio/vitess) |
| 最近发版 | v3.0.11/v3.1.11/v4.0.11(2026-08-27 三线同发) | 26.7(dev.mysql.com 当前文档线) | 开源仓库 tag 24.02.8(2025-12-05);25.01+ 为闭源 GA | 5.5.3(2026-02-28) | v24.0.5(2026-10-13) |
| 版本节奏 | 三线季度级同批发布 | 随 MySQL Server 版本线演进 | 多 LTS 分支维护(22.08/23.02/23.08/24.02) | 年度大版本 + 补丁 | 月度级补丁(v24.0.x 滚动) |
| 分片能力 | 无(代理层路由/重写) | 无(集群引导与透明路由) | 无(读写分离/过滤/防火墙) | 有(Sharding 内核 + JDBC/Proxy 两种形态) | 有(VSchema 水平分片 + VTGate/VTOrc 全套组件) |
| 配置方式 | SQL 管理接口热加载 | bootstrap 生成静态配置 | maxgui/配置文件 + 动态命令 | YAML + API | vtctldclient + KV/etcd |
| 生态绑定 | 中立(MySQL/MariaDB/PG) | 深绑 MySQL InnoDB Cluster | 深绑 MariaDB | 中立(MySQL/PG 生态) | 深绑 Vitess 集群形态 |
(stars 与 tag 时间取自各仓库 shields.io 徽章接口与 GitHub Releases/Tags 页;MaxScale 许可沿革据 mariadb.com 官方博客《Introducing MariaDB MaxScale 25.01 GA》及 FAQ:2025-01-16 起 25.01+ 转闭源商业许可,旧版保持 BSL;MySQL Router 信息取自 dev.mysql.com/doc/mysql-router/26.7。)
7.3 选型建议
只需读写分离、连接池与查询治理且希望在线热配置的,ProxySQL 是最灵活的中立选择;全栈押注 MySQL InnoDB Cluster 的直接用官方 MySQL Router;MariaDB 环境要评估 MaxScale 时务必注意 25.01 起已闭源商业化,开源用户应锁定 24.02 及以前分支;真正的分库分表/水平扩展诉求则应在 ShardingSphere(应用侧嵌入或独立代理、功能面广,参见本站 《Apache ShardingSphere 5.5.3 介绍与选型指南》)与 Vitess(CNCF 级云原生分片集群,配套运维组件完整,参见本站 《Vitess 24.0 配置参数详解》)之间做架构级取舍,二者解决的是 ProxySQL 不覆盖的分片问题。
八、参考链接
- 官方站点:https://www.proxysql.com/
- 安装文档:https://www.proxysql.com/documentation/installing-proxysql/
- 源码仓库:https://github.com/sysown/proxysql
- 发行页:https://github.com/sysown/proxysql/releases
- 官方博客(三线发布):https://www.proxysql.com/blog/announcing-proxysql-3-0-10
- MySQL Router 文档:https://dev.mysql.com/doc/mysql-router/26.7/en/
- MaxScale 25.01 GA 博客:https://mariadb.com/resources/blog/introducing-mariadb-maxscale-25-01-ga/
- ShardingSphere 仓库:https://github.com/apache/shardingsphere
- Vitess 仓库:https://github.com/vitessio/vitess