1.下载

# wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

2.安装

# tar -zxvf ~/Mycat-server-1.6-RELEASE--linux.tar.gz -C /usr/local

3.配置schema.xml

# cd /usr/local/mycat/conf
# vim schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!--schema 数据库-->
<schema name="testMyCat" checkSQLschema="false" sqlMaxLimit="100">
<!--table 表名-->
<table name="order" type="global" dataNode="order" />
<table name="orderDetail" type="global" dataNode="orderDetail" />
<table name="commodity" type="global" dataNode="order" />
</schema>
<!---datanode数据节点,database对应各个datahost中的数据库名,datahost用于配置数据库服务器地址->
<dataNode name="order" dataHost="host2" database="jxtest" />
<dataNode name="orderDetail" dataHost="host1" database="usercenter" />
<dataHost name="host1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="192.168.3.30:3306" user="root" password="Gaia@Works12345^&amp;*()" />
</dataHost>
<dataHost name="host2" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM2" url="192.168.3.62:4000" user="root" password="" />
</dataHost>
</mycat:schema>

mycat就是把跨库的数据库表,汇集到schema(新库)中,然后就可以join查询了

4.配置server.xml

# vim server.xml       #然后找到user节点配置
<user name="root">
<property name="password">123456</property>
<property name="schemas">testMyCat</property>
</user>
<!--user.name登陆用户名,password登录密码,schemas该用户可使用的数据库名,testMayCat对应schema.xml文件中配置的schema-->

5.启动mycat

# cd /usr/local/mycat/bin
# ./mycat start

6.查看mycat状态

# ./mycat status
Mycat-server is running ().

7.使用mysql客户端连接mycat

然后就可以使用mysql语法查询了

8. 两个表的join

/*!mycat:catlet=io.mycat.catlets.ShareJoin */
SELECT
*
FROM t_order t
INNER JOIN order_detail td ON t.orderId = td.orderId

9.三个表的join

/*!mycat:catlet=io.mycat.catlets.ShareJoin */
SELECT
*
FROM t_order t
INNER JOIN order_detail td ON t.orderId = td.orderId
INNER JOIN commodity c ON td.commodityId = c.id

可见,三个表的join,mycat是不支持的

数据库中间件mycat安装与使用的更多相关文章

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

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

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

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

  3. 分布式数据库中间件 MyCat 搞起来!

    关于 MyCat 的铺垫文章已经写了三篇了: MySQL 只能做小项目?松哥要说几句公道话! 北冥有 Data,其名为鲲,鲲之大,一个 MySQL 放不下! What?Tomcat 竟然也算中间件? ...

  4. 开源分布式数据库中间件MyCat源码分析系列

    MyCat是当下很火的开源分布式数据库中间件,特意花费了一些精力研究其实现方式与内部机制,在此针对某些较为重要的源码进行粗浅的分析,希望与感兴趣的朋友交流探讨. 本源码分析系列主要针对代码实现,配置. ...

  5. 数据库中间件mycat简单入门

    当在项目中mysql数据库成为瓶颈的时候,我们一般会使用主从复制,分库分表的方式来提高数据库的响应速度,比如mysql主从复制,在没有数据库中间件的情况下,我们只能由开发工程师在程序中控制,这对于一个 ...

  6. 分布式数据库中间件Mycat百亿级数据存储(转)

    此文转自: https://www.jianshu.com/p/9f1347ef75dd 2013年阿里的Cobar在社区使用过程中发现存在一些比较严重的问题,如高并发下的假死,心跳连接的故障,只实现 ...

  7. 数据库中间件MyCat学习总结(2)——MyCat-Web原理介绍

    Mycat是一个分库分表的基于java开发的数据库中间件,使用过程中需要有一个监控系统,mycat-web应运而生.mycat-web是一个使用SpringMVC + Mybatis的监控平台,使用常 ...

  8. 数据库中间件MyCat学习总结(1)——MyCat入门简介

    为什么需要MyCat? 虽然云计算时代,传统数据库存在着先天性的弊端,但是NoSQL数据库又无法将其替代.如果传统数据易于扩展,可切分,就可以避免单机(单库)的性能缺陷. MyCat的目标就是:低成本 ...

  9. 分布式数据库中间件 MyCat | 分库分表实践

    MyCat 简介 MyCat 是一个功能强大的分布式数据库中间件,是一个实现了 MySQL 协议的 Server,前端人员可以把它看做是一个数据库代理中间件,用 MySQL 客户端工具和命令行访问:而 ...

随机推荐

  1. 理解webpack4.splitChunks之其余要点

    splitChunks除了之前文章提到的规则外,还有一些要点或是叫疑惑因为没有找到官方文档的明确说明,所以是通过我自己测试总结出来的,只代表我自己的测试结果,不一定正确. splitChunks.ca ...

  2. webstorm git 怎么断开版本控制 webstorm git for windows 禁止 自动运行

    也是无语啊,今天装了下最新版本的webstorm ,  发现特别卡,老动不动就卡死, 看了下进程, 牛X 啊,  git for windows 一直蹭蹭蹭的疯狂增长,一开始的一点到后来的庞然大物. ...

  3. (C#) 多线程访问int, bool 等值类型变量

    参考: https://stackoverflow.com/questions/154551/volatile-vs-interlocked-vs-lock/154803

  4. Android MVC模式和MVP模式的区别

    MVC模式: 1. MVC的所有通信都是单向的. 2. view传送指令到controller(用户也可以直接将指令传到controller). 3. controller完成业务逻辑后要求model ...

  5. spring单元测试报错:Failed to load ApplicationContext 的解决方法

    使用idea 配置单元测试之后,配置完spring的注解@junit 和@runer 之后 一直报错. 最后发现是默认使用jdk1.8引起的,使用jdk1.7即可.

  6. sqlserver 查询表结构及字段说明

    SELECT [Table Name] = OBJECT_NAME(c.object_id), [Column Name] = c.name, [Description] = ex.value FRO ...

  7. MVC框架以及实例

    MVC框架 MVC(model,view,controller),一种将业务逻辑.数据.界面分离的方法组织代码的框架.在改进界面及用户交互的同时,不需要重写业务逻辑.MVC将传统的输入.处理和输出分离 ...

  8. MVC controller的Action获取HttpRequest

    HttpContext.ApplicationInstance.Context.Request

  9. January 11 2017 Week 2nd Wednesday

    One always has time enough, if one will apply it well. 如果你能好好地利用,你总有足够的时间. If you always feel that y ...

  10. 在Eclipse中通过build.xml导入工程

    http://www.zihou.me/html/2012/10/18/7868.html