Logo
DBPlusEngine-Proxy

DBPlusEngine-Proxy #

应用场景 #

DBPlusEngine-Proxy 的定位为透明化的数据库代理,理论上支持任何使用 MySQL、PostgreSQL、openGauss 协议的客户端操作数据,对异构语言、运维场景更友好。

使用限制 #

DBPlusEngine-Proxy 对系统库/表(如 information_schema、pg_catalog)支持有限,通过部分图形化数据库客户端连接 Proxy 时,可能客户端或 Proxy 会有错误提示。可以使用命令行客户端(mysqlpsqlgsql 等)连接 Proxy 验证功能。

前提条件 #

使用 Docker 启动 DBPlusEngine-Proxy 无须额外依赖。 使用二进制分发包启动 Proxy,需要环境具备 Java JRE 8 或更高版本。

操作步骤 #

  1. 获取 DBPlusEngine-Proxy

目前 DBPlusEngine-Proxy 可以通过以下方式:

  1. 规则配置

编辑 %SHARDINGSPHERE_PROXY_HOME%/conf/server.yaml

编辑 %SHARDINGSPHERE_PROXY_HOME%/conf/config-xxx.yaml

%SHARDINGSPHERE_PROXY_HOME% 为 Proxy 解压后的路径,例:/opt/shardingsphere-proxy-bin/

详情请参见配置手册

  1. 引入依赖

如果后端连接 PostgreSQL 或 openGauss 数据库,不需要引入额外依赖。

如果后端连接 MySQL 数据库,请下载 mysql-connector-java-5.1.47.jar 或者 mysql-connector-java-8.0.11.jar,并将其放入 %SHARDINGSPHERE_PROXY_HOME%/ext-lib 目录。

  1. 启动服务
  • 使用默认配置项
sh %SHARDINGSPHERE_PROXY_HOME%/bin/start.sh

默认启动端口为 3307,默认配置文件目录为:%SHARDINGSPHERE_PROXY_HOME%/conf/

  • 自定义端口和配置文件目录
sh %SHARDINGSPHERE_PROXY_HOME%/bin/start.sh ${proxy_port} ${proxy_conf_directory}
  • 强制启动
sh %SHARDINGSPHERE_PROXY_HOME%/bin/start.sh -f

使用 -f 参数强制启动 Proxy,该参数会忽略启动期间异常的数据源,强行启动 Proxy,用户可以在 Proxy 启动完成后,通过 DistSQL 移除异常数据源。

  1. 使用 DBPlusEngine-Proxy

执行 MySQL / PostgreSQL / openGauss 的客户端命令直接操作 DBPlusEngine-Proxy 即可。

mysql -h${proxy_host} -P${proxy_port} -u${proxy_username} -p${proxy_password}

使用 PostgreSQL 客户端连接 DBPlusEngine-Proxy:

psql -h ${proxy_host} -p ${proxy_port} -U ${proxy_username}

使用 openGauss 客户端连接 DBPlusEngine-Proxy:

gsql -r -h ${proxy_host} -p ${proxy_port} -U ${proxy_username} -W ${proxy_password}