MySQL 中間件 mycat 的使用

什麼是MYCAT

  • 一個完全開源的,面向企業應用開發的大數據庫集羣
  • 支持事務、ACID、能夠替代MySQL的增強版數據庫
  • 一個能夠視爲MySQL集羣的企業級數據庫,用來替代昂貴的Oracle集羣
  • 一個融合內存緩存技術、NoSQL技術、HDFS大數據的新型SQL Server
  • 結合傳統數據庫和新型分佈式數據倉庫的新一代企業級數據庫產品
  • 一個新穎的數據庫中間件產品

 

開始使用:

先在服務器上建立三個數據庫git

create database test_db1;
create database test_db2;
create database test_db3;
View Code

 

 而後將配置 上面建立的三個庫爲 mycat 的數據源github

 

conf/schema.xml 設置 user 表 , 數據節點分別爲上面設置的 dn1,dn2,dn3, 分片規則爲id根據 auto-sharding-long 的規則劃分到某個數據節點數據庫

 

在 conf/rule.xml 中找到 auto-sharding-long 的規則緩存

 

接着在此文件中搜索 rang-long 會查到規則存放在 autopartition-long.txt服務器

 

 

 conf/autopartition-long.txt (每一個分區存500萬條)分佈式

解析爲:ide

id 1 - 5000000 時,放入數據節點索引0測試

id 5000001 - 10000000  時,放入數據節點索引1大數據

id 1000001 - 15000000  時,放入數據節點索引2spa

*** 若是插入的數據超過 1500萬條時,就須要擴容了,再加個節點 ,依次類推

 

 啓動 mycat:

 測試 mycat:

應用中如何使用,官網已經說明了,直接鏈接 mycat 應用就行了,至關於 mycat 代理了 MySQL ,之後操做 MySQL 先通過 mycat 

https://github.com/MyCATApache/Mycat-Server

 

 

帳號密碼就是 conf/server.xml 配置的帳號密碼

 

 在 mycat 管理的 TESTDB 數據庫下執行以下 SQL 語句

# 建立測試 usercreate table user(id bigint not null primary key,name varchar(100)) comment "測試用戶表";
# 插入數據
insert into user(id,name) values(1,'zhangsan');
insert into user(id,name) values(2,'lisi');
insert into user(id,name) values(3,'wanger');
insert into user(id,name) values(5000001,'mazi');
insert into user(id,name) values(10000001,'David');
# 查詢如下你插入的數據
select * from user;
View Code

 

執行以上語句,會發現

test_db一、test_db二、test_db3 這三個數據庫都建立了一張 user 表;
test_db1.user 表中有插入的前3條數據

 


test_db2.user 表中有插入的第4條數據

 


test_db3.user 表中有插入的第5條數據

 

 

上面一個簡單的插入查詢就完成。

 

 

 

 

 

Mycat高可用方案

 

 

相關文章
相關標籤/搜索