MyCat使用Mysql的通讯协议模拟成一个MySQl服务器,并建立了完整的Schema(数据库)、Table(数据表)、User(用户)的逻辑模型,并将这套逻辑模型映射到后端的存储节点DataNode上的真实的物理库中,这样一来所有能使用MySQL的客户端及编程语言都能将Mycat当成MYSQLServer使用,不必开发新的客户端。

Mycat的原理:当Mycat收到一个客户端发送的SQL请求,会先对SQL进行语法分析和检查,分析的结果用SQL路由,SQL路由策略支持传统的基于表格的分片字段进行分片,也支持独有的基于数据库E-R关系的分别片策略,对于路由到多个数据节点(DataNode)的SQL,则会对收到的数据集进行”归并“,然后输出到客户端。

DataNode是MyCat的逻辑数据节点,映射到后端的某一个物理数据库的一个Datebase,为了做到系统高可用,每个DataNode可以配置多个引用地址(DataSource),当主DataSource被检测为不可用时,系统会自动切换到下一个可用的DataSource上,这里的DataSoure即可认为是Mysql的主流服务器的地址。

1、下载安装包 https://github.com/MyCATApache/Mycat-download/tree/master/1.5-RELEASE

2、配置环境变量(Mycat安装包解压在任何路劲即可,但是要避免中文路径,因为我们要配置环境变量)

  

  

3、修改配置文件(需要修改的配置文件都在conf文件夹中)

  (1)修改wrapper.conf

   配置jdk

  

  (2)修改server.xml(定义用户以及系统相关变量,如端口等,是mycat服务器参数调整和用户授权的配置文件)

    配置mycat登录的用户名和密码

  (3)修改schema.xml (定义逻辑库,表、分片节点等内容)

    配置的一个全局表T_RANK,一个分库表T_USER_LABEL,分库规则是sharding-by-murmur(在rule.xml中定义)

    配置了三个数据库db1,db2,db3

    

  (4)修改rule.xml

  在上面schema.xml文件中定义了一个分库表T_USER_LABEL,分库规则是sharding-by-murmur,所以要修改对应分库字段

  

  同时上面定义了三个分库,所以修改

  注:简单介绍一下Mycat分库规则

  MYCAT常用的分片规则如下,另外还有一些其他分片方式这里不全部列举:

    (1)分片枚举:        sharding-by-intfile

    (2)主键范围约定:    auto-sharding-long    此分片适用于,提前规划好分片字段某个范围属于哪个分片

    (3)一致性hash:    sharding-by-murmur

    (4)字符串hash解析:  sharding-by-stringhash

    (5)按日期(天)分片:sharding-by-date

    (6)按单月小时拆分:   sharding-by-hour

    (7)自然月分片:         sharding-by-month

    (8)取模:      mod-long  此规则为对分片字段求摸运算

    (9)取模范围约束:      sharding-by-pattern 此种规则是取模运算与范围约束的结合,主要为了后续数据迁移做准备,即可以自主决定取模后数据的节点分布

4、启动mycat

  (1)在原数据库中新建3个数据库db1,db2,db3

  (2)启动和停止服务

    进入cmd.切换到./mycat/bin/

    注:安装mycat服务 :mycate install

      启动mycat服务 :mycate start

      停止mycat服务 :mycate stop

      注意:当修改配置文件后,需要重启mycat服务

      mysql -h[IP] - u[userName] -p[password] -P8066

    

    在8066查看数据库,使用数据库添加表

    

    新建表

    

    使用navicat客户端连接 端口是8066 用户名和密码是在上面server.xml中配置的

    (注意这里我犯了一个低级错误,连接名使用了冒号,由于这里的连接名会在生成一个相应的文件夹,所以这里的命名需要满足windows文件名规范)

    

    

  至此,mycat配置完成,可以尝试输入insert语句,查看数据满足分库和全局表。。。。。。

