MXCAT 是 MySQL 协议级数据库中间代理,提供单端口统一入口、读写分离、灰度发布与运维能力。内置治理与可观测组件,适用于需要统一入口与流量控制的生产场景。
curl -fsSL https://cnb.cool/qianyios/Mxcat/-/git/raw/master/scripts/install.sh | bash
base:
rw_mode: 0
read_consistency: strict
frontend:
listen_addr: 0.0.0.0:8066
mysql:
users:
- username: app
password: app_pass
db_group: default
backend:
db_groups:
- name: default
write_nodes:
- addr: 127.0.0.1:3306
ha:
enabled: true
mode: "cluster"
local_ip: "10.0.0.101"
discovery:
static_nodes:
- address: "10.0.0.101"
- address: "10.0.0.102"
mysql -h 127.0.0.1 -P 8066 -u app -p
连接后可执行:SHOW MXCAT HELP。
frontend:入口监听、慢查询、路由追踪、审计与安全策略mysql.backend:后端分组、读写节点、连接池、熔断与限流mysql.users:前端用户与库权限控制admin_server:管理面 API(JWT/API Key、审计、灰度、配置版本)ha:纯集群高可用(无 VIP),支持 bully/raftmysql.sharding:分库分表与全局表/ER 关系metrics:Prometheus 指标与标签维度管理面提供节点、配置、灰度与审计等能力,建议启用 JWT 或 API Key,并限制监听地址为内网或本机。
文档与页面入口:
Swagger 授权:
完整使用手册见 WIKI.md
建议执行全量测试并查看覆盖率,输出文件为 coverage.out。