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高可用方案

 

 

相关文章
相关标签/搜索