应用场景:如下图,在业务系统中, 存在一张业务系统的日志表, 由于每天都会产生大量的日志数据,且单台服务器的数据存储及处理能力是有限的, 因此我们可以对该数据库表进行拆分。
准备工作
Mycat是采用java语言开发的开源的数据库中间件,支持Windows和Linux运行环境,下面介绍MyCat的Linux中的环境搭建。我们需要在准备好的服务器中安装如下软件:
MySQL、JDK、Mycat
三台测试机
1:10.168.5.183,安装JDK,Mycat,MySQL
2:10.168.5.193,安装MySQL
3:10.168.5.194,安装MySQL
在三台实体库上登录mysql,建立muyizi这个测试库,然后退出mysql,不要做其它的增删改查的操作。
配置schema.xml文件:
配置server.xml文件:
mycat关闭重启,并确认mycat运行正常:
Bin/mycat stop
Bin/mycat star
登录mycat,使用show databases,可以看到已经有muyizi这个逻辑库,切换到逻辑库下,mycat也会自动生成一个tb_log逻辑表.
注:tb_log这个逻辑表只存在于mycat上,实体机5.183,5.193,5.194上,并不存在这个tb_log表
测试:
- 在mycat上创建tb_log表后,我们在三台实体机上就能看到新创建的tb_log表,如下图
2.在mycat上插入测试数据,并在三台实体库机上进行相关查询,我们可以看到,数据已经根据rule规则,分布在三台库机上.
以上,我们就完成了mysql分表配置