Mycat 常用配置文件,配置灵活,能应用于场景很多,建议根据应用场景去记忆,要理解!

接上一篇:企业实战_03_MyCat下载、安装、启动
https://gblfy.blog.csdn.net/article/details/100049304

文章目录

  • 一、Mycat目录说明
  • 二、Mycat常用的配置文件
    • 2.1. 配置3剑客
    • 2.2. Mycat 2个配置1步走
  • 三、server.xml
    • 3.1. system标签及样例
    • 3.2. user 标签
    • 3.3. 对一个逻辑库有访问权限
    • 3.4. 对多个逻辑库有访问权限
    • 3.5. 对指定库的表的权限
    • 3.6. 源文件
  • 四、schema.xml
    • 4.1. 节点说明
    • 4.2. 样例
    • 4.3. 举个栗子:
  • 五、rule.xml
    • 5.1.文件用途
    • 5.2. 企业样例
    • 5.3. 举个栗子
一、Mycat目录说明
目录 说明
bin mycat命令,启动、重启、停止等
conf Mycat 配置信息
lib Mycat引用的jar包,Mycat是java开发的 ,用户密码加密的jar也在这
logs 日志文件,包括Mycat启动的日志和运行的日志
catlet catlet为Mycat的一个扩展功能
二、Mycat常用的配置文件
  • Mycat的配置文件都在conf目录里面:
2.1. 配置3剑客
文件 说明(用途)
server.xm ①系统相关参数②用户访问权限③SQL防火墙及SQL拦截功能
schema.xml ①主机节点 ②数据节点③逻辑库④逻辑表⑤自增ID⑥规则算法名称
rule.xml ① 规则类②算法③Mycat分片(分库分表)
2.2. Mycat 2个配置1步走
  • 全局自增id 场景
  • 2配置指需要配置2个文件
  • 1步走指的是需要执行一条插入语句设置自增规则
文件 说明
dbseq.sql Mycat全局自增id,初始化表结构
sequence_db_conf.properties 全局增id的表及数据节点
三、server.xml
3.1. system标签及样例
标签 说明
<system></system> 配置MyCat系统参数 key value形式

样例

 <system><!-- 定义mycat对外提供的服务的端口 --><property name="${key}">${value}</property></system>

举个栗子:

 <system><!-- 定义mycat对外提供的服务的端口 --><property name="serverPort">8066</property></system>

3.2. user 标签
标签 说明
<user></user> 配置MyCat的访问用户及权限
 <!-- mycat用户 --><user defaultAccount="true" name="app_imooc"><!-- 密码加密需要添加此设置 --><property name="usingDecrypt">1</property><!-- 密码 --><property name="password">bDbWr7bVMgszTe82oMo8NaUsmFFdPCNl/lYXzOYoG8anTpQLvdx5e+LYJEmT0IAeSVp1loyxSZPyv1GoHbHFHg==</property><!-- 逻辑库名 --><property name="schemas">imooc_db</property></user>
3.3. 对一个逻辑库有访问权限

3.4. 对多个逻辑库有访问权限

逻辑库有多个请采取以下配置

 <!-- mycat用户 --><user defaultAccount="true" name="app_imooc"><!-- 密码加密需要添加此设置 --><property name="usingDecrypt">1</property><!-- 密码 --><property name="password">bDbWr7bVMgszTe82oMo8NaUsmFFdPCNl/lYXzOYoG8anTpQLvdx5e+LYJEmT0IAeSVp1loyxSZPyv1GoHbHFHg==</property><!-- 多个逻辑库名,用“”,“”分割即可 --><property name="schemas">imooc_db,imooc_db01,imooc_db02</property></user>

3.5. 对指定库的表的权限



