MySQL 中间件 mycat 的使用
什么是MYCAT
- 一个彻底开源的,面向企业应用开发的大数据库集群
- 支持事务、ACID、可以替代MySQL的加强版数据库
- 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群
- 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server
- 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
- 一个新颖的数据库中间件产品
开始使用:
先在服务器上创建三个数据库

create database test_db1;
create database test_db2;
create database test_db3;
然后将配置 上面创建的三个库为 mycat 的数据源

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万条)

解析为:
id 1 - 5000000 时,放入数据节点索引0
id 5000001 - 10000000 时,放入数据节点索引1
id 1000001 - 15000000 时,放入数据节点索引2
*** 如果插入的数据超过 1500万条时,就需要扩容了,再加个节点 ,依次类推
启动 mycat:

测试 mycat:
应用中如何使用,官网已经说明了,直接连接 mycat 应用就好了,相当于 mycat 代理了 MySQL ,以后操作 MySQL 先经过 mycat
https://github.com/MyCATApache/Mycat-Server


账号密码就是 conf/server.xml 配置的账号密码

在 mycat 管理的 TESTDB 数据库下执行如下 SQL 语句

# 创建测试 user 表
create 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;
执行以上语句,会发现
test_db1、test_db2、test_db3 这三个数据库都创建了一张 user 表;
test_db1.user 表中有插入的前3条数据

test_db2.user 表中有插入的第4条数据

test_db3.user 表中有插入的第5条数据

上面一个简单的插入查询就完成。
Mycat高可用方案


MySQL 中间件 mycat 的使用的更多相关文章
- (十五)mysql中间件MyCAT实现
1)拓扑如下和实现目标 写操作:都在master 读操作:在slave1上 当master1挂了,写操作自动切换到master2上 当master2挂了,写操作自动切换到master1上 2)Myca ...
- MySQL 中间件汇总比较
360 Atlas 较为活跃,Atlas 是由 360 Web平台部基础架构团队开发维护的一个基于 MySQL 协议的数据中间层项目.它是在mysql-proxy 0.8.2版本的基础上,对其进行了优 ...
- 【Jmeter】压测mysql数据库中间件mycat
背景 因为博主所负责测试的项目需要数据库有较大的吞吐量,在最近进行了升级,更新了一个数据库中间件 - - mycat.查询了一些资料,了解到这是阿里的一个开源项目,基于mysql,是针对磁盘的读与写, ...
- 03中间件mycat对pxc集群的分片处理
安装第二个pxc集群 作为mycat的第二个分片 直接拷贝其中的一个虚拟机,然后还原到最初的状态,这样会小很多,启动改一下IP和基础配置,然后再次拷贝这个虚拟机两份改IP重启即可 正常安装pxc集群即 ...
- 开源数据库中间件-MyCat
开源数据库中间件-MyCat产生的背景 如今随着互联网的发展,数据的量级也是成指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系型数据库已经无法满足快速查询与插入数据的需求.这 ...
- mysql 中间件
http://f.dataguru.cn/thread-543718-1-1.html mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持 ...
- mysql中间件proxysql实现mysql读写分离
目录 1. mysql实现读写分离的方式 2. ProxySQL简介 3. ProxySQL安装 4. ProxySQL的Admin管理接口 5. 和admin管理接口相关的变量 5.1 admin- ...
- mysql中间件研究(Atlas,cobar,TDDL)
mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差.下面介绍几款能代替其的mysql开源中间件产品,Atlas ...
- MySQL中间件Atlas安装及使用
简介 Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量 ...
随机推荐
- @RequiresPermissions ,@RequiresUser , @RequiresGuest ,@RequiresRoles 解释
转载地址:https://blog.csdn.net/AinUser/article/details/64920968?locationNum=1&fps=1 @RequiresPermiss ...
- BZOJ1342 [Baltic2007]Sound静音问题
越来越水了... 这道题是简单的单调队列,同时维护最大值和最小值即可. 另解:multiset大法求区间最大最小,但是复杂度会上升... /****************************** ...
- 元素大小-偏移量(offset)客户区大小(client)滚动大小(scroll)
一.偏移量---offset 1.定位父级 在理解偏移大小之前,首先要理解offsetParent.人们并没有把offsetParent翻译为偏移父级,而是翻译成定位父级,很大原因是offsetPar ...
- MS14-021: Internet Explorer 安全更新: 2014 年 5 月 1 日
微软推送全平台IE零日漏洞补丁 2014.05.2 3 Comments 207 views今天,微软正式发布IE安全补丁,修复4月底曝光的零日漏洞.用户可通过Windows Update自动更新服务 ...
- 免费申请一年版Eset NOD32 Antivirus激活码(无限制)- 已失效
You will receive a 1-year license of the antivirus software Eset NOD32 (version 6), including all up ...
- 2019.1.11 EDVT
Processing Gain and Occupied Bandwidth ESA Basic Setup (11b)Span 110MHzRBW 100kHzVBW 100kHzSweep Tim ...
- L210 Ebola
Progress in fighting Democratic Republic of the Congo's Ebola outbreak, the second worst ever, will ...
- Tomcat服务器启动失败:Could not publish server configuration for Tomcat v8.0 Server at localhost. Multiple Contexts have a path of
在eclipse中使用Tomcat8.0时,出现了如下错误: 解决办法: 在建立Tomcat服务时,eclipse会自动生成一个Servers的项目. 在这个项目中,找到你部署项目的服务文件夹. 在这 ...
- zabbix监控系统的应用---数据监控、导入模板、告警
一.zabbix监控nginx服务 1)在server2中安装nginx服务 ---> rpm -ivh nginx-1.8.0-1.el6.ngx.x86_64.rpm 2)编辑配置文件 ...
- 详解基本TCP套接字函数
以下讲解基本TCP套接字函数. 1.socket 函数 指定期望的通信协议类型. #include <sys/types.h> /* See NOTES */ #include ...