MyCat简单搭建使用

什么是MYCAT


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


特性


MyCAT应算是最好的中间件。它继承了阿里cobar的衣钵,在此基础上增加了众多重要功能。
gitHub地址:https://github.com/MyCATApache/Mycat-doc
其他地址:http://www.mycat.io/
其核心特性:
支持SQL92标准
支持MySQL、Oracle、DB2、SQL Server、PostgreSQL等DB的常见SQL语法
遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理。
基于心跳的自动故障切换,支持读写分离,支持MySQL主从,以及galera cluster集群。
支持Galera for MySQL集群,Percona Cluster或者MariaDB cluster
基于Nio实现,有效管理线程,解决高并发问题。
支持数据的多片自动路由与聚合,支持sum,count,max等常用的聚合函数,支持跨库分页。
支持单库内部任意join,支持跨库2表join,甚至基于caltlet的多表join。
支持通过全局表,ER关系的分片策略,实现了高效的多表join查询。
支持多租户方案。
支持分布式事务(弱xa)。
支持XA分布式事务(1.6.5)。
支持全局序列号,解决分布式下的主键生成问题。
分片规则丰富,插件化开发,易于扩展。
强大的web,命令行监控。
支持前端作为MySQL通用代理,后端JDBC方式支持Oracle、DB2、SQL Server 、 mongodb 、巨杉。
支持密码加密
支持服务降级
支持IP白名单
支持SQL黑名单、sql注入攻击拦截
支持prepare预编译指令(1.6)
支持非堆内存(Direct Memory)聚合计算(1.6)
支持PostgreSQL的native协议(1.6)
支持mysql和oracle存储过程,out参数、多结果集返回(1.6)
支持zookeeper协调主从切换、zk序列、配置zk化(1.6)
支持库内分表(1.6)
集群基于ZooKeeper管理,在线升级,扩容,智能优化,大数据处理(2.0开发版)


简单使用

1,下载MyCat压缩包,可以是各个平台的
http://www.mycat.org.cn/
2,下载安装jdk,因为MyCat是基于JAVA开发的
http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
3,配置
将下载的MyCat压缩包压缩至指定目录,重点查看配置目录conf中的server.xml和schema.xml
server配置文件中我们可以查看到逻辑数据库配置信息,管理mycat的用户信息
schema文件可以查看数据库连接信息,连接逻辑数据库信息,
<dataHost name="连接名字" maxCon="1000" minCon="10" balance="0"
        writeType="0" dbType="mysql" dbDriver="native">
        <heartbeat>select user()</heartbeat>
        <!-- can have multi write hosts -->
        <writeHost host="hostM1" url="XXX:3306" user="root"
            password="XXX">
            <!-- can have multi read hosts -->
            <!-- <readHost host="hostS1" url="localhost:3306" user="root" password="123456"
                /> -->
        </writeHost>
        <!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
    </dataHost>
数据库分片节点信息:
<dataNode name="dn1" dataHost="192.168.100.103" database="db1" />   
<dataNode name="dn2" dataHost="192.168.100.103" database="db2" />
<dataNode name="dn3" dataHost="192.168.100.103" database="db3" />
schema信息:
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
        <!-- auto sharding by id (long) -->
        <table name="travelrecord" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
        <table name="goods" primaryKey="ID" type="global" dataNode="dn1,dn2" />

如果是全局表,则每个db库都存一份数据
4,启动myca
直接运行bin目录下的startup_nowrap.bat 我这里是windows的
如果想安装服务,运行
F:\mycat\bin>mycat.bat install
wrapper  | Mycat-server installed.
5,操作
mycat登陆跟mysql类似,不过这里需要注意下端口,它的数据端口是8066,管理端口是9066
登陆方式:mysql -h 192.168.100.103 -ptest -ptest [-DTESTDB]
其中test test是逻辑用户名密码
管理端口:
mysql> show @@database;
+----------+
| DATABASE |
+----------+
| TESTDB   |
+----------+
1 row in set (0.00 sec)
数据端口可以
mysql> select database();
+------------+
| DATABASE() |
+------------+
| TESTDB     |
+------------+
1 row in set (0.00 sec)
创建表:create table goods(id int auto_increment not null primary key,val varchar(20));
解释:explain create table goods(id int auto_increment not null primary key,val varchar(20));
插入数据:insert into goods values(‘china’);
查询:
mysql> select * from db2.goods;
+----+-------+
| id | val   |
+----+-------+
|  1 | china |
+----+-------+

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朝闻道-夕死可矣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值