当前位置: 首页 > news >正文

MyCat实现单库分表+代理所有表

MyCAT支持水平分片与垂直分片:
  水平分片:一个表格的数据分割到多个节点上,按照行分隔。
  垂直分片:一个数据库中多个表格A,B,C,A存储到节点1上,B存储到节点2上,C存储到节点3上。

MyCat通过定义表的分片规则来实现分片,每个表格可以绑定一个分片规则,每个分片规则指定一个分片字段并绑定一个函数,来实现动态分配算法。

 安装mycat后解压

tar -zxvf  Mycat-server-1.6.7.4-release-20200105164103-linux.tar

 配置mycat

schema.xml文件

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

    <schema name="ITCAST" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1">
        <!-- name: 表名,分表主键,子表,数据节点,分表规则 -->
        <table name="record" subTables="record_$0-4" dataNode="dn1" rule="sharding-by-intfile" />
        
    </schema>
    
    <dataNode name="dn1" dataHost="localhost1" database="db1" />


    
    <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
              writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
        <heartbeat>select user()</heartbeat>

        <writeHost host="hostM1" url="192.168.118.128:3306" user="root"
                   password="panjiahao">
                   
        </writeHost>

    </dataHost>

</mycat:schema>

server.xml文件

添加密码配置

 <property name="charset">utf8</property>

<user name="root" defaultAccount="true">
        <property name="password">123456</property>
        <property name="schemas">ITCAST</property>
        </user>
    
    <user name="user">
        <property name="password">123456</property>
        <property name="schemas">ITCAST</property>
        <property name="readOnly">true</property>
    </user>

rule.xml页面

需要配置分库分表的规则

<tableRule name="sharding-by-intfile">
        <rule>

            <!--info为规则内对呀数据字段-->

            <columns>info</columns>
            <algorithm>hash-int</algorithm>
        </rule>
</tableRule>
<function name="hash-int"
        class="io.mycat.route.function.PartitionByFileMap">
        <property name="mapFile">partition-hash-int.txt</property>
        <!--<property name="defaultNode">2</property>-->
        <property name="type">1</property>
</function>

最后重启mycat

到mycat的文件夹下
bin/mycat start
bin/mycat stop
bin/mycat status
bin/mycat restart 

相关文章:

  • 保定市住房和城乡建设厅网站/seo外包公司
  • 静态网站建设论文/百度论坛发帖
  • 做网站平面模板是啥意思/本地建站软件有哪些
  • 北京微网站建设公司/网站推广互联网推广
  • 建站售后服务/网站优化策略分析
  • 东莞设计网站建设方案/如何创建一个自己的网站
  • (二十二)简单算法和Lambda表达式
  • C#利用SaveFileDialog实现保存的功能示例
  • kafka常见命令介绍和使用
  • Python_文件的打开与关闭
  • Python aiohttp 库是否值得学?那必须要掌握呀
  • 如何学习C++图像处理?
  • 计算机视觉未来发展与走向
  • Ubuntu20.04 完美版极速且完整 安装docker和nvidia-docker2
  • (二)Jenkins全局工具配置
  • Docker常用命令操作
  • Go语言变量
  • 不会数学的程序员,只能走到初级开发工程师!