3.6. 源文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE serverSYSTEM 'server.dtd'>
<mycat:server xmlns:mycat="http://io.mycat/"><system><!-- 定义mycat对外提供的服务的端口 --><property name="serverPort">8066</property><!-- mycat管理端口 --><property name="managerPort">9066</property><!-- mycat登录是否需要验证0 验证1 不验证--><property name="nonePasswordLogin">0</property><!-- mycat对那台机器进行建通 监听所有  0.0.0.0监听指定机器 IP地址--><property name="bindIp">0.0.0.0</property><!-- 前端写队列的大小 --><property name="frontWriteQueueSize">2048</property><!-- 与数据库编码保持一致即可 --><property name="charset">utf-8</property><!-- mycat连接mysql的隔离级别 读未提交 1读已提交 2可重复读 3序列化读 4--><property name="txIsolation">2</property><!-- mycay进程数量 等于CPU核数 --><property name="processors">8</property><property name="idleTimeout">1800000</property><!-- 当sql执行超过多少秒后,mycat会对连接进行断开 单位秒 --><property name="sqlExecuteTimeout">300</property><property name="useSqlStat">0</property><property name="useGlobleTableCheck">0</property><property name="sequnceHandlerType">1</property><!-- mycat默认返回数据集的大小 这里设置100行--><property name="defaultMaxLimit">100</property><!-- mysql允许最大包的大小 --><property name="maxPacketSize">104857600</property></system><!-- mycat用户 --><user defaultAccount="true" name="app_imooc"><!-- 密码加密需要添加此设置 --><property name="usingDecrypt">1</property><!-- 密码 --><property name="password">bDbWr7bVMgszTe82oMo8NaUsmFFdPCNl/lYXzOYoG8anTpQLvdx5e+LYJEmT0IAeSVp1loyxSZPyv1GoHbHFHg==</property><!-- 逻辑库名 --><property name="schemas">imooc_db</property></user>
</mycat:server>
四、schema.xml
4.1. 节点说明
标签 说明
schema 配置逻辑库名
dataNode 数据节点
dataHost 物理主机节点
table 逻辑表
4.2. 样例
<?xml version="1.0"?>
<!DOCTYPE schema SYSTEM 'schema.dtd'>
<mycat:schema xmlns:mycat="http://io.mycat/"><schema checkSQLschema="false" name="逻辑库名" sqlMaxLimit="100"><table dataNode="数据节点" name="逻辑表名" primaryKey="逻辑表主键" rule="规则名" /></schema><dataNode dataHost="主机节点" database="物理数据库名" name="数据节点名"/><dataHost balance="3" dbDriver="native" dbType="数据库类型" maxCon="1000" minCon="10" name="主机节点名" switchType="1" writeType="0"><heartbeat>select user()</heartbeat><writeHost host="物理IP地址" password="密码" url="物理IP地址:端口号" user="操作数据库用户"/></dataHost>
</mycat:schema>

4.3. 举个栗子:
<?xml version="1.0"?>
<!DOCTYPE schemaSYSTEM 'schema.dtd'>
<mycat:schema xmlns:mycat="http://io.mycat/"><schema checkSQLschema="false" name="imooc_db" sqlMaxLimit="100"><table dataNode="ordb" name="order_master" primaryKey="order_id"/></schema><dataNode dataHost="mysqlnode01" database="order_db" name="ordb"/><dataHost balance="3" dbDriver="native" dbType="mysql" maxCon="1000" minCon="10" name="mysqlnode03" switchType="1" writeType="0"><heartbeat>select user()</heartbeat><writeHost host="192.168.43.172" password="123456" url="192.168.43.172:3306" user="im_mycat"/></dataHost>
</mycat:schema>

五、rule.xml
5.1.文件用途
  • 配置水平分片的分片规则:定义了表中使用哪一个标识来进行分片的
  • 配置分片规则所对应的分片函数:具体实现分片函数的一个Java代码或者java的类

标签说明

标签 说明
tableRule 表规则名
columns 规则字段
algorithm 规则设置
function 规则算法
property 规则分片的数量
5.2. 企业样例

#标签配置值的分片规则


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mycat:rule SYSTEM "rule.dtd">
<mycat:rule xmlns:mycat="http://io.mycat/"><!-- 规则名:采用hash取模 4片 分片字段id --><tableRule name="hash-mod-4_id"><rule><!-- 分片列就是分片字段 --><columns>id</columns><!-- 算法名 --><algorithm>hash-mod-4</algorithm></rule></tableRule><!-- 具体应用的算法 --><function name="hash-mod-4" class="io.mycat.route.function.PartitionByHashMod" ><property name="count">4</property></function>
</mycat:rule>
  • 标签制定标的分片列
  • 指定分片算法,取的name属性

#配置标的分片算法

 <!-- 具体应用的算法 --><function name="hash-mod-4" class="io.mycat.route.function.PartitionByHashMod" ><property name="count">4</property></function>
</mycat:rule>
  • name 属性定义分片算法
  • Class 属性指定分片算法实现类,必须是全类名
  • property 属性指定分片个数
5.3. 举个栗子


下一篇:企业实战_05_MyCat用户密码加密
https://gblfy.blog.csdn.net/article/details/100056536

