mycat官网:http://www.mycat.org.cn/

wiki:https://github.com/MyCATApache/Mycat-Server/wiki

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

选择windows版本。

2、解压下载的mycat安装包的知道目录

3、搭建java环境,下载jdk8(mycat 1.5.1-RELEASE对应的版本呢)并安装,配置相应的环境变量。

4、修改mycat配置文件:
【1】wrapper.conf 修改wrapper.java.command对应的java jdk对应的目录,例如:wrapper.java.command=G:\java_jdk\jdk\bin\java.exe
【2】修改server.xml,mycat的基本配置文件,可以配置端口、绑定ip等相关配置,默认配置文件中,是注释掉,走默认值。这块主要配置mycat登录的用户名和密码

  1. <user name="root">  
  2.     <property name="password">root</property>  
  3.     <property name="schemas">TESTDB</property>  
  4. </user>  
	<user name="root">

<property name="password">root</property>

<property name="schemas">TESTDB</property>

</user>

配置用户名为root,密码是root,用户有权限的逻辑库TESTDB
【3】修改schema.xml (定义逻辑库,表、分片节点等内容)
schema对应逻辑库:TESTDB
table对应逻辑表:t_user
dataNode对应分片
dataHost对应物理库真实映射

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE mycat:schema SYSTEM "schema.dtd">  
  3.   
  4.   
  5. <mycat:schema  xmlns:mycat="http://org.opencloudb/">  
  6.   <schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1">  
  7.       <table name="t_user" dataNode="dn1,dn2" rule="sharding-by-mod2"/>  
  8.       <table name="ht_jy_login_log" primaryKey="ID" dataNode="dn1,dn2" rule="sharding-by-date_jylog"/>  
  9.   </schema>  
  10.   <dataNode name="dn1" dataHost="localhost1" database="mycat_node1"/>  
  11.   <dataNode name="dn2" dataHost="localhost1" database="mycat_node2"/>  
  12.   
  13.   
  14.   <dataHost name="localhost1" writeType="0" switchType="1" slaveThreshold="100" balance="1" dbType="mysql" maxCon="10" minCon="1" dbDriver="native">  
  15.     <heartbeat>show status like 'wsrep%'</heartbeat>  
  16.     <writeHost host="hostM1" url="127.0.0.1:3306" user="root" password="root" >  
  17.     </writeHost>    
  18.   </dataHost>  
  19. </mycat:schema >  
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://org.opencloudb/">

<schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1">

<table name="t_user" dataNode="dn1,dn2" rule="sharding-by-mod2"/>

<table name="ht_jy_login_log" primaryKey="ID" dataNode="dn1,dn2" rule="sharding-by-date_jylog"/>

</schema>

<dataNode name="dn1" dataHost="localhost1" database="mycat_node1"/>

<dataNode name="dn2" dataHost="localhost1" database="mycat_node2"/> <dataHost name="localhost1" writeType="0" switchType="1" slaveThreshold="100" balance="1" dbType="mysql" maxCon="10" minCon="1" dbDriver="native">

<heartbeat>show status like 'wsrep%'</heartbeat>

<writeHost host="hostM1" url="127.0.0.1:3306" user="root" password="root" >

</writeHost>

</dataHost>

</mycat:schema >

5、mycat的分片规则下一篇讲解

6、启动mycat。

mycat.bat start 启动

mycat.bat stop 停止

mycat.bat console 前台运行

mycat.bat install 添加到系统自动启动(暂未实现)

mycat.bat remove 取消随系统自动启动(暂未实现)

mycat.bat restart 重启服务

mycat.bat pause 暂停

mycat.bat status 查看启动状态

7、通过navcat进行链接测试:
地址:localhost
端口:8066
账号:root
密码:root

8、常见问题:
【1】wrapper  | OpenSCManage failed - 拒绝访问
解决办法:cmd以管理员身份运行。
【2】Unsupported major.minor version 51.0
解决办法:调整本地jdk的版本,试试jdk8.0
【3】Error: Could not create the Java Virtual Machine.
解决办法:
wrapper.java.additional.10=-Xmx1G
wrapper.java.additional.11=-Xms512M

修改最后一个值的大小,例如:wrapper.java.additional.11=-Xms1G

