1、基本环境mysql
W7 64位、Mycat1.六、MySQL8.0sql
2、Mycat核心配置文件配置数据库
解压Mycat1.6,并对server.xml、schema.xml、rule.xml三个核心配置文件作相关配置,见下图工具
一、对server.xml设置登陆的账号密码以及逻辑库名(root帐户可读写,user帐户只读);并设置sequnceHandlerType为0spa
二、配置schema.xml,这里的库、表、数据库链接等会在后面介绍。rule="mod-long"会在rule.xml中有相关设置3d
三、设置rule.xml,因为只设置了两台数据库,这里改成2server
主键名称须要作下变动xml
3、执行建立库和表的命令,数据库mycat一、mycat2都需建立这两张表blog
CREATE TABLE IF NOT EXISTS `t_order` (
`order_id` int(20) NOT NULL,
`user_id` int(11) DEFAULT NULL,
`pay_mode` tinyint(4) DEFAULT NULL,
`amount` float DEFAULT NULL,
`order_date` datetime DEFAULT NULL,
PRIMARY KEY (`order_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='订单主表';qt
CREATE TABLE IF NOT EXISTS `t_order_detail` (
`od_id` int(20) NOT NULL,
`order_id` int(11) DEFAULT NULL,
`goods_id` int(11) DEFAULT NULL,
`unit_price` float DEFAULT NULL,
`qty` int(11) DEFAULT NULL,
PRIMARY KEY (`od_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='订单明细表';
4、重启mycat,并用mysql链接工具链接mycat
中止命令:mycat.bat stop
启动命令:mycat.bat start
链接mycat,注意默认端口是8066
5、链接mycat后,在mycat_order数据库下执行插入命令,并查看mycat1和mycat2中t_order表
INSERT INTO t_order(order_id, user_id, pay_mode, amount)VALUES( 1003, '105', 1, 100); 执行屡次
用mysql链接工具分别用root和user帐户链接Mycat,都可查询出两张表的汇总数据,且user帐户只能查询不能写,以下图
至此分库分表和读写分离的的功能基本实现
可是真正应用到项目中还有许多坑须要踩。