mycat全局序列号(主键)及分片配置

mycat全局序列号(主键)及分片配置

1.建全局sequence表

CREATE TABLE `MYCAT_SEQUENCE` (
  `NAME` varchar(50) COLLATE utf8mb4_bin NOT NULL,
  `current_value` int(11) NOT NULL,
  `increment` int(11) NOT NULL DEFAULT '100',
  PRIMARY KEY (`NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

2.插入数据
insert 本用的表名 BALANCE_REPORT
name:要使用全局主键的表名
current_value:是初始值
increment:是每次增长多少
在这里插入图片描述

注意:
1.表名大小问题:mycat默认全是大写
2.increment可能一次增涨多个(比如100个)应用拿到之后自行逐1增长,用完之后再来取,减少mysql数据库压力。如果没用完应用重起了,剩下的丢弃,重新从mysql取,避免主键错乱。

3.修改配置文件

vim /etc/mycat/sequence_db_conf.properties

填写对应表名 BALANCE_REPORT=dn_svc
其中 dn_svc就是后面在schema.xml中配置的datanode
在这里插入图片描述

4.配置schema.xml

vim /etc/mycat/schema.xml

主要是添加: primaryKey="id" autoIncrement="true"

注意:
autoIncrement针对的是primaryKey,跟分片无关;
分片字段是rule="mod-accountID-long"这里决定的。

schema.xml

<schema name="sc_svc" checkSQLschema="false" sqlMaxLimit="100">
        <table name="balance_report" dataNode="dn_svc$1-10" primaryKey="id" rule="mod-accountID-long" splitTableNames ="true" autoIncrement="true">
        </table>
    </schema>


   <!-- 生成 sequence 的节点 -->
    <dataNode name="dn_svc" dataHost="host_svc" database="svc"/>


    <!-- 生成sequnce -->
    <dataHost name="host_svc" balance="0" dbDriver="native" dbType="mysql" maxCon="1000" minCon="10" slaveThreshold="100" switchType="1" writeType="0">
        <heartbeat>select user()</heartbeat>
        <!-- can have multi write hosts -->
        <writeHost host="svchost" url="192.168.88.203:3306" user="root" password="Root@123" />
    </dataHost>

5。配置rule.xml
rule.xml

<tableRule name="mod-accountID-long">
        <rule>
            <columns>account_id</columns>
            <algorithm>rang-long</algorithm>
        </rule>
</tableRule>

<function name="rang-long" class="io.mycat.route.function.AutoPartitionByLong">
        <property name="mapFile">autopartition-long.txt</property>
</function>

autopartition-long.txt

# range start-end ,data node index
# K=1000,M=10000.
0-1000M=0
10000001-2000M=1
20000001-3000M=2
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100389.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jmeter不满足条件时,跳出循环。while controller

    jmeter不满足条件时,跳出循环。while controller

    2021年9月18日
    216
  • java学习—探秘Java中的String、StringBuilder以及StringBuffer

    相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String、StringBuilder和StringBuffer这几个类,分析它们的异同点以及了解各个类适用的场景。下面是本文的目录大纲:  一.你了解String类吗?  二.深入理解String、StringBuffer、StringBuilder  三.不同场景下三个类的性能测试

    2022年2月25日
    35
  • 分析方法3—PEST

    分析方法3—PEST什么时候需要进行行业分析呢?当个人在对自己进行职业规划,思考选择哪个行业更好的时候;当公司需要对外部环境或者行业竞争对手有所了解,制定发展规划的时候;当面对重大问题,需要分析行业问题的时候。如何进行行业分析呢?就是用PEST分析方法。PEST分析方法是对公司发展宏观环境的分析,所以经常用于行业分析。通常是从政策、经济、社会和技术这四个方面来分析的.2.3.2如何使用行业分析方法?现在通过一个具体的例子来看下如何应用PEST分析方法。政策环境主要包括政府的政策、法律等。例如可以从这样几个问题

    2022年5月29日
    34
  • Java Web之过滤器(Filter)「建议收藏」

    Java Web之过滤器(Filter)「建议收藏」过滤器(Filter)过滤器实际上就是对web资源进行拦截,做一些处理后再交给servlet。通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理大概流程图如下应用场景自动登录统一设置编码格式访问权限控制敏感字符过滤等…

    2022年4月29日
    45
  • 优化SqlServer–数据压缩

    优化SqlServer–数据压缩

    2021年11月25日
    37
  • Petshop4.0下载及安装图解教程[通俗易懂]

    Petshop4.0下载及安装图解教程[通俗易懂]前面简单介绍了petshop4.0以及SQL2005的安装图解,那么下面我们就来介绍下petshop4.0的下载和petshop4.0的安装petshop4.0下载petshop4.0下载地址:http://download.microsoft.com/download/8/0/1/801ff297-aea6-46b9-8e11-810df5df1032/Microsoft%20.NET%20Pet%20Shop%204.0.msi这个是官方的下载地址,要怎么下载应…

    2022年9月25日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号