Windows环境下使用Mycat模拟分库分表-读写分离案例
一、基本環(huán)境
W7 64位、Mycat1.6、MySQL8.0
二、Mycat核心配置文件配置
解壓Mycat1.6,并對server.xml、schema.xml、rule.xml三個核心配置文件做相關(guān)配置,見下圖
1、對server.xml設置登錄的帳號密碼以及邏輯庫名(root賬戶可讀寫,user賬戶只讀);并設置sequnceHandlerType為0
2、配置schema.xml,這里的庫、表、數(shù)據(jù)庫連接等會在后面介紹。rule="mod-long"會在rule.xml中有相關(guān)設置
3、設置rule.xml,由于只設置了兩臺數(shù)據(jù)庫,這里改為2
主鍵名稱需要做下變更
三、執(zhí)行創(chuàng)建庫和表的命令,數(shù)據(jù)庫mycat1、mycat2都需創(chuàng)建這兩張表
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=‘訂單主表’;
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=‘訂單明細表’;
四、重啟mycat,并用mysql連接工具連接mycat
停止命令:mycat.bat stop
啟動命令:mycat.bat start
連接mycat,注意默認端口是8066
錯誤的看日志wrapper.log五、連接mycat后,在mycat_order數(shù)據(jù)庫下執(zhí)行插入命令,并查看mycat1和mycat2中t_order表
INSERT INTO t_order(order_id, user_id, pay_mode, amount)VALUES(next value for MYCATSEQ_ORDER, ‘105’, 1, 100); 執(zhí)行多次
用mysql連接工具分別用root和user賬戶連接Mycat,均可查詢出兩張表的匯總數(shù)據(jù),且user賬戶只能查詢不能寫,如下圖
至此分庫分表和讀寫分離的的功能基本實現(xiàn)
但是真正應用到項目中還有許多坑需要踩。
總結(jié)
以上是生活随笔為你收集整理的Windows环境下使用Mycat模拟分库分表-读写分离案例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue中v-model原理
- 下一篇: 一.数据结构绪论