Linux 使用二进制包安装 ShardingSphere-Proxy
大纲
前言
本文将介绍 Linux 如何使用二进制包安装 ShardingSphere-Proxy,适用于 CentOS/Debian/Ubuntu 等 Linux 发行版系统。
安装方式
目前 ShardingSphere-Proxy 官方提供了三种安装方式:
- Docker
- Helm(K8s)
- 二进制发布包
安装步骤
平台兼容说明
ShardingSphere-Proxy 的二进制包既可以在 Linux 系统运行,又可以在 Windows 系统运行。
step1:下载二进制包
- ShardingSphere-Proxy 不同版本的二进制包可以在 ShardingSphere 官网 下载得到,详细说明请看 这里
1 | # 下载 ShardingSphere-Proxy 二进制包 |
step2:添加 MySQL 驱动包
- 下载 MySQL 驱动 mysql-connector-java-8.0.22.jar 到 ShardingSphere-Proxy 解压目录中的
ext-lib目录下
1 | # 创建 ShardingSphere-Proxy 的 ext-lib 目录 |
spte3:修改 ShardingSphere-Proxy 配置文件
1 | # 编辑 ShardingSphere-Proxy 的服务器配置文件,更改以下配置内容 |
1 | rules: |
配置文件说明
- ShardingSphere-Proxy 有两种类型的配置文件,包括:
server.yaml:ShardingSphere-Proxy 的服务器配置,用于配置注册中心、认证信息以及公用属性等。config-xxx.yaml:ShardingSphere-Proxy 的分配规则配置,必须以config-作为配置文件的前缀命名。
spte4:启动 ShardingSphere-Proxy
- 启动 ShardingSphere-Proxy
1 | # 启动 ShardingSphere-Proxy |
- 关闭 ShardingSphere-Proxy(可选)
1 | # 关闭 ShardingSphere-Proxy |
step5:远程连接 ShardingSphere-Proxy
1 | mysql -h192.168.2.191 -P3307 -uroot -p |
step6:测试访问 ShardingSphere-Proxy
1 | show databases; |

- ShardingSphere-Proxy 在启动时就内置了 MySQL 系统 Schema 元数据(包含以下四个库):
| Schema | 作用 |
|---|---|
information_schema | SQL 元数据查询 |
performance_schema | 兼容性能相关 SQL |
sys | MySQL 系统视图 |
mysql | 用户 / 权限 / 系统表 |
- 即使 ShardingSphere-Proxy 未配置任何真实 MySQL 数据源,通过
show databases;仍然会看到information_schema、performance_schema、sys、mysql这 4 个库,是因为它们是 ShardingSphere-Proxy 内置的虚拟系统库。这些库的存在仅用于兼容 MySQL 协议和客户端行为,并不表示 ShardingSphere-Proxy 已经连接了真实的 MySQL 实例。 - MySQL 客户端、JDBC 驱动以及 ORM 框架在连接 MySQL 后,都会自动执行如
show databases;、select database();、select @@sql_mode;、select * from information_schema.tables;相关查询。如果这些系统库不存在或返回异常,客户端和驱动将无法正常工作,导致 JDBC 报错、ORM 启动失败、交互体验极差。 - 因此,ShardingSphere-Proxy 必须在启动时提供这些虚拟系统库来保证对 MySQL 生态的透明兼容;ShardingSphere-Proxy 只有在配置了数据源并定义了逻辑库(Schema)之后,才会在
show databases中看到真正的业务库。
注意事项
- ShardingSphere-Proxy 使用
conf/server.yaml配置注册中心、认证信息以及公用属性等。 - ShardingSphere-Proxy 支持多逻辑数据源,每个以
config-前缀命名的 YAML 配置文件(比如config-xxx.yaml),即为一个逻辑数据源。 - ShardingSphere-Proxy 默认使用
3307端口,可以通过启动脚本追加参数作为启动端口号,比如:bin/start.sh 3308。 - ShardingSphere-Proxy 默认集成了 ZooKeeper Curator 客户端,生产环境中必须配置并使用 ZooKeeper(或 Etcd)来持久化 ShardingSphere-Proxy 的元数据,即生产环境必须使用集群模式(Cluster Mode)。
- ShardingSphere-Proxy 默认以内存模式(Memory Mode)启动。在该模式下,初始化配置或执行 SQL 导致的元数据变更只在当前进程内生效,不会持久化到磁盘或注册中心,适合开发、调试和功能测试,无需手动清理运行痕迹。。
