什么是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 的使用的更多相关文章

  1. (十五)mysql中间件MyCAT实现

    1)拓扑如下和实现目标 写操作:都在master 读操作:在slave1上 当master1挂了,写操作自动切换到master2上 当master2挂了,写操作自动切换到master1上 2)Myca ...

  2. MySQL 中间件汇总比较

    360 Atlas 较为活跃,Atlas 是由 360 Web平台部基础架构团队开发维护的一个基于 MySQL 协议的数据中间层项目.它是在mysql-proxy 0.8.2版本的基础上,对其进行了优 ...

  3. 【Jmeter】压测mysql数据库中间件mycat

    背景 因为博主所负责测试的项目需要数据库有较大的吞吐量,在最近进行了升级,更新了一个数据库中间件 - - mycat.查询了一些资料,了解到这是阿里的一个开源项目,基于mysql,是针对磁盘的读与写, ...

  4. 03中间件mycat对pxc集群的分片处理

    安装第二个pxc集群 作为mycat的第二个分片 直接拷贝其中的一个虚拟机,然后还原到最初的状态,这样会小很多,启动改一下IP和基础配置,然后再次拷贝这个虚拟机两份改IP重启即可 正常安装pxc集群即 ...

  5. 开源数据库中间件-MyCat

    开源数据库中间件-MyCat产生的背景 如今随着互联网的发展,数据的量级也是成指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系型数据库已经无法满足快速查询与插入数据的需求.这 ...

  6. mysql 中间件

    http://f.dataguru.cn/thread-543718-1-1.html mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持 ...

  7. mysql中间件proxysql实现mysql读写分离

    目录 1. mysql实现读写分离的方式 2. ProxySQL简介 3. ProxySQL安装 4. ProxySQL的Admin管理接口 5. 和admin管理接口相关的变量 5.1 admin- ...

  8. mysql中间件研究(Atlas,cobar,TDDL)

    mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差.下面介绍几款能代替其的mysql开源中间件产品,Atlas ...

  9. MySQL中间件Atlas安装及使用

    简介 Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量 ...

随机推荐

  1. postgresql数据库常用命令

    --获取数据库软件版本select version();--获取数据库启动时间select pg_postmaster_start_time();--获取配置文件最近load时间select pg_c ...

  2. 利用express.js连接mongodb数据库

    var MongoClient = require('mongodb').MongoClient; var DB_CONN_STR = "mongodb://localhost:27017/ ...

  3. 驱动程序多线程 PsCreateSystemThread

    内核函数PsCreateSystemThread负责创建新线程.该函数可以创建两种线程,一种是用户线程,它属于当前进程中的线程.另一种是系统线程,系统线程不属于当前用户进程,而是属于系统进程,一般PI ...

  4. AngularJS-----$compile

    原文:http://docs.ngnice.com/api/ng/service/$compile 写在前面的话: 之前我一直理解错误,我一直以为这句--function([scope], clone ...

  5. Giter Link

    Giter Link Anton Chen https://github.com/antonchen Bear Zheng https://github.com/bearzlh Mac Directo ...

  6. PHP 之 Ci框架下隐藏index.php

    1. 修改 apache 配置文件 开启重写模块 conf/httpd.conf 去掉前面的# LoadModule rewrite_module modules/mod_rewrite.so 对于U ...

  7. 重写equal()时为什么也得重写hashCode()之深度解读equal方法与hashCode方法渊源

    今天这篇文章我们打算来深度解读一下equal方法以及其关联方法hashCode(),我们准备从以下几点入手分析: 1.equals()的所属以及内部原理(即Object中equals方法的实现原理) ...

  8. ThinkPHP3.2.3整合smarty模板(三)

    在smarty模板中使用thinkphp框架的U方法时要主要的问题: 1.不能直接使用{:U('Index/index')}: 2.正确的使用方法为:<!--{U("Login/log ...

  9. Win7不能用鼠标双击运行jar文件怎么办?

    Java应用程序jar文件可以由 JVM(Java虚拟机)直接执行,只要操作系统安装了JVM便可以运行作为Java应用程序的jar文件,其跨平台特性使得很多工具软件都用jar方式来部署分发,比如用于H ...

  10. ubuntu编译python源码的坑

    在linux平台下编译python时只需要3条命令. 编译步骤 在github或https://www.python.org/downloads/中下载python源码 解压压缩包进路目录执行 1. ...