Skip to content

如果说ShardingSphere-JDBC相当于是一个java框架,通过jar包来提供服务,管理多个数据库的各项功能;那么ShardingSphere-Proxy则是一个中间件,对代码无侵入性,直接管理各个数据库,应用程序直接连接Proxy就和使用MySQL一样简单。

使用Docker安装

shell
docker run -d \
-v /xk857/server/proxy-a/conf:/opt/shardingsphere-proxy/conf \
-v /xk857/server/proxy-a/ext-lib:/opt/shardingsphere-proxy/ext-lib \
-e ES_JAVA_OPTS="-Xmx256m -Xms256m -Xmn128m" \
-p 3321:3307 \
--name server-proxy-a \
apache/shardingsphere-proxy:5.1.1

1. 上传MySQL驱动

MySQl驱动上传至/xk857/server/proxy-a/ext-lib目录

2. 修改配置server.yaml

配置文件解读:用户名和密码都是root,@代表所有电脑都能访问,provider.type代表当前用户拥有所有访问权限

创建文件:vim /xk857/server/proxy-a/conf/server.yaml

yaml
rules:
  - !AUTHORITY
    users:
      - root@%:root
    provider:
      type: ALL_PRIVILEGES_PERMITTED

props:
  sql-show: true

3. 重启容器

shell
docker restart server-proxy-a

4. 远程连接ShardingSphere-Proxy

ShardingSphere-Proxy容器中默认情况下没有mysql命令行客户端的安装,因此需要远程访问

shell
mysql -h192.168.31.115 -P3321 -uroot -p

image-20230110223056141