MySQL-分库分表详解(三)

news2024/10/6 10:28:34

♥️作者:小刘在C站

♥️个人主页: 小刘主页 

♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生!

♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏:云计算技术

♥️小刘私信可以随便问,只要会绝不吝啬,感谢CSDN让你我相遇!

前言

上章讲到MySQL-分库分表详解(二)本章继续

目录

MySQL

4 MyCat配置

4.1 schema.xml

4.1.1 schema标签

1). schema 定义逻辑库

核心属性:

2). schema 中的table定义逻辑表

核心属性:

4.1.2 datanode标签

 核心属性:

4.1.3 datahost标签

核心属性:

4.2 rule.xml

 4.3 server.xml

1). system标签

2). user标签


MySQL

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。

4 MyCat配置

4.1 schema.xml

schema.xml 作为 MyCat 中最重要的配置文件之一 , 涵盖了 MyCat 的逻辑库 、 逻辑表 、 分片规
则、分片节点及数据源的配置。

 

主要包含以下三组标签:          
schema 标签
datanode 标签
datahost 标签

4.1.1 schema标签

1). schema 定义逻辑库

 

schema 标签用于定义 MyCat 实例中的逻辑库 , 一个 MyCat 实例中 , 可以有多个逻辑库 , 可以通
schema 标签来划分不同的逻辑库。 MyCat 中的逻辑库的概念,等同于 MySQL 中的 database 概念, 需要操作某个逻辑库下的表时 , 也需要切换逻辑库 (use xxx)

核心属性:

   name :指定自定义的逻辑库库名
   checkSQLschema :在 SQL 语句操作时指定了数据库名称,执行时是否自动去除; true :自动去
   除, false :不自动去除
   sqlMaxLimit :如果未指定 limit 进行查询,列表查询模式查询多少条记录

2). schema 中的table定义逻辑表

table 标签定义了 MyCat 中逻辑库 schema 下的逻辑表 , 所有需要拆分的表都需要在 table 标签中定
义 。

核心属性:

   name :定义逻辑表表名,在该逻辑库下唯一
   dataNode :定义逻辑表所属的 dataNode ,该属性需要与 dataNode 标签中 name 对应;多个
   dataNode 逗号分隔
   rule :分片规则的名字,分片规则名字是在 rule.xml 中定义的
   primaryKey :逻辑表对应真实表的主键
   type :逻辑表的类型,目前逻辑表只有全局表和普通表,如果未配置,就是普通表;全局表,配
   置为 global

4.1.2 datanode标签

 核心属性:

name :定义数据节点名称
dataHost :数据库实例主机名称,引用自 dataHost 标签中 name 属性
database :定义分片所属数据库

4.1.3 datahost标签

该标签在 MyCat 逻辑库中作为底层标签存在 , 直接定义了具体的数据库实例、读写分离、心跳语句。

核心属性:

   name :唯一标识,供上层标签使用
   maxCon/minCon :最大连接数 / 最小连接数
   balance :负载均衡策略,取值 0,1,2,3
   writeType :写操作分发方式( 0 :写操作转发到第一个 writeHost ,第一个挂了,切换到第二
   个; 1 :写操作随机分发到配置的 writeHost
   dbDriver :数据库驱动,支持 native jdbc

4.2 rule.xml

rule.xml 中定义所有拆分表的规则 , 在使用过程中可以灵活的使用分片算法 , 或者对同一个分片算法
使用不同的参数 , 它让分片过程可配置化。主要包含两类标签: tableRule Function

 4.3 server.xml

server.xml 配置文件包含了 MyCat 的系统配置信息,主要有两个重要的标签: system user

1). system标签

 主要配置MyCat中的系统配置信息,对应的系统配置项及其含义,如下:

 

 

 

 

2). user标签

配置 MyCat 中的用户、访问密码,以及用户针对于逻辑库、逻辑表的权限信息,具体的权限描述方式及配置说明如下:

在测试权限操作时,我们只需要将 privileges 标签的注释放开。 在 privileges 下的 schema
标签中配置的 dml 属性配置的是逻辑库的权限。 在 privileges schema 下的 table 标签的 dml 属性
中配置逻辑表的权限。

♥️关注,就是我创作的动力

♥️点赞,就是对我最大的认可

♥️这里是小刘,励志用心做好每一篇文章,谢谢大家

 

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

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

相关文章

开始编写Python程序之Python小工具:word转pdf、压缩文件、解压文件、jpg转png

1、下载Python编译器 PyCharm官网下载地址对于个人编程,下载免费版的Community即可 2、创建一个Python项目 Python的最佳实现是为每个项目创建virtualenv。为此,请展开Project Interpreter:New Virtualenv Environment节点,然后…

SSM框架模板(高配:一次性配完所有需要的配置文件)

