企业实战_04_MyCat常用配置文件详解

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目录说明
目录说明
binmycat命令,启动、重启、停止等
confMycat 配置信息
libMycat引用的jar包,Mycat是java开发的 ,用户密码加密的jar也在这
logs日志文件,包括Mycat启动的日志和运行的日志
catletcatlet为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.sqlMycat全局自增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

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

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

相关文章

OpenStack精华问答 | OpenStack是云吗?

自诞生以来&#xff0c;OpenStack 似乎一直被质疑&#xff0c;其背后最重要的两大推手 NASA 和 Rackspace 都弃它而去&#xff0c;惠普、思科接连宣布关闭基于 OpenStack 的公有云服务&#xff0c;但是,OpenStack 依旧坚挺。1Q&#xff1a;openstack介绍A&#xff1a;openstack…

mclmcrrt77 matlab,mclmcrrt77.dll下载

mclmcrrt77.dll文件作为应用程序中非常重要的一个组件&#xff0c;如果弄丢或者报错后会出现很多麻烦的事情&#xff0c;这时候大家只需要到本站来下载该文件包&#xff0c;然后按照本站的安装方法进行安装就可以修复了&#xff01;mclmcrrt77.dll介绍如果您的系统提示“找不到…

是是是

Mycat - 实现数据库的读写分离与高可用&#xff1a; https://www.cnblogs.com/youzhibing/p/9553766.html Mycat - 高可用与负载均衡实现&#xff0c;满满的干货&#xff01; https://cloud.tencent.com/developer/article/1388391 Mycat读写分离、热备、分表分库 http://www…

3类6种,主流容器操作系统全比较

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | Frank Brown来源 | RancherLabs介 绍容器已迅速成为现代数据中心的必要组成部分。容器可以构建在各类操作系统中&#xff0c;那么企业该如何选择最合适的操作系统来运行自己的容器&#xff1f;在容器部署时&#xff0c;研发…

实战_23_高可用负载均衡集群的实现(Mycat+ZK +HAProxy + Keepalived)

接上一篇&#xff1a;实战_22_Mycat设置开机自启https://blog.csdn.net/weixin_40816738/article/details/100086556 文章目录一、高可用集群架构实现思路二、环境部署准备2.1. 环境部署总览2.2. 架构图总览2.3. 架构图解说明三、架构功能分析3.1. 场景案例分析3.2. 架构功能点…

拒修电脑后,妹子又约我学机器学习,好烦(甜)!

事情是这样的&#xff0c;自前年给学妹修了半年电脑后&#xff0c;我俩一直没联系&#xff0c;最近这位学妹最近又联系我&#xff0c;问我是否了解人工智能&#xff0c; 在得知我已经研究并且从事相关工作后&#xff0c;她立马约我出来认真聊聊。我的内心&#xff1a;好烦啊&am…

2019年普通高等程序员招生统一考试

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 表姐也有话讲来源 | 表哥有话讲2019年普通高等程序员招生统一考试题号一二三总得分一、选择题&#xff08;每题5分&#xff0c;共计50分&#xff09;1、SQL语句写了一天都没过&#xff0c;这个时候应该&#xff08;&#xff…

php 内存队列,memcache构建简单的内存消息队列_PHP教程

本文章来给各位同学介绍使用memcache构建简单的内存消息队列,用一个比较不错的实例来给大家介绍&#xff0c;希望此方法对大家有帮助哦。memcache功能太简单了&#xff0c;只能 set get 和delete&#xff0c; 只能保存key-value的数据&#xff0c; 不能保存列表。 当然也可以把…

idea maven插件tomcat内存溢出

setting->>>Build,Execution->>>Deployment->>>Maven->>>Runner->>>VM Options 粘贴复制以下内容&#xff1a; -Xms1024M -Xmx2048M -XX:PermSize256M -XX:MaxNewSize256M -XX:MaxPermSize512m

搞不懂SDN?那是因为你没看这个小故事…

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 小枣君来源 | 鲜枣课堂很久很久以前&#xff0c;有一个村子&#xff0c;名叫“通信童心村”。村里的每一户&#xff0c;都有一个男人和一个女人。每一户&#xff0c;都以搬砖为生。从不同的地方&#xff0c;搬到不同的地方。…

玩转 Linux 常用命令

Linux是目前应用最广泛的服务器操作系统&#xff0c;基于Unix&#xff0c;开源免费&#xff0c;由于系统的稳定性和安全性&#xff0c;市场占有率很高&#xff0c;几乎成为程序代码运行的最佳系统环境。linux不仅可以长时间的运行我们编写的程序代码&#xff0c;还可以安装在各…

良心帖!看完这篇,你的 Python 入门基础就差不多了!

Python将纳入高考内容、小学生教材开始接触Python、Python列入全国计算机等级考试……全民学Python的话题铺天盖地&#xff0c;中国的Python学习者是全球第一&#xff0c;人才如此泛滥&#xff0c;甚至以后孩子都会&#xff0c;学习它还能体现自身高价值&#xff1f;30年前学英…

Idea 依赖冲突一分钟解决2种方案

文章目录一、Diagrams解决方案1.1. 在pom.xml文件中&#xff0c;右击选择【Diagrams】-【Show Dependencies】1.2. 找到冲突的依赖1.3. 问题定位1.4. 解决方案1.5. 具体实现思路1.5.1. 查看spring-context的全局控版本1.5.2. 找到需要排除activemq-core中的spring-context的3.0…

2019年技术盘点容器篇(一):听UCloud谈风生水起的K8S | 程序员硬核评测

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者&#xff1a;刘晶晶据相关调研机构出具的报告数据显示&#xff0c;目前应用容器市场规模将从2016年的 7.62亿美元增长到2020年的27亿美元。显而易见&#xff0c;引入容器所展现的巨大灵活性有效推动了其采用速率&#xff0c;使企…

SpringBoot 整合ActiveMQ_企业实战

文章目录1. 新建Springboot工程2. 引入maven依赖3. ActiveMq配置类4. MQ生产者5. MQ 点对点消费者6. MQ 发布点阅消费者A7. MQ 发布点阅消费者B8. 统一测试类1. 新建Springboot工程 2. 引入maven依赖 <?xml version"1.0" encoding"UTF-8"?> <p…

Docker精华问答 |为什么巨头会支持Docker?

如今Docker的使用已经非常普遍&#xff0c;特别在一线互联网公司。使用Docker技术可以帮助企业快速水平扩展服务&#xff0c;从而到达弹性部署业务的能力。在云服务概念兴起之后&#xff0c;Docker的使用场景和范围进一步发展。今天&#xff0c;就让我们来看看关于Docker的深度…

Unable to process Jar entry [module-info.class] from Jar

Unable to process Jar entry [module-info.class] from Jar [jar:file:/J:/rep/org/projectlombok/lombok/1.18.8/lombok-1.18.8.jar!/] for annotations org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19 解决方案&…

linux的批处理进程,巧用linux-top的批处理模式

IT技术学习&#xff1a;一种是采用循序渐进的系统式学习&#xff1b;一种是采用“投机取巧”的碎片式学习。我这个人比较赖&#xff0c;也没有那些大牛执着的精神和水平&#xff0c;所以只能和大家分享后者命令简述top命令-是UNIN&&LINUX系统自带的系统管理工具。可以实…

最新突破!科学家研发出世界首款精神控制手臂机器人;近日Kubernetes 1.15 正式发布;雷军公布小米手机产品线布局……...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 腾讯微信电子健康卡整体解决…