Windows配置mycat的更多相关文章

  1. windows下配置mycat与常见问题解决

    mycat官网:http://www.mycat.org.cn/ wiki:https://github.com/MyCATApache/Mycat-Server/wiki MyCat使用Mysql的 ...

  2. windows配置nginx实现负载均衡集群

    windows配置nginx实现负载均衡集群2014-08-20 09:44:40   来源:www.abcde.cn   评论:0 点击:617 网上大部分关于nginx负载均衡集群的教程都是lin ...

  3. Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行

    遇到这个问题是用辅助工具(WinNTSetup3.exe)进行的安装,重启后就就遇到“Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行” 解决:在WIN PE 下挂载安装光 ...

  4. windows安装程序无法将windows配置为在此计算机的硬件上运行

    关于装windows系统时,出现一些安装中断的处理 该方法适用于 windows安装程序无法将windows配置为在此计算机的硬件上运行 计算机意外地重新启动或遇到错误. Windows 安装无法继续 ...

  5. 【NO.3-1】Jmeter - 在Windows配置HOSTS的方法

    在Windows配置HOSTS 那么还记得Windows如何修改HOSTS文件吗? (1) 进入到C:\Windows\System32\drivers\etc (2) 通过”记事本”来打开hosts ...

  6. windows配置nginx实现负载均衡集群 -请求分流

    windows配置nginx实现负载均衡集群 一.windows上安装nginx 1.下载nginx的windows版本http://nginx.org/en/download.html 2.把压缩文 ...

  7. FAT16/32不等于ESP:windows安装程序无法将windows配置为在此计算机的硬件上运行

    今天给公司电脑装系统,由于公司特殊需要,要给新电脑装win7系统.三台完全一样的华硕adol笔记本,前两台都和win10并存装成了双系统,第三台被不懂系统的人尝试装win7搞坏了,只能全盘格式化后再装 ...

  8. windows配置cider和clojure clj

    windows配置cider和clojure clj */--> pre.src {background-color: #292b2e; color: #b2b2b2;} windows配置ci ...

  9. windows配置Python多版本共存

    windows配置Python多版本共存 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近Python开发蛮火的,三年前我的一个运维朋友就告诉我说Python语言将来会很火,当时 ...

随机推荐

  1. [转]在EntityFramework6中执行SQL语句

    本文转自:http://www.cnblogs.com/wujingtao/p/5412329.html 在上一节中我介绍了如何使用EF6对数据库实现CRDU以及事务,我们没有写一句SQL就完成了所有 ...

  2. 使用ztree.js,受益一生,十分钟学会使用tree树形结构插件

    看到ztree.js,这几个字眼,毋庸置疑,那肯定就是tree树形结构了,曾经的swing年代有jtree,后来jquery年代有jstree和treeview,虽然我没写过,但是我见过,一些小功能做 ...

  3. NOIP2002字串变换[BFS]

    题目描述 已知有两个字串 A$, B$ 及一组字串变换的规则(至多6个规则): A1$ -> B1$ A2$ -> B2$ 规则的含义为:在 A$中的子串 A1$ 可以变换为 B1$.A2 ...

  4. APIO2013 tasksauthor

    喜闻乐见的提答题,这道题还是蛮有趣的 数据结构题写得心塞,来一道提答意思意思 如果喜欢这类题的话还可以去做做uoj83. 这题是给出了两个问题,一个最短路,一个无向图染色问题. Data 1 Floy ...

  5. Hash链表

    <?php /* +------------------------------------------------------------------------------ | dateti ...

  6. Iterator遍历器 调用Symbol.Iterator属性,遍历器对象。

    Iterator实现原理 创建一个指针对象,指向当前数据结构的起始位置.也就是说,遍历器对象本质上,就是一个指针对象. 第一次调用指针对象的next方法,可以将指针指向数据结构的第一个成员. 第二次调 ...

  7. Log4net在类库中的用法

    app.config应当放置在解决方案的根目录下.具体流程如下: 第一步:应该下载log4net.dll并引入到你的项目中,下载见附件 第二步:需要配置相关的配置文件App.config或Web.co ...

  8. Flex ActionScript版本的Map类型

    ActionScript中没有Map类型,因为Object就相当于Map了.Object的属性相当于key,值相当于value. 也就是说,没有必要有Map类型.但是,这样做,也会带来一些问题,造成不 ...

  9. 启动PPT的时候一直配置vs2013的问题解决

    前几天装了VS2013,结果发现每次启动powerpoint都要配置vs2013,虽然时间花的不多,可我看的就是碍眼,我都想把VS2013卸载来解决了.后来抱着试下的态度竟然在google上找到了解决 ...

  10. Html5 Egret游戏开发 成语大挑战(七)游戏逻辑和数据处理

    本篇在前面的基础上,将进行逻辑的编码开发让游戏能够正式的玩起来,这里没有注重太多的体验细节,而是直接实现游戏的规则逻辑,将分成两个部分说明:数据处理和游戏逻辑. 初始化游戏数据 在前面的第五篇中,我们 ...