文章目录

  • 简介
  • 1 进入conf目录,修改server.yaml
  • 2 进入conf目录,修改config-sharding.yaml
    • 2.1 拷贝mysql驱动到Sharding-Proxy的lib目录
    • 2.2 修改 config-sharding.yaml 文件
    • 2.3 本地创建一个数据库
  • 3 启动Sharding-Proxy服务
  • 4 通过Sharding-Proxy启动端口进行连接
    • 4.1 打开Navicat for Mysql 15 连接sharding-proxy
    • 4.2 进行sql命令操作看到只有一个库
    • 4.3 在sharding_db库中创建表
    • 4.4 向表中添加一条记录
  • 5 回到本地3306端口数据库中,看到已经创建好了表和添加了数据

简介

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

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

authentication:users:root:password: rootsharding:password: sharding authorizedSchemas: sharding_dbprops:max.connections.size.per.query: 1acceptor.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: LOCALproxy.opentracing.enabled: falsequery.with.cipher.column: truesql.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=falseusername: rootpassword: chengwenconnectionTimeoutMilliseconds: 30000idleTimeoutMilliseconds: 60000maxLifetimeMilliseconds: 1800000maxPoolSize: 50shardingRule:tables:t_order:actualDataNodes: ds_${0}.t_order_${0..1}tableStrategy:inline:shardingColumn: order_idalgorithmExpression: t_order_${order_id % 2}keyGenerator:type: SNOWFLAKEcolumn: order_idbindingTables:- t_orderdefaultDatabaseStrategy:inline:shardingColumn: user_idalgorithmExpression: 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.log
chengwen@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自动创建

7、ShardingSphere 之 Sharding-Proxy相关推荐

  1. Sharding Proxy 实战

    理论参考:MySQL 高级框架实战理论笔记 GitHub 代码:lane-mysql-42 文章目录 单纯的 MySQL 实现 建表 SQL 下载并配置 sharding porxy 添加 mysql ...

  2. spring.shardingsphere.rules.sharding.sharding-algorithms.database_inline.props‘ is not valid

    spring.shardingsphere.rules.sharding.sharding-algorithms.database_inline.props' is not valid 解决方案: 原 ...

  3. ShardingSphere源码解析 初步准备

    简介 源码阅读解析前,肯定是要对其有一个初步的了解,其用于解决问题,用于哪些场景.并上手本地跑一跑官方示例之类,开始阅读解析的第一步,为后面做准备. 阅读解析准备 GitHub和项目官网是了解的好途径 ...

  4. Apache ShardingSphere 一文读懂

    一.Apache ShardingSphere的概述 1.概述 官网:http://shardingsphere.apache.org/index_zh.html 下载地址:https://shard ...

  5. Apache ShardingSphere

    ShardingSphere 1.1分库分表是啥? 简单来说.就是指通过某种特定的条件,将我们存放在同一个数据库中的数据分散到多个数据库(主机)上面,以达到分散单台设备负载的效果 分库分表解决的问题 ...

  6. ShardingSphere学习(超详细)

    文章目录 @[toc] 第01章 高性能架构模式 1.读写分离架构 2.数据库分片架构 2.1.垂直分片 2.2.水平分片 3.读写分离和数据分片架构 4.实现方式 4.1.程序代码封装 4.2.中间 ...

  7. Sharding jdbc

    一.Sharding Sphere简介 定义:Apache ShardingSphere 是一款开源分布式数据库生态项目,由 JDBC.Proxy 和 Sidecar(规划中) 3 款产品组成.其核心 ...

  8. Springboot2.x +JPA 集成 Apache ShardingSphere 分表+读写分离

    分库分表背景: 数据库性能瓶颈:主要分为按照业务来划分或者按照数据量来划分. 拆分方式: 水平拆分(每个表的结构都一样):订单表数据量大,我们可以水平拆分 ,分成order表1.order表2.ord ...

  9. Springboot2.x +JPA 集成 Apache ShardingSphere 同库分表

    分库分表背景: 数据库性能瓶颈:主要分为按照业务来划分或者按照数据量来划分. 拆分方式: 水平拆分(每个表的结构都一样):订单表数据量大,我们可以水平拆分 ,分成order表1.order表2.ord ...

  10. Springboot2.x +JPA 集成 Apache ShardingSphere 分库分表

    分库分表背景: 数据库性能瓶颈:主要分为按照业务来划分或者按照数据量来划分. 拆分方式: 水平拆分(每个表的结构都一样):订单表数据量大,我们可以水平拆分 ,分成order表1.order表2.ord ...

最新文章

  1. Python中怎样改变集合之间的关系?
  2. Android GLSurfaceView.Renderer 类 onDrawFrame 方法的刷新机制
  3. chrome 控制台js调试与断点调试
  4. Android开源框架——图片加载库Glide
  5. c 调用java程序_C ++可以调用Java代码吗?
  6. 【华为云技术分享】实战案例丨代码优化:如何去除context中的warning?
  7. 服务器虚拟化的主备,云服务器可以主备切换
  8. 黑马程序员之Java集合类详解
  9. c语言求行列式的值原理,新手作品:行列式计算C语言版
  10. java怎么用一行代码初始化ArrayList
  11. web前端简历个人技能该怎么写?
  12. 【期末复习】现代管理科学基础
  13. wordpress添加Auto Highslide图片灯箱效果
  14. PowerDesigner书签(03)显示comment字段注释内容
  15. 局域网访问提示无法访问检查拼写_windows无法访问请检查名称的拼写… 错误代码:0x80070035 | 吴文辉博客...
  16. android 图片跑马灯动画,【Android自定义View】- 文本跑马灯效果
  17. linux查看进程和端口信息的命令
  18. Matlab使用Usrp进行数据收发
  19. 芯片模型算力指标TOPS FLOPS MAC MACC MADD关系
  20. 【mysql知识点整理】 --- 准确理解 in 和 exists

热门文章

  1. 商淘多b2b2c商城系统怎么在个人电脑上安装_b2b2c商城系统免费模板怎么用?
  2. 双稳态电路的两个稳定状态是什么_干货|常见的脉冲电路到底有何用途和特点?终于了解了!|脉冲|晶体管|双稳|单稳|振荡器...
  3. python 堆_40道Python经典面试题(附答案)
  4. python3.9特性_Python3.9的7个特性
  5. python nonetype转换float_如何在Python中将NoneType值从聚合转换为float?
  6. python3.7.2安装包_Win10下python 2.7与python 3.7双环境安装教程图解
  7. centeros7 mysql,center os 7 Mysql 安装
  8. python 发送邮件正文字体设置_python 文字 坐标python smtplib模块发送SSL/TLS安全邮件实例...
  9. 如何用php获取网页表格,PHP获取网页上任意表格中内容的通用程序的制作
  10. lamp mysql脚本_初次尝试利用脚本自动编译搭建LAMP-----Mysql