ShardingSphere-Proxy5按月分表

news2024/10/2 3:31:55

0、软件版本

ShardingSphere-Proxy: 5.2.0
MySQL: 8.0.30
系统: win10

1、ShardingSphere-Proxy下载

我们可以在 官网 找到最新版ShardingSphere-Proxy下载,也可以在ShardingSphere仓库中下载
在这里插入图片描述

2、ShardingSphere-Proxy配置

1.解压缩压缩包

解压缩完成后我们可以看到如下目录:
在这里插入图片描述

2.添加MySQL连接jar包

在maven官网下载MySQL连接jar包:https://search.maven.org/artifact/mysql/mysql-connector-java/8.0.30/jar
在这里插入图片描述

3.将下载好的jar包添加到lib目录下

在这里插入图片描述

4.修改conf目录下的config-sharding.yaml和server.yaml配置文件

我们需要手动在3306端口下新建一个数据库tj-event
config-sharding.yaml修改内容如下:

databaseName: sharding_db
dataSources:
  ds:
    url: jdbc:mysql://127.0.0.1:3306/tj-event?serverTimezone=UTC&useSSL=false
    username: root
    password: ****
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 50
#
rules:
- !SHARDING
  tables:
    user: # 逻辑表名
      actualDataNodes: ds.user_${202210..202212} # 分 2 张表
      tableStrategy: # 分表策略
        standard:
          shardingColumn: create_time # 分表字段
          shardingAlgorithmName: sharding_by_time # 对 ProductId 取模分表

  shardingAlgorithms:
    sharding_by_time:
      # 分片类型 
      type: INTERVAL
      props:
        datetime-pattern: "yyyy-MM-dd HH:mm:ss"  # 分片字段格式
        datetime-lower: "2022-10-01 00:00:00"  # 范围下限
        datetime-upper: "2022-12-31 23:59:59"  # 范围上限
        sharding-suffix-pattern: "yyyyMM"  # 分片名后缀,可以是MM,yyyyMMdd等。
        datetime-interval-amount: 1  # 分片间隔,这里指一个月
        datetime-interval-unit: "MONTHS" # 分片间隔单位

server.yaml修改内容如下:

rules:
  - !AUTHORITY
    users:
      - root@%:root
      - sharding@:sharding
    provider:
      type: ALL_PERMITTED

5.启动ShardingSphere-Proxy

进入到bin目录下双击start.bat启动ShardingSphere-Proxy
在这里插入图片描述
启动成功后如下图所示
在这里插入图片描述

3、ShardingSphere-Proxy连接

1.使用Navicat连接ShardingSphere-Proxy

默认端口为:3307 密码是在server.yaml配置文件中配置的密码
在这里插入图片描述

注意:我们要在连接配置中配置数据库,数据库名称就是我们在config-sharding.yaml中配置的databaseName

在这里插入图片描述

配置好之后点击确定就可以成功连接ShardingSphere-Proxy

2.通过proxy创建user表

