
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自动创建
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月04日 18时47分16秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Windows10 下springboot应用无法被外部网络访问
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