7、ShardingSphere 之 Sharding-Proxy
发布日期:2021-05-06 17:44:39 浏览次数:16 分类:技术文章

本文共 2994 字,大约阅读时间需要 9 分钟。

文章目录

简介

定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。 目前先提供MySQL/PostgreSQL版本,它可以使用任何兼容MySQL/PostgreSQL协议的访问客户端(如:MySQL Command Client, MySQL Workbench, Navicat等)操作数据,对DBA更加友好。

向应用程序完全透明,可直接当做MySQL/PostgreSQL使用。
适用于任何兼容MySQL/PostgreSQL协议的的客户端。

1 进入conf目录,修改server.yaml

authentication:  users:    root:      password: root    sharding:      password: sharding       authorizedSchemas: sharding_dbprops:  max.connections.size.per.query: 1  acceptor.size: 16  # The default value is available processors count * 2.  executor.size: 16  # Infinite by default.  proxy.frontend.flush.threshold: 128  # The default value is 128.    # LOCAL: Proxy will run with LOCAL transaction.    # XA: Proxy will run with XA transaction.    # BASE: Proxy will run with B.A.S.E transaction.  proxy.transaction.type: LOCAL  proxy.opentracing.enabled: false  query.with.cipher.column: true  sql.show: false

2 进入conf目录,修改config-sharding.yaml

2.1 拷贝mysql驱动到Sharding-Proxy的lib目录

将mysql 驱动 mysql-connector-java-8.0.15.jar 复制到Sharding-Proxy的lib目录中

2.2 修改 config-sharding.yaml 文件

schemaName: sharding_dbdataSources:  ds_0:    url: jdbc:mysql://127.0.0.1:3306/edu1?serverTimezone=UTC&useSSL=false    username: root    password: chengwen    connectionTimeoutMilliseconds: 30000    idleTimeoutMilliseconds: 60000    maxLifetimeMilliseconds: 1800000    maxPoolSize: 50shardingRule:  tables:    t_order:      actualDataNodes: ds_${
0}.t_order_${
0..1} tableStrategy: inline: shardingColumn: order_id algorithmExpression: t_order_${
order_id % 2} keyGenerator: type: SNOWFLAKE column: order_id bindingTables: - t_order defaultDatabaseStrategy: inline: shardingColumn: user_id algorithmExpression: ds_${
0} defaultTableStrategy: none:

2.3 本地创建一个数据库

CREATE SCHEMA `edu1` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ;

3 启动Sharding-Proxy服务

进入bin目录,执行命令启动Sharding-Proxy

chengwen@chengwen bin % ./start.sh Starting the Sharding-Proxy ...Please check the STDOUT file: /Users/chengwen/apache-shardingsphere-incubating-4.0.1-sharding-proxy-bin/logs/stdout.logchengwen@chengwen bin %

查看日志,出现端口号3307(默认),ACTIVE表示成功

[INFO ] 00:27:18.350 [nioEventLoopGroup-2-1] i.n.handler.logging.LoggingHandler - [id: 0x7014d160] REGISTERED[INFO ] 00:27:18.352 [nioEventLoopGroup-2-1] i.n.handler.logging.LoggingHandler - [id: 0x7014d160] BIND: 0.0.0.0/0.0.0.0:3307[INFO ] 00:27:18.355 [nioEventLoopGroup-2-1] i.n.handler.logging.LoggingHandler - [id: 0x7014d160, L:/0.0.0.0:3307] ACTIVE

4 通过Sharding-Proxy启动端口进行连接

4.1 打开Navicat for Mysql 15 连接sharding-proxy

在这里插入图片描述

在这里插入图片描述

4.2 进行sql命令操作看到只有一个库

在这里插入图片描述

4.3 在sharding_db库中创建表

create table if not exists ds_0.t_order(order_id bigint not null,user_id int not null,status varchar(50),primary key(order_id));

4.4 向表中添加一条记录

USE sharding_db;show tables;select * from t_order;insert into t_order(order_id,user_id,status) values (11,1,'init');select * from t_order;

在这里插入图片描述

5 回到本地3306端口数据库中,看到已经创建好了表和添加了数据

本地库edu1需要自己创建,数据表和数据记录会由sharding-proxy自动创建

在这里插入图片描述

上一篇:8、ShardingSphere 之 Sharding-Proxy 实现分库分表
下一篇:ShardingSphere 系列

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月04日 18时47分16秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

Windows10 下springboot应用无法被外部网络访问 2019-03-03
报错:在IDEA中springboot项目操作数据库,配置文件驱动com.mysql.cj.jdbc.Driver标红 2019-03-03
redis报错(error) NOAUTH Authentication required.解决办法 2019-03-03
【树形dp】P1273 有线电视网 2019-03-03
【最短路】P4408 [NOI2003]逃学的小孩 2019-03-03
2020电工(初级)考试及电工(初级)考试软件 2019-03-03
2020N1叉车司机模拟考试题库及N1叉车司机复审模拟考试 2019-03-03
2020年制冷与空调设备运行操作答案解析及制冷与空调设备运行操作考试总结 2019-03-03
2020年保育员(初级)考试资料及保育员(初级)新版试题 2019-03-03
2020年茶艺师(高级)考试内容及茶艺师(高级)考试申请表 2019-03-03
2021年重氮化工艺考试题库及重氮化工艺考试报名 2019-03-03
2021年车工(高级)考试总结及车工(高级)试题及答案 2019-03-03
2021年压力焊证考试及压力焊实操考试视频 2019-03-03
2021年低压电工考试及低压电工考试申请表 2019-03-03
2021年低压电工考试及低压电工考试申请表 2019-03-03
2021年A特种设备相关管理(电梯)考试APP及A特种设备相关管理(电梯)复审考试 2019-03-03
2021年N1叉车司机考试题及N1叉车司机复审模拟考试 2019-03-03
2021年T电梯修理考试技巧及T电梯修理模拟考试软件 2019-03-03
2021年电工(初级)考试及电工(初级)证考试 2019-03-03
大数据学习之Spark——00Spark项目的pom.xml文件 2019-03-03