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帳戶只能查詢不能寫,以下圖

 

至此分庫分表和讀寫分離的的功能基本實現

可是真正應用到項目中還有許多坑須要踩。

相關文章
相關標籤/搜索