相关文章:

1、下载系统安装包

选择相应的版本进行下载,地址:http://dl.mycat.io/ 。Mycat数据库分库分表中间件介绍 http://www.mycat.io/

2、安装

安装mycat前需要保证系统已安装过jdk和mysql,将下载好的mycat安装包解压到某个目录下,然后进入mycat解压目录下的bin目录(打开cmd控制台确保是以管理员身份运行),执行安装命令:

D:\develop\Mycat\bin>mycat.bat install

3、常用命令

可以使用如下命令启动mycat服务

mycat.bat start

启动后可以通过如下命令查看mycat的运行状态:

mycat.bat status

可以使用如下命令停止mycat服务

mycat.bat stop

重启服务命令

mycat.bat restart

4、测试

4.1 配置文件修改

进入conf目录,打开schema.xml配置文件,schema.xml配置文件是mycat中重要的配置文件之一,它涵盖了mycat的逻辑库、表、分片规则、分批按节点及数据源。

对默认的schema.xml进行简单的修改配置,主要配置本机的mysql连接信息。找到dataHost节点,按照当前自己mysql的配置信息来修改配置。如下:

<dataHost name="localhost1" maxCon="" minCon="" balance=""
writeType="" dbType="mysql" dbDriver="native" switchType="" slaveThreshold="">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="localhost:3306" user="root"
password="root">
<!-- can have multi read hosts -->
<!--<readHost host="hostS2" url="192.168.1.200:3306" user="root" password="xxx" />-->
</writeHost>
<!--
<writeHost host="hostS1" url="localhost:3316" user="root"
password="" />
-->
<!-- <writeHost host="hostM2" url="localhost:3316" user="root" password=""/> -->
</dataHost>

修改了hostM1的连接密码,注释了名称为hostS2的只读标签和名称为hostM2的写标签

4.2 mycat连接

和mysql连接一样,就是端口改为8066,用户名和密码可以查看mycat conf目录中的server.xml中的定义,本次使用的是默认的root,123456来连接,连接成功后只能操作名为TESTDB的数据库。

4.3 在mysql中创建数据库

按照schema.xml配置中的示例,我们需要建立分别名为db1、db2、db3的数据库。连接mysql,建立相关的数据库:

create database db1 character set utf8;
create database db2 character set utf8;
create database db3 character set utf8;

4.4 在mycat中创建全局表测试

create table company(id int not null primary key,name varchar(),sharding_id int not null);

company表示全局表,使用explain create table company(id int not null primary key,name varchar(100),sharding_id int not null);查看执行计划。如图:

在mysql中可以看到db1,db2,db3数据库中出现company表

接着插入一条测试数据

mysql> insert into company(id,name,sharding_id) values(1,'hello, mycat',10000);

查看执行状态如下:

查看mysql中company表的数据:

可以看到三个库的company表都有插入数据

4.5 水平表测试

mysql> create table travelrecord(id int not null primary key,name varchar());

查看执行计划如下图:

查看mysql的db1,db2,db3数据库:

接着插入一条数据:

mysql> insert into travelrecord(id,name) values(,'mycat');

查看执行计划如下图:

从上面可以看到只用dn1节点插入了数据,查看mysql的db1,db2,db3三个数据库的travelrecord表的数据

可以看到只有db1中的travelrecord表有插入数据

5、问题

5.1 启动服务是报错 The Mycat-server service was launched, but failed to start。解决:

修改mycat下的\conf\wrapper.conf文件中的

wrapper.java.command=java

改成

wrapper.java.command=C:\Java\jdk1..0_21\bin\java.exe

指定java

5.2 启动失败 The specified size exceeds the maximum representable size。解决:

修改mycat下的\conf\wrapper.conf文件中的

wrapper.java.additional.=-Xmx4G
wrapper.java.additional.=-Xms1G

改为:

wrapper.java.additional.=-Xmx512M
wrapper.java.additional.=-Xms64M

重新启动即可

最新文章

  1. 有关bootstrap
  2. MySQL性能分析及explain的使用
  3. hdu 2034 - 集合操作
  4. Class类
  5. BZOJ3308 九月的咖啡店
  6. [LeetCode]题解(python):070-Climbing Stairs
  7. Dotfuscator自定义规则中的元素选择
  8. 通过HttpModule管道,帮助api对接开发
  9. 在IOS应用中从竖屏模式强制转换为横屏模式
  10. 第二次作业——个人项目实战(Sudoku)
  11. uva 1151最小生成树
  12. Tmux使用说明
  13. docker进阶-利用dcoker Swarm搭建简单集群
  14. Linux的DNS配置3-多域
  15. 用docker搭建python项目运行环境
  16. python int str
  17. python3.6配置libsvm2.2
  18. shiro实战系列(十五)之Spring集成Shiro
  19. html canvas非正方旋转和缩放...写的大多是正方的有人表示一直看正方的看厌了
  20. Python 类的多态

热门文章

  1. [Python] 将视频转成ASCII符号形式、生成GIF图片
  2. ES5新增数组的一些方法
  3. 使用Springboot Cache做简单缓存
  4. Java 前后端分离项目:微人事
  5. 华为手机,删除安装包apk
  6. Apache JMeter HTTPS(S) Test Script Recorder
  7. UVA - 315 Network(tarjan求割点的个数)
  8. 从一道看似简单的面试题重新理解JS执行机制与定时器
  9. 【Offer】[53-3] 【数组中数值和下标相等的元素】
  10. Linux基础提高_系统性能相关命令