mycat分库分表

应用场景

笔者数据库中有一个表的数据量非常大,其他表的数据量不大,想要对大表进行分库存储。

mycat的下载和安装此处不再赘述,请参考百度。笔者的mycat是安装在win10下的。
说明:需要根据主库(cxs_test)建好其他三个分库(mycat_test1、mycat_test2、mycat_test3),

mycat分库分表_第1张图片
1、配置server.xml




	
	0  
	0  
	2
      	 
         
		
		
		
		0
		
		
		
		
		
		
		
		
		0
		
		1
		
		1m
		
		1k
		0
		
		384m
		
		true
	
	
	
	  
		123456  
		MYCATTESTDB  
	


下图是properties文件的jdbc配置
在这里插入图片描述
2、配置schema.xml




	
		
		
select user()

在这里我只需要将“hk_chk_disease_record”表进行分库分表储存,所以dataNode的值要和 下面所有dataNode标签的name属性值保持一致。在配置中,name=“node_db01”,对应数据库“cxs_test”作为主库, 其他作为分库。全局表不需要分库分表储存,所以dataNode就只需填写node_db01。dataHost的name属性和 dataNode的dataHost属性值保持一致。需要分库的表,table的rule属性必填,其值需要和rule.xml配置中的tableRule的name属性值对应。
注意:schema.xml中的 schema name="MYCATTESTDB"要和sever.xml的 property name="schemas"标签中的值 MYCATTESTDB保持一致。需要注意的是,所有table必须要有主键,即primaryKey必须指定。

3、配置rule.xml




	
		
			id
			murmur
		
	
	
	
		
			record_id  
			murmur
		
	
	
		0
		4
		160
		
		
	

	
		2
	
	
		partition-hash-int.txt
	
	
		autopartition-long.txt
	
	
		
		3
	

	
		4
		256
	
	
		24
	
	
		yyyy-MM-dd
		2015-01-01
	
	
	
        	partition-range-mod.txt
	
	
	
		3
	


注意:tableRule 中的“record_id” 为schema.xml中要被分库分表的数据表的主键一致。

至此mycat的主要配置基本结束。如有不正确的地方,请各位读者批判指出,互相学习。
双击startup_nowrap.bat,
mycat分库分表_第2张图片
如果出现下图,则配置启动成功。
mycat分库分表_第3张图片

你可能感兴趣的:(mycat)