MyCat - 分片 - 分片规则 - 准备工作 | 学习笔记

简介: 快速学习 MyCat - 分片 - 分片规则 - 准备工作

开发者学堂课程【全面讲解开源数据库中间件MyCat使用及原理(二):MyCat - 分片 - 分片规则 - 准备工作】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/756/detail/13264


MyCat - 分片 - 分片规则 - 准备工作

内容介绍:

一、回顾

二、准备工作

 

一、回顾

image.png

水平拆分的特点是 MySQL 的各个节点当中表结构一样,但是这个表结构当中所存储的内容是不一样的,即原来在一张表当中存放的数据,现在分到了三个节点当中存放。第一个节点存放一部分,第二个节点存放一部分,第三个节点三存放一部分,从而来完成存储容量的扩容以及处理能力的增强。

那么一条数据插入到数据表后,插入到哪个节点由 rule 分片规则决定。rule 配置的内容是分片规则。

 

二、准备工作

分片规则基本上涵盖 MyCat 当中常见的分片规则。

准备工作,需要将水平拆分的配置文件备份,然后准备干净的 schema.xml 进行测试。

进行操作时按照之前的习惯,把 schema.xml 进行备份,重新命名为 mv schema.xml schema_h.xml。配置文件修改后,再拷贝一份,命名为 cp schema_h.xml schema.xml 。这样只需要在 schema.xml 产品当中进行一个全新的配置。后面所有关于分片规则的讲解,都是在这份配置文件当中重新来进行配置。

刷新并打开 schema.xml。打开 user 目录下的 local 目录,打开 local 目录下的mycat 目录,然后打开 concet 下的 schema.xml。

<schema name=”PARTITION _DB”checkSQLschema=”false sqlMaxLimit=“100”>

<tablename=””dataNode=”dn1,dn2,dn3” =rule=””/>

清除主键、name 值、分片规则,修改数据库名称为 PARTITION _DB。这是为了声明逻辑库叫做 PARTITION _DB,dn1,dn2,dn3 所关联的 mysql 库叫做partition_db。

<dataNode name =”dn1” dataHos=“host1”database=”partition_db”/>

<dataNode name =”dn2” dataHos=“host2”database=” partition _db”/>

<dataNode name =”dn3” dataHos=“host3”database=” partition _db”/>

既然关联了数据库,就要在三个数据节点中创建出来。执行建库语句:creat database log_db DEFAULT CHARACTER SET utf8mb4。创建完成之后再次查询,那么 partition _db 数据库就已经创建成功了。接下来打开 158 执行,执行完成之后查询,partition _db 数据库创建成功。

同理 159 执行之后再次查询。

现在对于 schema.xml 当中所配置的 partition _db 在三个节点当中已经创建好,那么接下来还需要把 server.xml 当中的配置进行修改,将 LOG_DB 修改为 PARTITION _DB

相关文章
|
人工智能 数据可视化 开发工具
Git log 进阶用法(含格式化、以及数据过滤)
Git log 进阶用法(含格式化、以及数据过滤)
|
Java 测试技术 数据库
如何做SpringBoot单元测试?
如何做SpringBoot单元测试?
|
Java 开发工具 Maven
IDEA安装及Clone代码
IDEA安装及Clone代码
320 0
|
算法 自动驾驶 数据挖掘
3D检测:DETR3D
3D检测:DETR3D
776 0
3D检测:DETR3D
|
监控 NoSQL 安全
如何在 Redis 中正确使用多线程?
【10月更文挑战第16天】正确使用 Redis 多线程需要综合考虑多个因素,并且需要在实践中不断摸索和总结经验。通过合理的配置和运用,多线程可以为 Redis 带来性能上的提升,同时也要注意避免可能出现的问题,以保障系统的稳定和可靠运行。
353 2
|
9月前
|
编解码 监控 虚拟化
Hyper分辨率优化技术,怎么使得虚拟机中的图形应用能够以更高的清晰度呈现
Hyper分辨率优化技术通过增强虚拟机的图形处理能力,显著提升图像清晰度和视觉体验,适用于图形设计、视频编辑等场景。该技术依赖于虚拟机的硬件配置、显卡驱动及显示设置,确保高分辨率内容的最佳呈现。使用时需合理设置分辨率,定期更新驱动并监控性能,以实现最佳效果。
|
10月前
|
人工智能 负载均衡 数据可视化
Deepseek太卡,白嫖阿里云Deepseek-R1满血版,免费100万Token
阿里云推出DeepSeek-R1 671B满血版免费部署方案,解决服务器繁忙问题。通过百炼大模型平台,用户可获得100万免费Token,无需编码,最快5分钟完成部署。支持自动弹性扩展,提供API调用和Chatbox客户端配置,轻松实现DeepSeek自由。新手零基础也能快速上手,最低0元体验高性能AI模型。
基于粒子滤波器的电池剩余使用寿命计算matlab仿真
本研究基于粒子滤波器预测电池剩余使用寿命(RUL),采用MATLAB2022a实现。通过非线性动力学模型模拟电池老化过程,利用粒子滤波器处理非线性和非高斯问题,准确估计电池SOH变化趋势,进而预测RUL。系统仿真结果显示了良好的预测性能。
|
弹性计算 运维 Shell
一键编译安装Httpd-2.4.53
【4月更文挑战第30天】
203 1
|
前端开发 Java Go
vscode怎么运行程序代码的两种方法
VSCode要运行程序的代码,大致要分为两种情况而定,一种是前端的代码,另一种是后端的代码。在VSCode中,后端代码的运行,可以从VSCode打开终端,然后使用命令行工具,使用命令来运行后端代码程序,比如Python的就可以使用命令:python file.py;Golang就可以使用:go run file.go;Java的就可以使用:java file.java,具体的步骤如下
610 1