第四章 快速入门
4.1 10分钟入门
MyCAT 是一种使用JAVA语言开发的软件,启动前需先安装JAVA运行环境(JRE)。由于MyCAT利用了JDK7的一些特性,因此需要JDK7或更高版本才能运行。
4.1.1 环境准备
JDK下载地址:https://www.php.cn/link/c8c91941c44ee273af84ef092c01a0b1。
MySQL下载地址:https://www.php.cn/link/aabcec3c1485362f5f588135883d37b6。
MyCAT项目主页:https://www.php.cn/link/ed34401478b1f44e3bf7f79d4f1f5593。
4.1.2 环境安装与配置
如果您是第一次接触MyCAT,建议先将MyCAT-Server源码下载到本地,并通过Eclipse等工具进行配置和运行,以深入了解和调试程序的运行逻辑。
MyCAT-Server源码下载:由于MyCAT源码主要托管在GitHub上,需先在本地安装并配置好相关环境。具体参考群共享中的“github-eclipse开发指南.docx”,文档中有详细的配置说明,按照步骤将MyCAT-Server源码下载到本地即可。MyCAT-Server仓库地址:https://www.php.cn/link/8cc980162f04a7e6993a24eba6316032。
源码调试与配置:MyCAT主要通过配置文件来定义逻辑库和相关配置:
- 在MYCAT_HOME/conf/schema.xml中定义逻辑库、表、分片节点等内容;
- 在MYCAT_HOME/conf/rule.xml中定义分片规则;
- 在MYCAT_HOME/conf/server.xml中定义用户以及系统相关变量,如端口等。
注意:具体配置请参考前面章节中的说明。
源码运行:MyCAT的入口程序是io.mycat.MycatStartup.java,右键选择“run as”后出现界面,需要设置MYCAT_HOME目录为当前工程所在目录(src/main):
设置完MYCAT主目录后即可正常运行MyCAT服务。
注意:若启动时报错,DirectBuffer内存不足,则可添加JVM系统参数:
4.2 快速镜像方式体验MyCAT
此方式通过将已安装和配置好的MySQL+MyCAT制作成镜像,可快速运行和体验MyCAT服务。镜像文件及快速运行体验文档下载地址:暂无。
4.3 服务安装与配置
4.3.1 Linux
MyCAT提供编译好的安装包,支持在Windows、Linux、Mac、Solaris等系统上安装和运行。在Linux下可以下载Mycat-server-xxxxx.linux.tar.gz并解压到某个目录,注意目录不能有空格,建议放在/usr/local/Mycat目录下,如下:
下面是修改MyCAT用户密码的方式(仅供参考):
目录解释如下:
- bin目录存放程序文件,包含Windows和Linux版本,除封装成服务的版本外,还提供nowrap的shell脚本命令,方便选择和修改。进入bin目录后,在Linux下运行,首先要。注意:mycat支持的命令有{ console | start | stop | restart | status | dump }。
- conf目录存放配置文件,server.xml是Mycat服务器参数调整和用户授权的配置文件,schema.xml是逻辑库定义和表以及分片定义的配置文件,rule.xml是分片规则的配置文件,分片规则的具体参数信息单独存放在此目录下,配置文件修改需要重启Mycat或通过9066端口reload。
- lib目录主要存放Mycat依赖的jar文件。
- 日志存放在logs/mycat.log中,每天生成一个文件,日志配置在conf/log4j.xml中,可根据需要调整输出级别为debug,debug级别下会输出更多信息,方便排查问题。
注意:在Linux下部署安装MySQL时,默认不忽略表名大小写,需要手动在/etc/my.cnf中配置
,以使Linux环境下的MySQL忽略表名大小写,否则使用MyCAT时会提示找不到表的错误。
4.3.2 Windows
MyCAT提供编译好的安装包,支持在Windows、Linux、Mac、Solaris等系统上安装和运行。在Windows下可以下载Mycat-server-xxxxx-win.tar.gz并解压到某个目录,建议解压到本地某个盘符根目录下,如下:
目录解释如下:
- bin目录存放程序文件,包含Windows和Linux版本,除封装成服务的版本外,还提供nowrap的shell脚本命令,方便选择和修改。进入bin目录后,在Windows下运行mycat.bat在控制台启动程序,也可以装载成服务,若此程序运行有问题,也可以运行startup_nowrap.bat,确保java命令可以在命令行执行。Windows下将MyCAT做成系统服务:MyCAT提供warp方式的命令,可以将MyCAT安装成系统服务并可启动和停止。进入bin目录下,输入启动mycat服务。
- conf目录存放配置文件,server.xml是Mycat服务器参数调整和用户授权的配置文件,schema.xml是逻辑库定义和表以及分片定义的配置文件,rule.xml是分片规则的配置文件,分片规则的具体参数信息单独存放在此目录下,配置文件修改需要重启Mycat或通过9066端口reload。
- lib目录主要存放Mycat依赖的jar文件。
- 日志存放在logs/mycat.log中,每天生成一个文件,日志配置在conf/log4j.xml中,可根据需要调整输出级别为debug,debug级别下会输出更多信息,方便排查问题。
4.4 服务启动与启动设置
4.4.1 Linux
在Linux中部署启动MyCAT时,首先需要在Linux系统的环境变量中配置MYCAT_HOME,操作方式如下:
在系统环境变量文件中添加
。执行命令,使环境变量生效。如果是在多台Linux系统中组建的MyCAT集群,则需要在MyCAT Server所在的服务器上配置对其他IP和主机名的映射,配置方式如下:
例如:我有4台机器,配置如下:
编辑完后,保存文件。经过以上两个步骤的配置,就可以到/usr/local/Mycat/bin目录下执行:
即可启动mycat服务。
4.4.2 Windows
在Windows中部署MyCAT时,建议放在某个盘符的根目录下,如果不是在根目录下,请尽量不要放在包含中文的目录下,如:D:\Mycat-server-1.4-win。命令行方式启动:从cmd中执行命令到达
目录下,执行即可启动MyCAT服务。
注意:执行此命令时,需要确保Windows系统中已经配置好了JAVA的环境变量,并可执行java命令。JDK版本必须是1.7及以上版本。
服务方式启动:未封装。
4.5 基于ZK的启动
从1.5版本开始,MyCAT将支持本地XML启动以及从ZK加载配置转为本地XML的两种方式,conf目录下的zk.conf文件中设置loadfromzk参数默认为false。如果没有这个文件,或者没有将loadfromzk设置为true,则从本地加载。下面介绍从ZK启动的相关配置。
ZK-create.yaml说明:1.5版本正式引入Zookeeper(以下简称ZK)管理Mycat-Server,启动server的第一步是初始化ZK数据,下面介绍初始化ZK数据的步骤,信息在zk-create.yaml中。Mycat ZK配置文件详解:
1、zk-create总体结构
2、参数说明
- 2.1、zkURL,ZK连接地址
- 2.2、mycat-cluster
- 2.3、mycat-hosts
- 2.4、mycat-zones
- 2.5、mycat-nodes
- 2.6、mycat-mysqls
- 2.7、mysql-reps
ZK初始化:
1、进入MYCAT/bin目录
2、修改MYCAT/conf/zk-create.yaml内容,修改方法见“ZK-create.yaml说明”。
3、启动ZK:
登陆ZK:
4、初始化ZK数据
等待执行结束后,检查ZK数据。
5、检查ZK数据
OK,数据初始化成功。
4.6 demo使用SpringMVC+iBatis+FreeMarker连接MyCAT示例: