企业实战_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目录说明
目录 | 说明 |
---|---|
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常用配置文件详解相关推荐
- Redis入门(2):五大数据类型(key,string,list,set,sortset)将其实战,配置文件详解,发布与订阅
五大数据类型 redis常见数据类型操作命令:http://www.redis.cn/commands.html Redis键(key) 命令 描述 keys * 查看当前库所有key (匹配:key ...
- Django从理论到实战(part28)--ORM常用Field详解
学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: ORM常用Field详解 AutoField 映射到数据库中是int类型,可以有自动增长的特性.一般不需要使用这个类型,如果 ...
- nginx学习简介-安装-启动-命令-nginx配置文件详解
nginx是什么:nginx是一个高性能的HTTP和反向代理web服务器.同时也提供了IMAP/POP3/SMTP服务. nginx特点:开源.占内存少.轻量级.高性能(有报告表面nginx能支持高达 ...
- 配置文件详解+AlertManager微信邮件告警配置
文章目录 前言 AlertManager告警简单部署 一.AlertManager告警简介 1.简介 2.告警规则组成 1)告警名称 2)告警规则 3.Alertmanager特性 1)分组 2)抑制 ...
- Redis实战和核心原理详解(4)Redis存储Key的一种设计实现方式:模式匹配
注意:此方案仅为演示Redis 的使用,正式生产环境切勿使用! 相关文章: Redis实战和核心原理详解(1)Centos7.0下安装Redis 5.0详细过程和使用常见问题 Redis实战和核心原理 ...
- Web.config配置文件详解(新手必看)
Web.config配置文件详解(新手必看) 花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点. ...
- AndroidManifest.xml配置文件详解
AndroidManifest.xml配置文件详解 . AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查 ...
- Spring Boot 配置文件详解
2019独角兽企业重金招聘Python工程师标准>>> 第二篇 : Spring Boot配置文件详解 文章首发于微信公众号<程序员果果> 地址:https://mp.w ...
- nginx服务器安装及配置文件详解
nginx服务器安装及配置文件详解 seanlook 5月26日 发布 4 推荐 97 收藏,9.2k 浏览 nginx在工作中已经有好几个环境在使用了,每次都是重新去网上扒博客,各种编译配置,今天自 ...
最新文章
- php中操作mysql的函数库
- 发现的一个翻译的不错的elasticsearch 2.3.3 官方文档的API
- mysql docker 2003_解决远程连接mysql 报 2003错误的问题(docker)
- svn 面板缺少可选项_TortoiseSVN的设置
- 【开发环境】PyCharm 打开现有 Python 工程 ( 配置 Python 编译器版本 )
- Python爬虫学到什么程度就可以去找工作了?
- php.ini来配置session,php.ini 配置session自动开启
- 平均年薪 70 万!刚刚,这类程序员又涨薪了!佩服!
- 英特尔® 硬件加速执行管理器安装指南 — Mac OS X*
- Java面试那些事--可能会问的那些问题(中高级篇)
- Aspose-words结合Freemarker实现word邮件合并功能,批量处理word模板文件
- 怎么在html中加入pjax,网页添加Pjax代码实现无刷新加载
- STM32入门教程第一讲
- 下三角99乘法表 C语言
- big mac sur 免驱显卡_macOS Big Sur 系统原生显卡驱动信息表
- ubuntu18.04装N卡驱动后无法开机或关机的解决方法
- 激进投资者卡尔·伊坎辞去雅虎董事职务(每日关注,10月24日)
- 配置MacTex的Tex Live Utility
- 关于51单片机驱动DS18B20代码的感想
- AcWing 188. 武士风度的牛 BFS 水题
热门文章
- 数学不好,如何转行人工智能?
- 优秀自我简介200字_急需稿件,稿费200元起/篇 | 公众号【深夜秘杏酱】长期征稿(可签约)...
- 一对一聊天ajax实现
- 多线程笔记补充之线程通信wait和notify方法以及Lock和Condition接口的使用
- 数据结构实验之排序七:选课名单(卡内存的一道题。。坑)
- 作业帮云原生降本增效实践之路
- 技术干货 | “选图预览并上传”的场景如何解?全网最全方案汇总来了
- Dart编译技术在服务端的探索和应用
- [新品发布]全球首个百万IOPS云盘来了 阿里云推出超高性能云盘ESSD
- 有赞九周年,打造技术生态,与开发者一起投身新零售浪潮