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. 11.2.0.1升级到11.2.0.4报错之中的一个:UtilSession failed: Patch 9413827

    UtilSession failed: Patch 9413827 requires component(s) that are not installed in OracleHome. These ...

  2. LintCode 二叉树的遍历 (非递归)

    前序: class Solution { public: /** * @param root: The root of binary tree. * @return: Preorder in vect ...

  3. Reuse Is About People and Education, Not Just Architecture

     Reuse Is About People and Education, Not Just Architecture Jeremy Meyer you MigHT AdopT THE AppRoA ...

  4. Intersection between a 2d line and a conic in OpenCASCADE

    Intersection between a 2d line and a conic in OpenCASCADE eryar@163.com Abstract. OpenCASCADE provid ...

  5. ios代理的使用,正向传值,逆向传值

    #import <UIKit/UIKit.h> #import "SubViewController.h" @interface ViewController : UI ...

  6. modSecurity规则学习(二)——配置文件

    crs-setup.cnf #SecDefaultAction指令后的规则都继承这一设置,除非为某条规则指定了一个特定的动作,或者指定了新的SecDefaultAction.特别注意到,未经处理的di ...

  7. 如何优雅地关闭一个socket

    最近在windows编程时需要考虑到“如何优雅地关闭一个socket”,查阅了一些资料,现将查到的相关资料做个汇编,希望能对后来者有所帮助(比较懒,所以英文资料没有翻译:-)) 1. 关闭Socket ...

  8. HttpWebRequest使用证书请求

    HttpWebRequest使用证书请求 //是否使用证书                if (isUseCert)                {                    stri ...

  9. OpenCV —— 图像局部与分割(二)

    分水岭算法 将图像中的边缘转化成“山脉”,将均匀区域转化为“山谷” 分水岭算法首先计算灰度图像的梯度,这对山谷或没有纹理的盆地(亮度值低的点)的形成有效,也对山头或图像中没有主导线段的山脉(山脊对应的 ...

  10. hdp spark beeline

    thriftserver端口号10016 hdp所用端口号由10000改为10016 !connect jdbc:hive2://localhost:10016