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帳戶只能查詢不能寫,以下圖
至此分庫分表和讀寫分離的的功能基本實現
可是真正應用到項目中還有許多坑須要踩。