企业实战_04_MyCat常用配置文件详解相关推荐

  1. Redis入门(2):五大数据类型(key,string,list,set,sortset)将其实战,配置文件详解,发布与订阅

    五大数据类型 redis常见数据类型操作命令:http://www.redis.cn/commands.html Redis键(key) 命令 描述 keys * 查看当前库所有key (匹配:key ...

  2. Django从理论到实战(part28)--ORM常用Field详解

    学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: ORM常用Field详解 AutoField 映射到数据库中是int类型,可以有自动增长的特性.一般不需要使用这个类型,如果 ...

  3. nginx学习简介-安装-启动-命令-nginx配置文件详解

    nginx是什么:nginx是一个高性能的HTTP和反向代理web服务器.同时也提供了IMAP/POP3/SMTP服务. nginx特点:开源.占内存少.轻量级.高性能(有报告表面nginx能支持高达 ...

  4. 配置文件详解+AlertManager微信邮件告警配置

    文章目录 前言 AlertManager告警简单部署 一.AlertManager告警简介 1.简介 2.告警规则组成 1)告警名称 2)告警规则 3.Alertmanager特性 1)分组 2)抑制 ...

  5. Redis实战和核心原理详解(4)Redis存储Key的一种设计实现方式:模式匹配

    注意:此方案仅为演示Redis 的使用,正式生产环境切勿使用! 相关文章: Redis实战和核心原理详解(1)Centos7.0下安装Redis 5.0详细过程和使用常见问题 Redis实战和核心原理 ...

  6. Web.config配置文件详解(新手必看)

    Web.config配置文件详解(新手必看) 花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点. ...

  7. AndroidManifest.xml配置文件详解

    AndroidManifest.xml配置文件详解 . AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查 ...

  8. Spring Boot 配置文件详解

    2019独角兽企业重金招聘Python工程师标准>>> 第二篇 : Spring Boot配置文件详解 文章首发于微信公众号<程序员果果> 地址:https://mp.w ...

  9. nginx服务器安装及配置文件详解

    nginx服务器安装及配置文件详解 seanlook 5月26日 发布 4 推荐 97 收藏,9.2k 浏览 nginx在工作中已经有好几个环境在使用了,每次都是重新去网上扒博客,各种编译配置,今天自 ...

最新文章

  1. php中操作mysql的函数库
  2. 发现的一个翻译的不错的elasticsearch 2.3.3 官方文档的API
  3. mysql docker 2003_解决远程连接mysql 报 2003错误的问题(docker)
  4. svn 面板缺少可选项_TortoiseSVN的设置
  5. 【开发环境】PyCharm 打开现有 Python 工程 ( 配置 Python 编译器版本 )
  6. Python爬虫学到什么程度就可以去找工作了?
  7. php.ini来配置session,php.ini 配置session自动开启
  8. 平均年薪 70 万!刚刚,这类程序员又涨薪了!佩服!
  9. 英特尔® 硬件加速执行管理器安装指南 — Mac OS X*
  10. Java面试那些事--可能会问的那些问题(中高级篇)
  11. Aspose-words结合Freemarker实现word邮件合并功能,批量处理word模板文件
  12. 怎么在html中加入pjax,网页添加Pjax代码实现无刷新加载
  13. STM32入门教程第一讲
  14. 下三角99乘法表 C语言
  15. big mac sur 免驱显卡_macOS Big Sur 系统原生显卡驱动信息表
  16. ubuntu18.04装N卡驱动后无法开机或关机的解决方法
  17. 激进投资者卡尔·伊坎辞去雅虎董事职务(每日关注,10月24日)
  18. 配置MacTex的Tex Live Utility
  19. 关于51单片机驱动DS18B20代码的感想
  20. AcWing 188. 武士风度的牛 BFS 水题

热门文章

  1. 数学不好,如何转行人工智能?
  2. 优秀自我简介200字_急需稿件,稿费200元起/篇 | 公众号【深夜秘杏酱】长期征稿(可签约)...
  3. 一对一聊天ajax实现
  4. 多线程笔记补充之线程通信wait和notify方法以及Lock和Condition接口的使用
  5. 数据结构实验之排序七:选课名单(卡内存的一道题。。坑)
  6. 作业帮云原生降本增效实践之路
  7. 技术干货 | “选图预览并上传”的场景如何解?全网最全方案汇总来了
  8. Dart编译技术在服务端的探索和应用
  9. [新品发布]全球首个百万IOPS云盘来了 阿里云推出超高性能云盘ESSD
  10. 有赞九周年,打造技术生态,与开发者一起投身新零售浪潮