前面已经讲过mycat的安装和基础使用,下面根据实际场景:假如用户很多的时候根据用户id进行分表操作。
先创建表 user_info:
CREATE TABLE `user_info` (
`user_id` int(11) DEFAULT NULL,
`amount` varchar(255) DEFAULT NULL,
`create_at` datetime DEFAULT NULL,
`area_code` int(10) DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
配置
schema.xml

在本地需要创建 testdb,testdb2 两个库 然后里面创建 user_info表
rule.xml

分片规则:按照user_id进行分片,0-100的用户id分到dn1,101-200的用户id分到dn2中 详细内容在下面配置中
user_info conf具体配置

在mycat 创建数据1(分到dn1中)
insert into user_info(user_id,area_code,amount,create_at) values
('1',40,10,'2019-05-23'),
('2',401,102,'2019-05-23');
查询结果

在mycat 创建数据2(分到dn2中)
insert into user_info(user_id,area_code,amount,create_at) values
('101',401,101,'2019-05-24'),
('200',401,103,'2019-05-24');
查询结果

到此按照用户id分表已完成,更多内容要按照实际场景进行分片分表

本文介绍了在用户数量庞大时,如何利用Mycat进行数据库分表操作。通过创建user_info表,并配置schema.xml与rule.xml,将用户ID0-100分配到dn1,101-200分配到dn2。展示了在Mycat中插入数据并验证查询结果的过程,实现按用户ID的分片策略。
1319

被折叠的 条评论
为什么被折叠?



