官方文档里讲的详细的部分的我就不再赘述了,我只是谈谈我自己的理解

刚开始接触mycat,最重要的几个配置文件有server.xml,schema.xml,还有个rule.xml配置文件

具体都是干啥用的,大家看官方文档就行,我现在说的是想记录下自己对schema.xml的配置文件的一点理解

这个配置文件是用来配置分库分表用的,无疑显的很重要,那么搞明白它就显得更重要了

官方的给的原始配置,已经是带分库分表了,一开始看不懂配置文件让我们去搞明白的确很难,我也是研究了2天才有点端倪,目前只搞明白了读写分离

以下是我目前的配置

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"> </schema>
<dataNode name="dn1" dataHost="mycluster" database="app_house" />
<dataHost name="mycluster" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="86_M" url="172.17.3.86:3306" user="root" password="123456">
<!-- can have multi read hosts -->
<readHost host="177_S" url="172.17.3.177:3306" user="root" password="123456" />
<readHost host="86_S" url="172.17.3.86:3306" user="root" password="123456" />
</writeHost>
<!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
</dataHost>
</mycat:schema>

首先需要定义总标签也就是schema标签,这个里面定义了虚拟库,以及连接属性,还有虚拟节点

name属性定义了虚拟库的名字,这个名字需要和server.xml定义一致

dataNode定义了虚拟节点名字,这个需要和下一级的dataNode标签里的name属性一致

然后我们来定义次级标签dataNode,这个里面定义了dataNode的名字也就是name属性,虚拟host属性,以及要使用后端物理机那个数据库

name属性定义dataNode的名字,该属性提供给schema里的dataNode使用,须一致

dataHost 可以自定义,下一级标签需要使用该信息

database 指定使用后端物理机的那个数据库,就是把上级标签定义的虚拟数据库映射到后端物理机上的那个真实的数据库,该数据库在后端物理机上的Mysql是真实存在的

最后我们定义第三级标签dataHost属性,这个里面定义了后端物理机的属性,地址,端口,以及用户名密码等等,还有该物理机是负责写还是读,等等

name 属性使用了上级标签也就是dataNode里的 dataHost的名字,这个必须保持一致

blance和writetype等请参阅官方文档,

<writeHost 标签定义后端物理机属性,定义了该物理机是可读还是可写,可以有多个。

heartbeat 定义了如何探测后端物理机是否存活,使用select user语句去探测

目前就总结了这么多,如果以后有还会再补充。

mycat的schema.xml的个人的一点理解的更多相关文章

  1. Mycat配置文件schema.xml参数配置

    Mycat原理: Mycat的原理中最重要的一个动词是"拦截",它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析:如分片分析.路由分析.读写分离分析.缓存分析等 ...

  2. mycat中间件--schema.xml配置文件详解

    schema.xml管理着MyCat的逻辑库.表.分片规则.DataNode以及DataSource.弄懂这些配置,是正确使用MyCat的前提. <?xml version="1.0& ...

  3. Mycat 配置文件schema.xml

    1.介绍 schema.xml 作为 MyCat 中重要的配置文件之一,管理着 MyCat 的逻辑库.表.分片规则. DataNode 以及 DataSource. 2.schema相关标签 sche ...

  4. mycat中schema.xml的一些解释

    <?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> &l ...

  5. Mycat 配置说明(schema.xml )

    Schema.xml 作为 MyCat中重要的配置文件之一,管理着 MyCat的逻辑库.表.分片规则.DataNode以 及DataSource.弄懂这些配置,是正确使用MyCat的前提. schem ...

  6. Mycat分布式数据库架构解决方案--schema.xml详解

    echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 该文件 ...

  7. SUSE12SP3-Mycat(2)Schema.xml配置详解

    简介 Schema.xml 作为 MyCat 中重要的配置文件之一,管理着 MyCat 的逻辑库.表.分片规则.DataNode 以及 DataSource.弄懂这些配置,是正确使用 MyCat 的前 ...

  8. Solr 6.7学习笔记(02)-- 配置文件 managed-schema (schema.xml)(1)

    刚学Solr(版本6.7.0),新建一个core时,提示要求schema.xml文件,我找了半天也没在源码包中找到名为schema.xml的文件.这个版本其实用的是managed-schema文件,没 ...

  9. Solr的学习使用之(四)建数据库(添加Core)、表(配置schema.xml)

    1.数据库数据库就相当于solr里面的核.solr4.6不能使用界面提供的的Core Admin/Add Core来建立,会报错,不懂为啥:那就采用最 简单的办法:把solr下载包里面的\solr-4 ...

随机推荐

  1. 使用adb安装遇到的一些坑

    1.下载安装android SDK,可通过浏览器或者相关手机软件下载软件下载需要安装的apk安装文件,把apk文件放到android-sdk-windows\platform-tools下 2.可通过 ...

  2. ado.net 中事务的使用

    SqlHelper 类方法中启用事务 public static int UpdateByTran(List<string> sqlList) { SqlConnection conn = ...

  3. SCCM 2012 R2实战系列之二:前提工作准备

    在上一篇中,我们完成了SQL Server 2012的安装和配置.现在跟大家分享SCCM安装前的准备工作. 2.1 SCCM 2012 R2 准备工作 2.1.1 创建并分配System Manage ...

  4. Java 日志

    Java日志: 参考博客:http://www.importnew.com/16331.html 当日志中包含满足特定条件的记录时,触发相应的通知机制,或者在程序运行出现错误时,快速的定位潜在的问题源 ...

  5. Delphi获取本机的MAC地址

    Delphi获取本机的MAC地址: uses   NB30; function GetAdaPterInfo(lana: Char): string; var   Adapter: TAdapterS ...

  6. c语言数据类型(二)

    char 类型 1.char 变量 常量 char c; 定义一个char变量 c = ‘a’   'a'字符常量 char 的本质就是一个整数,只有一个字节大小的整数 2.printf 输出char ...

  7. Java 4- Java 变量类型

    Java 变量类型 在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下: type identifier [ = value][, identifier [= value] ...] ...

  8. C#winform抓取百度,Google搜索关键词结果

    基于网站seo,做了一采集百度和Google搜索关键字结果的采集.在这里与大家分享一下 先看先效果图 代码附加:  1   private void baidu_Click(object sender ...

  9. ORACLE和MYSQL的简单区别

    1,Oracle没有offet,limit,在mysql中我们用它们来控制显示的行数,最多的是分页了.oracle要分页的话,要换成rownum. 2,oracle建表时,没有auto_increme ...

  10. web app 、native app、hybrid app比较

    web app .native app.hybrid app比较 产品新人学习路 关注 2017.06.04 14:52* 字数 1887 阅读 11476评论 1喜欢 15 之前做讨论的时候,提出了 ...