MyCat安装和使用

环境准备

安装与配置

MyCAT 有提供编译好的安装包,支持 windows、Linux、Mac、Solaris 等系统上安装与运行。

linux 下可以下载 Mycat-server-xxxxx.linux.tar.gz 解压在某个目录下,注意目录不能有空格,在Linux(Unix)下,建议放在 usr/local/Mycat 目录下

1
2
3
4
5
$ wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
$ tar zxf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
$ useradd mycat
$ chown -R mycat.mycat /usr/local/mycat
$ chmod +x bin/*

修改mycat密码

1
2
3
4
5
6
$ passwd mycat
Changing password for user mycat.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

注意:Linux 下部署安装 MySQL,默认不忽略表名大小写,需要手动到/etc/my.cnf 下配置 lower_case_table_names=1 使 Linux 环境下 MySQL 忽略表名大小写,否则使用 MyCAT 的时候会提示找不到 表的错误!

目录解释

  • bin 程序目录
    除了提供封装成服务的版本之外,也提供了 nowrapshell 脚本命令,方便大家选择和修改

    注:mycat 支持的命令{ console | start | stop | restart | status | dump }

  • conf 目录
    存放配置文件,server.xmlMycat 服务器参数调整用户授权的配置文件,schema.xml
    辑库定义
    表以及分片定义的配置文件,rule.xml分片规则的配置文件,分片规则的具体一些参数信息单独存 放为文件,也在这个目录下,配置文件修改,需要重启 Mycat 或者通过 9066 端口 reload.

  • lib 目录
    主要存放 mycat 依赖的一些 jar 文件

服务启动与启动设置

MyCAT 在 Linux 中部署启动时,首先需要在 Linux 系统的环境变量中配置 MYCAT_HOME

1
2
3
$ vim /etc/profile
MYCAT_HOME=/usr/local/mycat
source /etc/profile

如果是在多台 Linux 系统中组建的 MyCAT 集群,那需要在 MyCAT Server 所在的服务器上配置对其他 ip 和主机名的映射

1
2
$ vim /etc/hosts
192.168.100.2 sam_server_1 192.168.100.3 sam_server_2 192.168.100.4 sam_server_3 192.168.100.5 sam_server_4

启动MyCat

1
/usr/local/mycat/bin/mycat start

内存配置

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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
以下配置作废:
wrapper.java.initmemory=3
wrapper.java.maxmemory=64

Mycat连接测试

试mycat与测试mysql完全一致,mysql怎么连接,mycat就怎么连接。

推荐先采用命令行测试:

1
mysql -uroot -proot -P8066 -h127.0.0.1

如果采用工具连接,1.4,1.3目前部分工具无法连接,会提示database not selected,建议采用高版本,navicat测试。1.5已经修复了部分工具连接

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器