iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Mycat中如何配置schmea.xml
  • 842
分享到

Mycat中如何配置schmea.xml

2024-04-02 19:04:59 842人浏览 八月长安
摘要

这篇文章主要为大家展示了“Mycat中如何配置schmea.xml”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mycat中如何配置schmea.xml”这篇文

这篇文章主要为大家展示了“Mycat中如何配置schmea.xml”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mycat中如何配置schmea.xml”这篇文章吧。

1.基本环境

dn1 localhost1 192.168.6.121:3306---writehost
192.168.6.121:3307---readhost
192.168.6.121:3308
dn2 locahost2 192.168.6.120:3306---writehost
192.168.6.120:3307---readhost
192.168.6.121:3308
dn3 localhost3 192.168.6.119:3306---writehost
192.168.6.119:3307---readhost
192.168.6.119:3308



2.schemal配置

  1. <?xml version="1.0"?>

  2. <!DOCTYPE mycat:schema SYSTEM "schema.dtd">

  3. <mycat:schema xmlns:mycat="Http://io.mycat/">


  4.         <schema name="TESTDB" checksqlschema="false" sqlMaxLimit="100" dataNode="dn1">     ---默认数据节点,若新建一张表company2未在配置文件中配置,则默认建立在dn1数据节点上(私有表)

  5.                 <!-- auto sharding by id (long) -->

  6.                 <table name="travelrecord" datanode="dn1,dn2,dn3" rule="auto-sharding-long" />   ---分片表,根据对应的分片规则 分片到各个物理节点上


  7.                 <!-- global table is auto cloned to all defined data nodes ,so can join

  8.                         with any table whose sharding node is in the same data node -->


  9.                 <table name="company" primaryKey="ID" type="global" dataNode="dn1,dn2,dn3" />    ---全局表,每个节点上都有的表

  10.                                   ---等同于company

                                                ----等同于company2

  11.                 <table name="Goods" primaryKey="ID" type="global" dataNode="dn1,dn2,dn3" />

  12.                 <!-- random sharding using mod sharind rule -->

  13.                 <table name="hotnews" primaryKey="ID" autoIncrement="true" dataNode="dn1,dn2,dn3"

  14.                            rule="mod-long" />

  15.                 <!-- <table name="dual" primaryKey="ID" dataNode="dnx,dnoracle2" type="global"

  16.                         needAddLimit="false"/> <table name="worker" primaryKey="ID" dataNode="jdbc_dn1,jdbc_dn2,jdbc_dn3"

  17.                         rule="mod-long" /> -->

  18.                 <table name="employee" primaryKey="ID" dataNode="dn1,dn2"

  19.                            rule="sharding-by-intfile" />

  20.                 <table name="customer" primaryKey="ID" dataNode="dn1,dn2"

  21.                            rule="sharding-by-intfile">

  22.                         <childTable name="orders" primaryKey="ID" joinKey="customer_id"

  23.                                                 parenTKEy="id">

  24.                                 <childTable name="order_items" joinKey="order_id"

  25.                                                         parentKey="id" />

  26.                         </childTable>

  27.                         <childTable name="customer_addr" primaryKey="ID" joinKey="customer_id"

  28.                                                 parentKey="id" />

  29.                 </table>

  30.                 <!-- <table name="oc_call" primaryKey="ID" dataNode="dn1$0-743" rule="latest-month-calldate"

  31.                         /> -->

  32.         </schema>

  33.         <!-- <dataNode name="dn1$0-743" dataHost="localhost1" database="db$0-743"

  34.                 /> -->


    1.         <dataNode name="dn1" dataHost="localhost1" database="examdb" />             ----数据节点对应的localhost以及真实的数据库

    2.         <dataNode name="dn2" dataHost="localhost2" database="examdb" />

    3.         <dataNode name="dn3" dataHost="localhost3" database="examdb" />




    4.         <dataHost name="localhost1" maxCon="1000" minCon="10" balance="2"            ------localhosts对应的连接配置信息

    5.                           writeType="0" dbType="Mysql" dbDriver="native" switchType="1" slaveThreshold="100">

    6.                 <heartbeat>select user()</heartbeat>

    7.                 <!-- can have multi write hosts -->

    8.                 <writeHost host="hostM1" url="192.168.6.121:3306" user="root"

    9.                                    passWord="ESBecs00">

    10.                         <!-- can have multi read hosts -->

    11.                 </writeHost>


    12.         </dataHost>

    13.         


    14.         <dataHost name="localhost2" maxCon="1000" minCon="10" balance="2"

    15.                           writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

    16.                 <heartbeat>select user()</heartbeat>

    17.                 <!-- can have multi write hosts -->

    18.                 <writeHost host="hostM1" url="192.168.6.120:3306" user="root"

    19.                                    password="ESBecs00">

    20.                         <!-- can have multi read hosts -->

    21.                 </writeHost>


    22.         </dataHost>


    23.         <dataHost name="localhost3" maxCon="1000" minCon="10" balance="2"

    24.                           writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

    25.                 <heartbeat>select user()</heartbeat>

    26.                 <!-- can have multi write hosts -->

    27.                 <writeHost host="hostM1" url="192.168.6.119:3306" user="root"

    28.                                    password="ESBecs00">

    29.                         <!-- can have multi read hosts -->

    30.                 </writeHost>


    31.         </dataHost>

    32. </mycat:schema>

    33. ......未完待续


    全局表的查询有负载均衡的作用

    1. mysql> select * from company;   ----本应该是相同的数据,改为不同的数据是为了展示负载均衡的效果

    2. +----+-------------+

    3. | id | name |

    4. +----+-------------+

    5. | 1 | this is 119 |

    6. +----+-------------+

    7. 1 row in set (0.01 sec)


    8. mysql> select * from company;

    9. +----+-------------+

    10. | id | name |

    11. +----+-------------+

    12. | 1 | this is 120 |

    13. +----+-------------+

    14. 1 row in set (0.01 sec)


    15. mysql> select * from company;

    16. +----+-------------+

    17. | id | name |

    18. +----+-------------+

    19. | 1 | this is 121 |

    20. +----+-------------+

    21. 1 row in set (0.00 sec)



    分片表和私有表如果不在一哥节点上就联合查不到了!

    uc分片表,4101在第二个节点上
    act为私有表,4101在第一个节点上
    select * from uc_coupon where COUPON_ID=4101 ;   --单独查,是有的
    select * from act_vote_info where id=4101;       ---单独查,是有的
    select a.*,b.* from uc_coupon a,act_vote_info b where a.COUPON_ID=b.id and b.id=4101 limit 1;  --联合查,查不到了,因为跨节点了!
    举例:

    1. mysql> select * from order2;   ---分片表

    2. +----+----------+---------+---------------------+

    3. | ID | PROVINCE | SN | CREATE_TIME |

    4. +----+----------+---------+---------------------+

    5. | 2 | shanghai | 2BJ0001 | 2017-05-09 15:01:33 |    ---节点2上

    6. | 1 | beijing | 2BJ0001 | 2017-04-23 21:48:08 |     ---节点1上

    7. | 3 | tianjin | 2BJ0001 | 2017-05-09 15:01:45 |

    8. +----+----------+---------+---------------------+ 

    9. 3 rows in set (0.00 sec)


    10. mysql> select * from tt;    ---私有表 节点1上

    11. +------+------------+

    12. | id | name |

    13. +------+------------+

    14. | 2 | zhangsanli |

    15. | 1 | 12314 |

    16. +------+------------+

    17. 2 rows in set (0.00 sec)


    18. mysql> select a.*,b.* from tt a,order2 b where a.id=b.ID and b.id=2;   -----2和私有表不在一个节点上,查不出来

    19. Empty set (0.00 sec)


    20. mysql> select a.*,b.* from tt a,order2 b where a.id=b.ID and b.id=1;    -----1和私有表在一个节点上,所以查的出来

    21. +------+-------+----+----------+---------+---------------------+

    22. | id | name | ID | PROVINCE | SN | CREATE_TIME |

    23. +------+-------+----+----------+---------+---------------------+

    24. | 1 | 12314 | 1 | beijing | 2BJ0001 | 2017-04-23 21:48:08 |

    25. +------+-------+----+----------+---------+---------------------+

    26. 1 row in set (0.00 sec)


    同理:

    分片表和分片表条件数据如果不在一个节点上就联合查不到了!
    1. mysql> select a.* ,b.* from order2 a,order3 b where a.id=b.id and a.id=2;    --单独都是有数据的,但是id相等的分在不同的节点上,还是不能跨节点

    2. Empty set (0.00 sec)

    mysql> select * from order2;
    +----+----------+---------+---------------------+
    | ID | PROVINCE | SN      | CREATE_TIME         |
    +----+----------+---------+---------------------+
    |  2 | shanghai | 2BJ0001 | 2017-05-09 15:01:33 |
    |  1 | beijing  | 2BJ0001 | 2017-04-23 21:48:08 |
    |  3 | tianjing | 2BJ0001 | 2017-05-15 14:52:17 |
    +----+----------+---------+---------------------+
    3 rows in set (0.00 sec)


    mysql> select * from order3;
    +----+----------+---------+---------------------+
    | ID | PROVINCE | SN      | CREATE_TIME         |
    +----+----------+---------+---------------------+
    |  2 | beijing  | 2BJ0001 | 2017-05-15 14:56:27 |
    |  1 | tianjing | 2BJ0001 | 2017-05-15 14:56:35 |
    |  3 | shanghai | 2BJ0001 | 2017-05-15 14:56:17 |
    +----+----------+---------+---------------------+
    3 rows in set (0.00 sec)


    解决办法:注解,详细用法见文档

    1. mysql> select b.sn,b.CREATE_TIME,a.CREATE_TIME from order2 a,order3 b where a.id=b.id;

    2. +---------------------+----+---------+---------------------+

    3. | CREATE_TIME | id | sn | CREATE_TIME |

    4. +---------------------+----+---------+---------------------+

    5. | 2017-04-23 21:48:08 | 1 | 2BJ0001 | 2017-05-15 14:56:35 |

    6. | 2017-05-09 15:01:33 | 2 | 2BJ0001 | 2017-05-15 14:56:27 |

    7. | 2017-05-15 14:52:17 | 3 | 2BJ0001 | 2017-05-15 14:56:17 |

    8. +---------------------+----+---------+---------------------+