目录 一、pom.xml文件配置(基本不需要修改) 二、applicationContex.xml文件的配置。(这里只有一个地方需要修改) 三、mybatis-config.xml文件配置(根据需要修改) 四、配置web.xml文件(基本不…

Redis实战案例10-优惠券1-全局唯一ID

1. 全局ID生成器 id的规律性明显造成某些信息的泄露; 使用自增ID作为主键会导致一些问题。首先,由于自增ID必须是唯一的,因此当达到最大值时,无法再向表中插入新的数据,这限制了表的数据量。例如:订单如果一…

基本介绍实施工程师,以及实施工程师在软件开发的作用

一.软件实施介绍 1.什么是软件实施? 软件实施是指将软件开发完成后,按照计划进行部署和安装,使软件能够在目标环境中正常运行的过程。下面是软件实施的一般步骤: 1. 规划和准备:确定实施的范围、目标和计划&#xff0…

如何将PNG格式照片转换为JPG格式

如何将PNG格式照片转换为JPG格式 当您需要在网络上共享或存储图像时,将PNG格式的照片转换为JPG格式是一个常见的需求。本文将介绍一些关于将PNG格式照片转换为JPG格式的相关知识。 问题与解决方案 图像质量损失 在将PNG格式照片转换为JPG格式的过程中&#xff0…

IMX6ULL 移植篇-uboot 网络命令NFS

一. uboot 网络操作命令 本文介绍 nfs 命令的使用,具体是:通过 NFS服务向开发板下载 zImage内核镜像文件。 二. nfs 命令 nfs命令使用的目的:为了方便开发板调试。 nfs(Network File System) 网络文件系统,通过 nfs 可以在计算…

MyBatis实现主键ID、创建时间、更新时间的自动填充

注意事项 一:如果插入时有设置的值就使用之前设置的值,不带时才自动赋值。 二:xml文件中必须带有需要自动赋值的字段,否则无法知道赋值(如id、create_time、update_time) 代码详解 注解: …

【vue2+echarts】树状图(标签显示不全、节点文本过长换行等问题解决)

前言 树状图的使用。官方文档 正文 关于根节点标签显示不全问题解决 一开始的series->边距设置的如下。所以根节点的标签只显示了一半多出来。 top: "1%",left: "7%",bottom: "1%",right: "20%",后面修改成 top: "1%"…

css基础知识十八:CSS如何画一个三角形?原理是什么?

一、前言 在前端开发的时候,我们有时候会需要用到一个三角形的形状,比如地址选择或者播放器里面播放按钮 通常情况下,我们会使用图片或者svg去完成三角形效果图,但如果单纯使用css如何完成一个三角形呢? 实现过程似乎…

Maven安装与配置以及idea配置Maven

文章目录 一、安装本地Maven 二、安装 三、配置环境变量 四、配置settings文件 五、idea配置 一、安装本地Maven 选择你需要的maven版本下载:官网下载传送门 我使用的是3.6.1版本:maven-3.6.1-bin.zip ​ 二、安装 把下载好的maven压缩包解压到…

小样本目标检测综述__刘浩宇(导航与控制2021)论文阅读

小样本目标检测综述__刘浩宇(导航与控制2021)阅读 0、引言 早期采用了大量标注样本回归候选框的位置,但后来目标集和训练集数据分布不同导致检测效果下降。 对于没有大量样本支持的小样本检测应用就需要使用先验知识来弥补样本的不足。 可以分为三类&#xff1a…

Redis实战——商户查询(二)

缓存穿透 缓存穿透 :客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这样的请求都会访问到数据库,这样的大量请求同时过来访问这种不存在的数据,这些请求就都会访问到数据库,对数据库造…

js:使用diff.js实现文本内容差异比较

实现效果 目录 简介安装示例1、json比较diffJson2、按行比较diffLines3、比较数组diffArrays 总结参考资料 简介 A javascript text differencing implementation. 译文:javascript文本差异实现。 相关文档 github https://github.com/kpdecker/jsdiffnpmjs htt…

YoloV8改进---注意力机制:高斯上下文变换器GCT,性能优于ECA、SE等注意力模块 | CVPR2021

目录 1.GCT介绍 实验结果 2.GCT引入到yolov8 2.1 修改modules.py中: 2.2 加入tasks.py中: 2.3 yolov8_GCT.yaml 3.YOLOv8魔术师专栏介绍 1.GCT介绍 论文:https://openaccess.thecvf.com/content/CVPR2021/papers/Ruan_Gaussian_Context_…

MySQL数据库架构

MySQL数据库架构 MySQL架构自顶向下大致可以分为连接层 , SQL层 , 存储引擎层 , 物理文件层。架构如下 连接层 -- 查看最大连接数 show variables like %max_connections%;客户端连接器,MySQL向外提供交互接口连接各种不同的客户端。 客户端/应用程序:客…

7.3.6 【Linux】磁盘/文件系统参数修订

mknod 用到的磁盘 /dev/vda 的相关设备代码如下: 上表当中 252 为主要设备代码 (Major) 而 0~5 则为次要设备代码 (Minor)。 我们的Linux 核心认识的设备数据就是通过这两个数值来决定的!举例来说&#xf…

如何批量将PDF转换为图片?

在生活工作中,我们会处理很多电子合同。这些电子合同一般是PDF格式,不但存储空间大,且预览起来不太便捷,需要我们转换为图片格式更方便预览。如果人工一一处理比较繁琐复杂,有没有什么方案可以快速将pdf转换为图片呢&a…

如果想用unity做一个项目作为面试作品,至少该达到什么样的标准?

本文仅针对题目“如果想用unity做一个项目作为面试作品,至少该达到什么样的标准?”回答内容。 明确职业目标 首先要明确自身的职业目标,不同的行业、公司、游戏类型、岗位对作品的要求是不同的。 去什么样的行业?unity可做的有很…

python的IOError使用

try:npzfile np.load(calibrate.npz)mtx npzfile[mtx]dist npzfile[dist]except IOError:calibrate()python语言IOError错误一般多发生在对文件操作报错时,表示要打开的文件不存在

PostpreSQL内核学习-Chapter4 Foreign Data Wrapper(FDW)

FDW连接 preparations 两个在不同主机(满足TCP/IP连接是分属于不同IP地址下)(如果是安装PG源码)进入源码目录下面的/contrib/postgres_fdw/,然后用make & make install编译和安装 [rootlocalhost /]# cd 源码存…