CREATE TABLE `user` (
  `id` int NOT NULL COMMENT '主键',
  `name` varchar(255) CHARACTER SET gbk DEFAULT NULL COMMENT '名称',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`),
  KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

执行完之后我们可以在proxy中看到创建的user逻辑表

在这里插入图片描述

可以在3306端口下看到分好的真实磁盘表

在这里插入图片描述

3.插入数据测试

INSERT into user VALUE(1,'zhangsan', '2022-10-01 23:11:11');
INSERT into user VALUE(2,'lisi', '2022-11-01 23:11:11');
INSERT into user VALUE(3,'wangwu', '2022-12-01 23:11:11');

插入数据之后我们可以在user逻辑表中看到相应的数据
在这里插入图片描述

也可以在真实的磁盘表中看到分表后的数据

在这里插入图片描述
到此,我们的整个分表流程就走完了。

欢迎私信,评论交流~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/348128.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

shell编程经典案例,建议收藏

1、编写hello world脚本 #!/bin/bash# 编写hello world脚本echo "Hello World!"2、通过位置变量创建 Linux 系统账户及密码 #!/bin/bash# 通过位置变量创建 Linux 系统账户及密码#$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数 useradd "$1" …

Linux C++ 200行完成线程池类

文章目录1、atomic使用2、volatile关键字3、条件变量4、成员函数指针使用5、线程池6、主线程先退出对子线程影响7、return、exit、pthread_exit区别8、进程和线程的区别1、atomic使用 原子操作,不可分割的操作,要么完整,要么不完整。 #includ…

vscode开发基于Vue的健身房管理系统node.js

该系统的基本功能包括管理员、会员、教练三个角色功能模块。 对于管理员可以使用的功能模块主要有首页、个人中心,系统公告管理、健身常识管理,会员管理、教练管理、教练考勤管理、会员咨询管理、商品信息管理、团课管理、团课预约管理、论坛管理、系统管…

十三、二叉排序树

1、先看一个需求 给你一个数列 {7, 3, 10, 12, 5, 1, 9} ,要求能够高效的完成对数据的查询和添加 2、解决方案分析 使用数组 数组未排序,优点:直接在数组尾添加,速度快。缺点:查找速度慢 数组排序,优点&…

如何推出 NFT 游戏并获得收益?- 综合指南

NFT Gaming - 简介 - NFT 是代表独特内容所有权的数字资产,例如游戏中的一件艺术品或收藏品。它们建立在区块链解决方案之上,允许这些数字资产的真正所有权和稀缺性。 在游戏行业,NFT 用于创建玩家可以拥有和交易的独一无二的游戏内物品。这允…

政企服务机构如何进行数字化转型?

对于服务于政府和企业的产业机构来说,将政府政策和企业发展做完美匹配结合是其根本。在这个过程中,政策信息的准确性、前瞻性、核心价值是服务的基础,只有在政策下可行性高的解决方案才能为政府吸引更多的企业入驻。 那么该类产业机构该如何…

如何理解​session、cookie、token的区别与联系?

session、cookie、token。 相信学过接口的朋友都特别熟悉了。 但是对我一个刚接触接口测试的小白来说,属实有点分不清楚。 下文就是我通过查阅各种资料总结出来的一点理解,不准确的地方还请各位指正。 (文末送洗浴中心流程指南&#xff09…

C语言(函数和递归)

函数是完成特定任务的独立程序代码单元。 目录 一.函数 1.创建一个简单的函数 2.定义带形式参数的函数 3.使用return从函数中返回值 二.递归 一.函数 1.创建一个简单的函数 #include <stdio.h> void print(void); //函数原型 int main(){ print(); //函…

Weblogic CVE之旅之T3协议浅学习

前言 这篇文章主要是学习Weblogic CVE漏洞中的过程中&#xff0c;对其中的一种利用方式T3协议反序列化漏洞进行分析。 前置 什么是T3协议&#xff1f; T3协议是一种Weblogic RMI 调用时的通信协议, 对于JAVA RMI(Remote Method Invocation) 来说&#xff0c;基础的通信协议…

Web前端:使用Angular CLI时的最佳实践和专业技巧

在web开发业务中&#xff0c;构建高性能的应用程序是首要因素。此外&#xff0c;用开发人员最流行的语言开发一个健壮的网站将始终为构建高功能的网站提供适当的基础网站。相比之下&#xff0c;不可否认&#xff0c;Angular CLI是建立得最好且正在成长的框架之一。Angular CLI简…

【蓝桥杯嵌入式】第十三届蓝桥杯嵌入式 国赛 程序设计试题以及详细题解

文章目录原题展示原题分析详细题解LED模块按键模块串口LCD模块模拟电压读取(ADC)脉冲输入输出文章福利原题展示 原题分析 本届国赛试题主要包含LCD、LED、按键、EEPROM、串口、模拟电压输入、脉冲输入输出七大部分&#xff0c;其中前面三个部分是蓝桥杯嵌入式的“亲儿子”(必考…

2023年妇女节是哪一天 妇女节是2023年几月几日?

2023年妇女节是哪一天是2023年几月几日&#xff1f; 2023年妇女节是2023年3月8日 三八妇女节是国家法定节假日吗&#xff1f; 妇女节不是国家法定节假日&#xff0c;而国家法定节假日包括&#xff1a;元旦、春节、清明节、劳动节、端午节、中秋节、国庆节&#xff1b; 关于三…

操作系统(day09) -- 连续分配管理方式

连续分配管理方式 单元连续分配 动态分区分配 1.系统要用什么样的数据结构记录内存的使用情况&#xff1f; 两种常用的数据结构 空闲分区表 每个空闲分区对应一个表项。表项中包含分区号、分区大小、分区起始地址等信息空闲分区链 每个分区的起始部分和末尾部分分别设置前向…

硬件学习 软件Cadence day02 画原理图的基本操作 (键盘快捷键 , 原理图设计流程 , 从开始到导出网表流程)

1. ORCAD Capture cls 界面的快捷键 键盘 按键对应的操作I放大 &#xff08;可以滚轮操作&#xff09;O缩小 &#xff08;可以滚轮操作&#xff09;W画线Esc退出现在的状态 &#xff08;画图界面 右键 End xxx&#xff09;N放置网络标号J放置节点 (控制…

花2个月面过华为测开岗,拿个30K不过分吧?

背景介绍 美本计算机专业&#xff0c;代码能力一般&#xff0c;之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发&#xff0c;第二份实习由于大三暑假回国的时间比较短&#xff08;小于两个月&#xff09;&#xff0c;于是找的实…

ChatGPT is not all you need,一文看尽SOTA生成式AI模型:6大公司9大类别21个模型全回顾(一)

文章目录ChatGPT is not all you need&#xff0c;一文看尽SOTA生成式AI模型&#xff1a;6大公司9大类别21个模型全回顾&#xff08;一&#xff09;Text-to-Image 模型DALL-E 2IMAGENStable DiffusionMuseText-to-3D 模型DreamfusionMagic3DChatGPT is not all you need&#x…

Python和Java语言,哪个更适合做自动化测试?

经常有测试新手问我&#xff1a;Python和Java语言&#xff0c;哪个更适合做自动化测试&#xff1f;本来想简单的回答一下的&#xff0c;但又觉得对不起大家对小编的信任。因此&#xff0c;小编今天专门写了一篇文章来回答这个问题。欢迎各位大佬补充~1、什么是自动化测试&#…

大数据框架之Hadoop:HDFS(八)HDFS HA高可用

8.1 HA概述 1&#xff09;所谓HA&#xff08;High Available&#xff09;&#xff0c;即高可用&#xff08;7*24小时不中断服务&#xff09;。 2&#xff09;实现高可用最关键的策略是消除单点故障。HA严格来说应该分成各个组件的HA机制&#xff1a;HDFS的HA和YARN的HA。 3&…

一文优化java.lang.StackOverflowError的堆栈溢出问题及递归引发的java.lang.StackOverflowError错误

文章目录1. 问题引出2. 分析问题2.1 为什么递归调用会导致堆栈溢出2.2 数组太大或分配内存多于可用内存导致堆栈异常3. 优化避免栈溢出3.1 尾递归优化3.2 循环替代递归4. 重要总结1. 问题引出 今天在编码时&#xff0c;出现了java.lang.StackOverflowError&#xff0c;就感觉很…

【Python小游戏】没点儿技术真不敢这么玩儿:人工智能挑战《贪吃蛇》,来自AI的艺术——超级游戏高手世界最高纪录秒被盘?

前言 每天分享各种Python项目、好玩的Pygame游戏、Python的爬虫、数据分析案例、有趣的人 工智能知识等。期待你的关注哦&#xff01; 所有文章完整的素材源码都在&#x1f447;&#x1f447; 粉丝白嫖源码福利&#xff0c;请移步至CSDN社区或文末公众hao即可免费。 哈喽&…