♥️作者:小刘在C站
♥️个人主页:************************************************************************************************************************************************************************************************************************************************************ 小刘主页 ****************************************************************************************************************************************************************************************************************************************************************
♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生!
♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏:云计算技术
♥️小刘私信可以随便问,只要会绝不吝啬,感谢CSDN让你我相遇!
前言
上章讲到MySQL-分库分表详解(二)本章继续
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属性
中配置逻辑表的权限。
、
♥️关注,就是我创作的动力
♥️点赞,就是对我最大的认可
♥️这里是小刘,励志用心做好每一篇文章,谢谢大家
版权归原作者 小刘在C站 所有, 如有侵权,请联系我们删除。