Windows环境下使用Mycat模拟分库分表-读写分离案例

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帐户只能查询不能写,以下图

 

至此分库分表和读写分离的的功能基本实现

可是真正应用到项目中还有许多坑须要踩。

相关文章
相关标签/搜索