windows下配置mycat与常见问题解决
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登录的用户名和密码
- <user name="root">
- <property name="password">root</property>
- <property name="schemas">TESTDB</property>
- </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对应物理库真实映射
- <?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 >
<?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与常见问题解决的更多相关文章
- windows 下配置 Nginx 常见问题(转)
windows 下配置 Nginx 常见问题 因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我 ...
- windows 下配置 Nginx 常见问题
因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我的系统是win7旗舰版的,到官网下载最新版本 ...
- Windows下配置使用 MemCached
Windows下配置使用MemCached 工具: memcached-1.2.6-win32-bin.zip MemCached服务端程序(for win) Memcached Manage ...
- windows下配置wnmp
最近尝试windows下配置nginx+php+mysql,在这里总结一下. 1.下载windows版本的nginx,官网下载地址:http://nginx.org/en/download.htm, ...
- windows下配置lamp环境(5)---配置MySQL5.6
开始配置mysql 1.创建配置文件my.ini 1.进入C:\wamp\MySQL 2.把my-default.ini 另存一份:my.ini 3.开始编辑mysql的配置文件,打开my ...
- windows下配置lamp环境(3)---配置PHP5.4
下面配置php Php文件夹里有两个php.ini-*文件,随便修改一个,去掉后缀,变成php.ini (如图) 打开php.ini ,添加php扩展目录723行左右(其实放哪都无所谓,只不过php. ...
- windows下配置lamp环境(0)---软件获取
工作快一年了,还没有怎么配置过服务器环境,经常使用集成套件wampserver,为了复习配置wamp服务器 特意在虚拟机中测试安装步骤如下. 安装前步骤:下载软件.软件下载地址如下: 1.apache ...
- windows下配置lamp环境(2)---配置Apache服务器2.2.25
配置Apache 配置Apache时,先要找到安装目录中的主配置文httpd.conf,使用文本编辑器打开,最好不要使用windows自带的编辑器,可以使用NotePad++, vim,或者subli ...
- windows下配置svn的https访问
svn是一个功能强大的代码版本管理系统,可以将服务端安装在linux.unix以及windows下.svn通常采用http方式进行代码提交与下载.由于密码采用明文传输,因此存在泄密的风险.若采用htt ...
随机推荐
- noip 2018 day1 T1 铺设道路 贪心
Code: #include<cstdio> using namespace std; int main() { int last=0,ans=0; int n;scanf("% ...
- 昼猫笔记 JavaScript -- 闭包
本次主要内容是 闭包 阅读时间: 约 3分钟 记得点个赞支持支持我哦 初步了解 先看下代码,输出结果是多少? function fn1 () { var a = 2 function fn2 () ...
- 【Docker入门】
目录 Linux容器 Docker的优势 Docker三大概念 安装使用Docker 补充知识 [Docker入门] 发布文章 "qq_41964425" @ *** 所谓Dock ...
- 紫书 例题 9-7 UVa 11584 (线性结构上的动态规划)
这道题判断回文串的方法非常的秀! 这里用到了记忆化搜索,因为会有很多重复 同时用kase来区分每一组数据 然后还有用递归来判断回文,很简洁 然后这种线性结构的动态规划的题,就是把 当前的这个数组分成两 ...
- vue踩坑-Error: listen EADDRNOTAVAIL 192.168.1.122:8081
每天上班,重启电脑,按照下面的步骤,打开vue的项目,开始编写代码,但是,今天一如往常一般操作:1:cd /项目名称 下面就是运行项目了,cd /项目名称,我的文件放在D盘,所以先进入d盘,再进入项目 ...
- Dynamics CRM2013/2015 插件注冊工具登录后无法显示assembly列表问题的解决的方法
自微软从2013版本号推出新的插件注冊器后,随着UI的重大更新后,问题也多了非常多.前面已有博客提到注冊assembly时看不到注冊button(http://blog.csdn.net/vic022 ...
- BZOJ 2708 [Violet 1]木偶 DP
题意:id=2708">链接 方法: DP 解析: 这题太神辣. 做梦都没想到DP啊,反正我不会. 先谈一个我有过的错的想法. 最小费用最大流? 能匹配的边连费用为1的,不能匹配的连费 ...
- DB2物化视图(Materialized Query Tables, MQT)
DB2的物化视图MQT是基于查询结果定义的一个表,MQT中包括的数据来自MQT定义所基于的一个或多个表, 使用MQT能够显著提高查询的操作性能. 数据库的视图和MQT都是基于一个查询来定义的.每当视图 ...
- js---对象 和 函数this
一:对象创建的方法 //普通 字面量形式 var obj = { name:'名字', fn:function(){ console.log(this.name); } } //new 实例 var ...
- angular入门(基础篇)
一.什么是AngularJs? AngularJs是一个JavaScript框架,通过指令扩展了HTML,并且通过表达式绑定数据到HTML. AngularJs使得开发现代的单页面应用程序(SPA:S ...