旅游网站建设规划报告怎么写,沈阳工程信息网官网,网站后台shopadmin输在哪里,网络推广主要做什么一、前言本文将基于主从复制#xff0c;读写分离的环境基础上进行一个简单的分片(分库分表)配置二、Mycat分片配置mycat分片主要在scheam.xml#xff0c;rule.xml这2个表中配置① scheam.xml#xff1a;配置逻辑表以及对应使用的分片规则select user()这里小编主要对t_user表…一、前言本文将基于主从复制读写分离的环境基础上进行一个简单的分片(分库分表)配置二、Mycat分片配置mycat分片主要在scheam.xmlrule.xml这2个表中配置① scheam.xml配置逻辑表以及对应使用的分片规则select user()这里小编主要对t_user表进行分片使用的分片规则为auto-sharding-long(每个库下的表中保存500万条数据)也就是说分了3个库(db1db2db3)这3个库下的t_user表分别保存500万条数据db1 : 1~5000000db2 : 5000001~10000000db3 : 10000001~15000000详细的分片规则主要在rule.xml中定义然后取tableRule标签中的name属性值即可 比如上面使用到的auto-sharding-longidrang-longautopartition-long.txt如果对多个表进行分片配置则配置多个table指定相应的dataNoderule等信息即可② rule.xml 定义分片规则在这里我们可以自定义分片规则然后在schema.xml中使用tableRulename : 对应schema.xml配置文件中table标签对应的rule属性即逻辑表的分片规则columns : 指定拆分的列字段algorithm : 定义分片规则即具体的分片算法对应function标签的name属性值functionname : 分片算法名class : 分片算法对应的具体的类property : 算法具体需要的一些属性不同的算法对应的配置不同下面贴出mycat默认的一些分片规则实际应用中可根据自已的需求来自定义idfunc1user_idfunc1sharding_idhash-intidrang-longidmod-longidmurmuridcrc32slotcreate_timepartbymonthcalldatelatestMonthidrang-modidjump-consistent-hash021602partition-hash-int.txtautopartition-long.txt3812824yyyy-MM-dd2015-01-01partition-range-mod.txt3③ 重启mycat服务三、创建表插入数据测试分片这里注意要先在mysql主库上新建我们上面scheam.xml配置文件中配置的db1db2db3这3个库再连接mycat服务哦不然连接mycat的时候会出现如下的问题1、Navicat连接Mycat创建表t_user温馨小提示如果之前mycat中已经有了t_user表即之前的操作中我们的mysql下已经存在一个db1库下的t_user表但db2以及db3库下却没有的话需要我们自己手动在db2db3库下创建与db1库下t_user表相同的表结构这里小编为了方便是直接将之前存在的t_user表删除后重新创建一个新的但实际情况中建议不要这样操作哦毕竟表里面是存在数据的数据就是财富如果吗没有数据的话就随便怎么搞创建完成效果为主从数据库下的db1db2db3库下都会出现t_user表2、插入数据温馨小提示在mycat中操作数据mysql中刷新以查看效果哦~① 插入id为1~5000000的数据效果如下只有db1库下存在数据db2db3库下均无数据② 插入id为5000001~10000000的数据效果如下只有db2库下存在数据db1db3库下均无数据③ 插入id为10000001~15000000的数据效果如下只有db3库下存在数据db1db2库下均无数据最后我们一个简单的mycat分片配置就成功完成了~