美文网首页
mycat分片(枚举分片)

mycat分片(枚举分片)

作者: agang_19 | 来源:发表于2020-07-19 22:15 被阅读0次

    分片枚举

    通过在配置文件中配置可能的枚举 id,自己配置分片,本规则适用于特定的场景,比如有些业务需要按照省份或区县来做保存,而全国省份区县固定的

    conf/schema.xml

    image.png

    准备数据

    CREATE TABLE database1.`sharding-by-intfile` (
      `database` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
      `user_id` int DEFAULT NULL,
      `location` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
    
    CREATE TABLE database2.`sharding-by-intfile` (
      `database` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
      `user_id` int DEFAULT NULL,
      `location` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
    
    CREATE TABLE database3.`sharding-by-intfile` (
      `database` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
      `user_id` int DEFAULT NULL,
      `location` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
    
    

    conf/rule.xml

            <tableRule name="sharding-by-intfile">  
                    <rule>
                            <columns>location</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="type">1</property> //   默认值为 0,0 表示 Integer,非零表示 String
                    <property name="defaultNode">2</property> //默认分片节点,匹配不到的时候分配到这个节点
            </function>
    

    vim conf/partition-hash-int.txt

    fuzhou=0
    shanghai=1
    beijing=2
    
    

    报错是由于mycat的分片类型,int类型或string字段串类型,设置错误,刚开始配置rule.xml中type为0,但是插入数据为字符串

    image.png

    实验,插入数据,同时进行查询,查看是否正确分片


    image.png

    相关文章

      网友评论

          本文标题:mycat分片(枚举分片)

          本文链接:https://www.haomeiwen.com/subject/fotdkktx.html