MyCAT入门实践
1.MyCAT简单介绍
MyCAT是一个彻底开源的,面向企业应用开发的大数据库集群,支持事务、ACID、可以替代MySQL的加强版数据库,是一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群
融合了内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server,并且结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品,是一个新颖的数据库中间件产品
2.安装JAVA环境
参考:Windows下Java环境变量配置 http://www.cnblogs.com/heyangyi/p/8942074.html
3.下载配置MyCat
下载地址:http://dl.mycat.io/1.6-RELEASE/

其他准备工作,安装mysql,创建 db1,db2,db3三个数据库
CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */;
CREATE DATABASE `db2` /*!40100 DEFAULT CHARACTER SET utf8 */;
CREATE DATABASE `db3` /*!40100 DEFAULT CHARACTER SET utf8 */;
分别在三个数据库中添加数据表:
CREATE TABLE `travelrecord` (
`id` bigint(20) NOT NULL,
`user_id` varchar(100) DEFAULT NULL,
`traveldate` date DEFAULT NULL,
`fee` decimal(10,0) DEFAULT NULL,
`days` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
解压下载得mycat,修改目录下得 conf 中的 schema.xml
<dataHost name="localhost1" 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="10.0.0.209:3306" user="sa"
password="123456">
<!-- can have multi read hosts -->
<readHost host="hostS2" url="10.0.0.209:3306" user="sa" password="123456" />
</writeHost>
<writeHost host="hostS1" url="10.0.0.209:3306" user="sa"
password="123456" />
<!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
</dataHost>
注意修改mysql所在得ip,port, user,password
配置mycat环境变量 MYCAT_HOME

4.运行测试MyCat
进入mycat的bin目录,运行 startup_nowrap.bat

打开MySQL Workbench,添加Connections

Host 是Mycat 所在服务IP地址,端口默认为:8066,User 和Password 是在 Mycat conf 目录下的server.xml中配置的 user 节点
测试插入数据到 travelrecord 表
insert into travelrecord(id,user_id,traveldate,fee,days) values(1,'Victor',20160101,100,10);
insert into travelrecord(id,user_id,traveldate,fee,days) values(5000001,'Job',20160102,100,10);
insert into travelrecord(id,user_id,traveldate,fee,days) values(10000001,'Slow',20160103,100,10);
分别查看db1,db2,db3中的数据
SELECT * FROM db1.travelrecord;

SELECT * FROM db2.travelrecord;

SELECT * FROM db3.travelrecord;

三条数据分别被添加到3个数据库中,这个与conf目录下autopartition-long.txt的定义有关,这个文件主要定义auto-sharding-long的规则
# range start-end ,data node index
# K=1000,M=10000.
0-500M=0
500M-1000M=1
1000M-1500M=2
其中0-500M条数据会进到 db1分片库
其中500M-1000M条数据会进到 db2分片库
其中1000M-1500M条数据会进到 db3分片库
查询刚刚添加的三天数据:进入mycat_conn链接里面,会发现存在了TESTDB逻辑库,执行查询
SELECT * FROM travelrecord;

重要配置文件简要说明
- server.xml是Mycat服务器参数调整和用户授权的配置文件
- schema.xml是逻辑库定义和表以及分片定义的配置文件
- rule.xml是分片规则的配置文件
、
MyCAT入门实践的更多相关文章
- 分布式学习系列【dubbo入门实践】
分布式学习系列[dubbo入门实践] dubbo架构 组成部分:provider,consumer,registry,monitor: provider,consumer注册,订阅类似于消息队列的注册 ...
- sass、less和stylus的安装使用和入门实践
刚 开始的时候,说实话,我很反感使用css预处理器这种新玩意的,因为其中涉及到了编程的东西,私以为很复杂,而且考虑到项目不是一天能够完成的,也很少是 一个人完成的,对于这种团队的项目开发,前端实践用c ...
- Django入门实践(三)
Django入门实践(三) Django简单应用 前面简单示例说明了views和Template的工作过程,但是Django最核心的是App,涉及到App则会和Model(数据库)打交道.下面举的例子 ...
- Django入门实践(二)
Django入门实践(二) Django模板简单实例 上篇中将html写在了views中,这种混合方式(指Template和views混在一起)不适合大型开发,而且代码不易管理和维护,下面就用Djan ...
- Django入门实践(一)
Django入门实践(一) Django编程思路+入门 认识Django有一个多月了,我觉得学习Django应该先理清它的编程思路.它是典型的MVC框架(在Django里也称MTV),我觉得Djang ...
- MyCat 入门:漫谈 MyCat 配置系统
文章首发于[博客园-陈树义],点击跳转到原文<MyCat 入门:漫谈 MyCat 配置系统> 上篇文章<MyCat 启蒙:分布式系统的数据库架构演变>中,我们通过一个项目从零到 ...
- 全文搜索引擎Elasticsearch入门实践
全文搜索引擎Elasticsearch入门实践 感谢阮一峰的网络日志全文搜索引擎 Elasticsearch 入门教程 安装 首先需要依赖Java环境.Elasticsearch官网https://w ...
- Mycat入门
1. Mycat入门 官网 http://www.mycat.io/ 1.1. 什么是Mycat 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务.ACID.可以替代MySQL的加强版数据库 ...
- 【实战】Docker入门实践二:Docker服务基本操作 和 测试Hello World
操作环境 操作系统:CentOS7.2 内存:1GB CPU:2核 Docker服务常用命令 docker服务操作命令如下 service docker start #启动服务 service doc ...
随机推荐
- impress.js 中文注释
impress.js 中文注释 玄魂 /** * impress.js *(本翻译并未完全遵照原作者的注释翻译) * Impress.js 是受 Prezi启发,基于现代浏览器的 CSS3 与 Jav ...
- Redis持久化之RDB&&AOF的区别
在说Redis持久化之前,需要搞明白什么是数据库状态这个概念,因为持久化的就是将内存中的数据库状态保存到磁盘上.那么什么是数据库状态呢?Redis是一个key-value数据库服务器,一般默认是有16 ...
- 前台获取枚举的key值
如: Enum ShowPosition { 首页 = 0,一级分类页 = 1,二级分类页 = 2 } 想获得汉字对应的数字,可用GetHashCode() html展示如下:循环枚举 @foreac ...
- 【js】关于正则表达式
正则表达式描述了字符的模式对象 语法: var patt=new RegExp(pattern,modifiers); 或更简单的方法 var patt=/pattern/modifiers; 模式描 ...
- nginx在Linux下的安装
安装之前的环境装备: 1.ngiinx 是C 语言开发的,我们上传的文件还是源码,需要gcc环境编译源码 : yum install gcc-c++ 2.nginx的http模块使用pcre来解析正则 ...
- python项目实现配置统一管理的方法
一个比较大的项目总是会涉及到很多的参数,最好的方法就是在一个地方统一管理这些参数.最近看了不少的python项目,总结了两种很有意思的配置管理方法. 第一种 基于easydict实现的配置管理 首先需 ...
- JAVA JDK的安装及初步试用
1.进入浏览器输入下图网址进入相关页面 2.网站主界面如图 3.单击箭头所指功能块 4.选择如下图的对应选项 5.进入如下页面后单击下图红色框 6.进入如下页面后单击如下红色框进行下载 7.下载好之 ...
- tkinter之Frame
tkinter的Frame即容器,在容器内部好像不能再嵌套一个Frame.
- 改变IIS的Framework版本
Changing the Framework version requires a restart of the W3SVC service. Alternatively, you can chang ...
- python中文画图显示乱码解决办法
最近使用notebook Python中的matplotlib作图,发现中文设置的坐标标签和title都显示为乱码,用了网上的许多教程都不管用,嘴后解决的方式是设置下述的两行即可搞定: plt.rcP ...