windows下配置mycat与常见问题解决的更多相关文章

  1. windows 下配置 Nginx 常见问题(转)

    windows 下配置 Nginx 常见问题 因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我 ...

  2. windows 下配置 Nginx 常见问题

    因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我的系统是win7旗舰版的,到官网下载最新版本 ...

  3. Windows下配置使用 MemCached

    Windows下配置使用MemCached 工具: memcached-1.2.6-win32-bin.zip     MemCached服务端程序(for win) Memcached Manage ...

  4. windows下配置wnmp

    最近尝试windows下配置nginx+php+mysql,在这里总结一下. 1.下载windows版本的nginx,官网​下载地址:http://nginx.org/en/download.htm, ...

  5. windows下配置lamp环境(5)---配置MySQL5.6

    开始配置mysql 1.创建配置文件my.ini   1.进入C:\wamp\MySQL   2.把my-default.ini 另存一份:my.ini   3.开始编辑mysql的配置文件,打开my ...

  6. windows下配置lamp环境(3)---配置PHP5.4

    下面配置php Php文件夹里有两个php.ini-*文件,随便修改一个,去掉后缀,变成php.ini (如图) 打开php.ini ,添加php扩展目录723行左右(其实放哪都无所谓,只不过php. ...

  7. windows下配置lamp环境(0)---软件获取

    工作快一年了,还没有怎么配置过服务器环境,经常使用集成套件wampserver,为了复习配置wamp服务器 特意在虚拟机中测试安装步骤如下. 安装前步骤:下载软件.软件下载地址如下: 1.apache ...

  8. windows下配置lamp环境(2)---配置Apache服务器2.2.25

    配置Apache 配置Apache时,先要找到安装目录中的主配置文httpd.conf,使用文本编辑器打开,最好不要使用windows自带的编辑器,可以使用NotePad++, vim,或者subli ...

  9. windows下配置svn的https访问

    svn是一个功能强大的代码版本管理系统,可以将服务端安装在linux.unix以及windows下.svn通常采用http方式进行代码提交与下载.由于密码采用明文传输,因此存在泄密的风险.若采用htt ...

随机推荐

  1. AES加密解密&amp;&amp;SHA1、SHA加密&amp;&amp;MD5加密

    AES加密解密 SHA1.SHA加密 MD5加密 二话不说立即附上代码: package com.luo.util; import java.io.UnsupportedEncodingExcepti ...

  2. oracle 数据库批处理文件

    文件夹结构 初始化脚本 |----orcl_sql |----init_user.sql |----tab_home.sql |----TAB_USER.sql |----init.bat init. ...

  3. JAVA File类 分析(二)

    本章開始介绍UNIX文件系统. 文件系统是怎样管理文件的呢?那咱们要先文件的存储介质開始--磁盘 磁盘是计算机系统的一个硬件设备,文件系统为了可以管理磁盘.对其进行了三层抽象(本文全部内容均指UNIX ...

  4. c++值传递,指针传递,引用传递以及指针与引用的区别

    值传递: 形参是实参的拷贝,改变形参的值并不会影响外部实参的值.从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入, 不能传出.当函数内部需要修改参数,并且不希望这个改变影 ...

  5. 46.Express框架 GET 方法和POST 方法

    转自:http://www.runoob.com/nodejs/nodejs-express-framework.html GET 方法 以下实例演示了在表单中通过 GET 方法提交两个参数,我们可以 ...

  6. C# 开发 —— 数组类对象接口

    数组类型是从抽象基类 Array 派生的引用类型,通过new运算符创建数组并将数组元素初始化为他们的默认值 一维数组 type[] arrayname; 数组的长度不是声明的一部分,而且数组必须在访问 ...

  7. 用console.log分析Vue源码

    前言 本文通过console.log的一些特性,结合vue.js的源码,通过一个简单的例子,让你了解Vue的各个过程的变化. 控制台输出的效果图 请用chrome查看,并打开控制台看效果 演示地址 准 ...

  8. flask使用第三方云通讯平台时,出现{'172001':'网络错误'}解决方法

    问题描述:flask使用第三方云通讯平台时,出现{'172001':'网络错误'} 解决方法: 在sms.py文件中添加如下代码 import ssl # 取消证书验证ssl._create_defa ...

  9. 【习题 8-15 UVA - 1617】Laptop

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 贪心. 把所有的区间按照右端点为第一关键字,左端点为第二关键字升序排. 然后令now = a[i].second. (now即当前的 ...

  10. 【Codecraft-18 and Codeforces Round #458 (Div. 1 + Div. 2, combined) B】 Conan and Agasa play a Card Game

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 最大值出现次数是偶数. 那么就取次大值. 次大值也是偶数? =>再次 因为你绝对不能取偶数个的. 取了对方就总是能面对一个奇数 ...