MyCat配置运行

昨天把mycat的环境搭建差不多了,今天直接上配置文件:

主要需要修改三个配置文件:

rule.xml

schema.xml

server.xml

rule.xml配置如图:

id

func1

user_id

func1

sharding_id

hash-int

id

rang-long

id

mod-long

id

murmur

id

crc32slot

create_time

partbymonth

calldate

latestMonth

id

rang-mod

id

jump-consistent-hash

class="io.mycat.route.function.PartitionByMurmurHash">

0

2

160

  class="io.mycat.route.function.PartitionByCRC32PreSlot">

2

class="io.mycat.route.function.PartitionByFileMap">

partition-hash-int.txt

class="io.mycat.route.function.AutoPartitionByLong">

autopartition-long.txt

3

8

128

class="io.mycat.route.function.LatestMonthPartion">

24

class="io.mycat.route.function.PartitionByMonth">

yyyy-MM-dd

2015-01-01

        partition-range-mod.txt

3


其中最重要的两段:列举使用id分片,分多少片:

MyCat配置运行_第1张图片
MyCat配置运行_第2张图片

schema.xml:数据库关系配置,分库分表配置

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

select user()

 

       

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

select user()

 

       

我这里准备了两台写库虚拟机,只为验证分库分表是否成功与否;

server.xml:配置用户信息

0 

0 

2

     

       

0

0

1

1m

1k

0

384m

true

2153577

cuijiale

替换mycat服务配置文件后,启动服务:

在mycat安装目录bin文件夹下输入如下命令:

有时linux虚拟机访问mysql会失败,一般情况会有防火墙,关掉防火墙在访问即可;

全部启动好后,两个库分别新建表tb_user:

CREATE TABLE `tb_user` ( `id` int(10) NOT NULL , `name` varchar(255) NULL , `sex` varchar(255) NULL , PRIMARY KEY (`id`) );

我是靠id分片的,这里要注意下:

全部搞定后,可以insert几条数据验证下:


MyCat配置运行_第3张图片

经验证,mycat服务查询结果来自两台不同mysql服务器,至此分库分表切片都已成功!

你可能感兴趣的:(MyCat配置运行)