一.下載和安裝
下載地址:http://dl.mycat.io/
使用介紹:https://github.com/MyCATApache/Mycat-Server/wiki
選擇對用的版本下載,這裏以 Mycat-server-1.6-RELEASE-20161028204710-win.tar.gz 爲例
沒有下載到的可以到我的雲盤下載,有1.6的windows,mac和linux版本
鏈接:https://pan.baidu.com/s/14_MK1hr7Im-nHJRJVWQJoA
提取碼:d9ud
1.mycat是基於java語言開發的,所以需要先安裝java環境;(這一步不介紹)
2.下載 Mycat-server-1.6-RELEASE-20161028204710-win.tar.gz 解壓到本地進入Mycat-server-1.6-RELEASE-20161028204710-win\mycat\bin 目錄
超級權限打開cmd,執行 mycat.bat instatll
安裝成功。
常用命令
二.配置使用
\Mycat-server-1.6-RELEASE-20161028204710-win\mycat\conf 下主要要配置這四個文件
- server.xml 配置mycat的用戶登錄信息,以及用戶權限
- schema.xml 配置分庫分表,邏輯庫與物理庫映射關係
- rule.xml 配置分庫分表規則
- wrapper.conf 配置環境信息
現在我們要用mycat做一個簡單的例子,在127.0.0.1:3306的一個實例上創建三個數據庫 db1,db2,db3,數據庫有一張goods商品表,要求通過商品表的自增主鍵去摸%3分配不同的數據到三個數據庫上;
- 建庫建表
建庫:
create database db1 character set utf8;
create database db2 character set utf8;
create database db3 character set utf8;
建表:
CREATE TABLE `goods` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(64) NOT NULL,
`price` decimal(10,0) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- server.xml
配置邏輯庫與連接信息
<user name="root">
<property name="password">123456</property>
<property name="schemas">TESTDB</property>
</user>
- schema.xml
配置需要分表,規則,以及邏輯庫和物理庫映射關係
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
<!-- 表配置 dataNode 標識三個數據節點 rule分表的規則 這裏是按3去摸 0,1,2 -->
<table name="goods" primaryKey="id" autoIncrement="true" dataNode="dn1,dn2,dn3" rule="mod-long" />
</schema>
<!-- 節點配置 節點對用的物理機器 及 數據庫 -->
<dataNode name="dn1" dataHost="dataHost1" database="db1" />
<dataNode name="dn2" dataHost="dataHost1" database="db2" />
<dataNode name="dn3" dataHost="dataHost1" database="db3" />
<!-- 物理機器配置 -->
<dataHost name="dataHost1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="127.0.0.1:3306" user="root"
password="admin123">
</writeHost>
</dataHost>
- 啓動mycat
啓動成功,說明配置也正確了;
然後我們就可以像連接mysql一樣的方式,連接到mycat,對數據進行操作了;
mysql -uroot -p123456 -h127.0.0.1 -P8066
mycat默認連接端口是8066
連接後,我們只能看到一個邏輯庫TESTDB
現在對數據庫進行insert操作,查看效果;
插入6條數據
insert into goods (id,name,price) values (1,'11',11);
insert into goods (id,name,price) values (2,'11',11);
insert into goods (id,name,price) values (3,'11',11);
insert into goods (id,name,price) values (4,'11',11);
insert into goods (id,name,price) values (5,'11',11);
insert into goods (id,name,price) values (6,'11',11);
分別查看我們的db1,db2,db3,可以發現6條數據已經被分到了三個數據庫中
explain select * from goods;
查詢數據的時候,可以看到sql被分發到dn1,dn2,dn3三個節點去執行
至此我們的mycat入門級教程已經學會了,是不是很簡單呢
下一篇 將會對配置詳解先進行個分析;
一起成長,一起學習,記得點關注哦