以上是“Mycat中如何配置schmea.xml”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: Mycat中如何配置schmea.xml

本文链接: https://www.lsjlt.com/news/63283.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mycat中如何配置schmea.xml
    这篇文章主要为大家展示了“Mycat中如何配置schmea.xml”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mycat中如何配置schmea.xml”这篇文...
    99+
    2024-04-02
  • mycat中datanode和datahost如何配置
    这篇文章主要介绍了mycat中datanode和datahost如何配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 ...
    99+
    2024-04-02
  • Mycat读写分离配置实践
       工作这些年来,也去了一些地方,有了一些见闻,隐隐感觉很多文化和猫有着千丝万缕的联系。就拿IT行业来说吧,猫有着很高的曝光率,比如大名鼎鼎的 tomcat,是由SUN的软件构架...
    99+
    2024-04-02
  • Mycat 核心配置是怎么样的
    这篇文章给大家介绍Mycat 核心配置是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。常用配置文件间的关系由上图可以看到 Mycat 的核心配置文件均采用xml格式,这几个配置...
    99+
    2024-04-02
  • 如何掌握Mycat中间件
    本篇内容主要讲解“如何掌握Mycat中间件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何掌握Mycat中间件”吧!分布式数据存储与MycatMycat架构介...
    99+
    2024-04-02
  • mysql中mycat 中间件如何使用
    本篇文章给大家分享的是有关mysql中mycat 中间件如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一,什么是mycat一个彻底开源...
    99+
    2024-04-02
  • Mycat三大核心配置文件是什么
    这篇文章主要介绍“Mycat三大核心配置文件是什么”,在日常操作中,相信很多人在Mycat三大核心配置文件是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mycat三大核...
    99+
    2024-04-02
  • MyCAT如何安装使用
    这篇文章主要介绍了MyCAT如何安装使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 MyCAT安装 mycat运行依赖于...
    99+
    2024-04-02
  • vnc中如何配置
    这篇文章主要为大家展示了“vnc中如何配置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vnc中如何配置”这篇文章吧。 只要编辑/...
    99+
    2024-04-02
  • IIS中如何安装配置PHP5.3配置
    小编给大家分享一下IIS中如何安装配置PHP5.3配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!IIS安装配置PHP5.3配置的方法:首先在IIS中启用CGI...
    99+
    2023-06-20
  • Mycat如何部署与使用
    这篇文章将为大家详细讲解有关Mycat如何部署与使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 MyCAT 可以视为“MySQL”集群的企业级数据库,用来替代昂贵的...
    99+
    2024-04-02
  • Nagios pnp中如何配置Nagios配置文件
    这篇文章主要为大家展示了“Nagios pnp中如何配置Nagios配置文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Nagios pnp中如何配置Nagios配置文件”这篇文章吧。1.Na...
    99+
    2023-06-16
  • MySQL中文如何配置
    这篇文章主要为大家展示了“MySQL中文如何配置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中文如何配置”这篇文章吧。 1. 表中字段的字符集设置...
    99+
    2024-04-02
  • IDEA中如何配置Git?
    目录 一、下载git 二、在IDEA中配置git 三、结束语 一、下载git 进入git的官网:https://git-scm.com/,点击Download。 点击Download for Windows。   3、选择对应的版本...
    99+
    2023-09-21
    git idea
  • eclipse中servlet如何配置
    在Eclipse中配置Servlet,需要完成以下步骤:1. 创建一个动态Web项目:- 打开Eclipse,点击“File” > ...
    99+
    2023-09-12
    eclipse servlet
  • Hadoop中KMS如何配置
    这篇文章主要介绍Hadoop中KMS如何配置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!hdfs透明加密处于数据库加密层和文件系统加密层之间。能有效地防止对文件系统的攻击,因为他的存储都是加密的。对于每个用户可以有...
    99+
    2023-06-02
  • vue中如何配置axios
    本文小编为大家详细介绍“vue中如何配置axios”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue中如何配置axios”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。配置方法首先用npm安装npm ...
    99+
    2023-07-04
  • 如何在LinuxMint中配置
    要在Linux Mint中进行配置,您可以通过以下几种方法: 使用系统设置:Linux Mint提供了一个易于使用的系统设置工具...
    99+
    2024-04-02
  • Linux中Modem如何配置
    小编给大家分享一下Linux中Modem如何配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Modem配置过程对于Modem的配置过程而言,我们现在一般使用kp...
    99+
    2023-06-16
  • Redis中如何配置Celery
    今天就跟大家聊聊有关Redis中如何配置Celery,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。以下撇开Web框架,介绍基于Redis配置Cele...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作