windows下安装和简单使用mycat

参考: 【mycat】mycat在windows环境下的安装和启动,此处加上我自己搭建和使用的方法。

1 下载mycat的安装包

http://dl.mycat.io/1.6-RELEASE/

1.1 解压:

下载的文件直接解压即可。

运行:

linux:

./mycat start 启动
./mycat stop 停止
./mycat console 前台运行
./mycat install 添加到系统自动启动(暂未实现)
./mycat remove 取消随系统自动启动(暂未实现)
./mycat restart 重启服务
./mycat pause 暂停
./mycat status 查看启动状态

win:

直接运行startup_nowrap.bat,如果出现闪退,在cmd 命令行运行,查看出错原因。

内存配置:

启动前,一般需要修改JVM配置参数,打开conf/wrapper.conf文件,如下行的内容为2G和2048,可根据本机配置情况修改为512M或其它值。 以下配置跟jvm参数完全一致,可以根据自己的jvm参数调整。

Java Additional Parameters
wrapper.java.additional.1=
wrapper.java.additional.1=-DMYCAT_HOME=.
wrapper.java.additional.2=-server
wrapper.java.additional.3=-XX:MaxPermSize=64M
wrapper.java.additional.4=-XX:+AggressiveOpts
wrapper.java.additional.5=-XX:MaxDirectMemorySize=100m
wrapper.java.additional.6=-Dcom.sun.management.jmxremote
wrapper.java.additional.7=-Dcom.sun.management.jmxremote.port=1984
wrapper.java.additional.8=-Dcom.sun.management.jmxremote.authenticate=false
wrapper.java.additional.9=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.10=-Xmx100m
wrapper.java.additional.11=-Xms100m
wrapper.java.additional.12=-XX:+UseParNewGC
wrapper.java.additional.13=-XX:+UseConcMarkSweepGC
wrapper.java.additional.14=-XX:+UseCMSCompactAtFullCollection
wrapper.java.additional.15=-XX:CMSFullGCsBeforeCompaction=0
wrapper.java.additional.16=-XX:CMSInitiatingOccupancyFraction=70

1.2 安装

安装mycat前需要先安装jdk和mysql。mycat1.6版本建议使用的jdk是1.7以上版本,mysql建议使用5.6版本。安装玩jdk和mysql后,进入mycat解压目录下的bin目录,如本文的路径如下:

C:\Programs\mycat\bin

需要管理员账户身份运行cmd打开命令行窗口,在打开的命令行窗口中执行如下命令安装mycat:

mycat.bat install

启动和停止

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

mycat.bat start

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

mycat.bat status

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

mycat.bat stop

2 Mycat连接测试:

2.1 修改mycat与mysql的链接信息

打开mycat安装目录,并进入conf目录,打开schema.xml配置文件,schema.xml配置文件是mycat中重要的配置文件之一,它涵盖了mycat的逻辑库、表、分片规则、分批按节点及数据源。这里对默认的schema.xml进行简单的修改配置(注意备份一个原始的配置文件),主要配置本机的mysql链接信息。找到dataHost节点,按照当前自己mysql的配置信息来修改配置。如下为我修改后的该部分配置:


9811187-0c6d91193f36de11.png
schema.xml配置信息修改

本次主要修改了hostM1的链接密码,同时注释了名称为hostS2的只读标签和名称为hostM2的写标签。

2.2 测试

测试mycat与测试mysql完全一致,mysql怎么连接,mycat就怎么连接。
先采用命令行测试:
mysql -uroot -proot -P8066 -h127.0.0.1
然后可以是用Navicat进行连接:
使用navicat链接数据库时的主要参数配置如下:
端口号:8066
用户名和密码可以查看mycat conf目录中的server.xml中的定义,本次使用的是默认的root,123456来连接,连接成功后只能操作名为TESTDB的数据库;


9811187-da98100cc5bff99d.png
Navicat连接mycat
9811187-bc854016c8c9b671.png
image.png

2.3 创建数据库

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

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

2.4 全局表的测试

使用navicat打开命令列界面。输入如下命令创建数据表:

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

之后使用如下命令查看创建表命令的执行状态:

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

因为company在schema.xml中北定义为了全局表,所以正常情况下可以看到如下类似结果:


9811187-b80d1fb3e004525a.png
image.png

紧接着尝试执行如下命令执行一条插入数据的操作:

insert into company(id,name,sharding_id) values(1,'leader us',10000);

然后类似执行explain命令查看insert命令的执行状态:

explain insert into company(id,name,sharding_id) values(1,'leader us',10000);

正常情况下会看到如下结果:


9811187-3f4eef64f084feff.png
image.png

之后直接登录到mysql服务器分别查看db1、db2、db3三个数据库,可以看到数据库中都创建了名为company的数据表,同时表中都插入了名为leader us的数据。
9811187-50609257a49af333.png
image.png

2.5 水平分表测试

在navicat的命令列窗口中执行如下命令创建travelrecord表:

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

之后使用explain查看:

explain create table travelrecord(id int not null primary key,name varchar(100));

结果如下:


9811187-de83657e6b5ca3b3.png
image.png

然后执行如下命令插入一条数据:

insert into travelrecord(id,name) values(1,'hp');

执行explain查看执行结果:

explain insert into travelrecord(id,name) values(1,'hp');

结果如下:


9811187-fc46fdb675e41ffa.png
image.png

到mysql数据库分别查看,三个数据库中都创建了travelrecord的数据表,但是仅db1(dn1对应的数据库)中插入了数据。


9811187-f57f1b16da6d6e0f.png
image.png

猜你喜欢

转载自blog.csdn.net/weixin_34072458/article/details/87227182