Mycat1.6 快速开始
什么是Mycat?
Mycat是一个彻底开源的、面向企业应用开发的"大数据库集群",支持事务、ACID、可以替代MySQL的加强版数据库。它可视为"MySQL"集群的企业级数据库,融合了内存缓存技术、NoSQL技术、HDFS大数据。
环境要求
| 组件 | 要求 |
|---|---|
| JDK | JDK 1.7 及以上 |
| MySQL | MySQL 5.5 / 5.6 / 5.7 |
| 操作系统 | Linux / Windows / Mac |
| 内存 | 建议 4GB 以上 |
安装步骤
1. 下载与解压
# Linux 下载
wget https://github.com/MyCATApache/Mycat-download/releases/download/1.6-RELEASE/Mycat-server-1.6-RELEASE-linux.tar.gz
# 解压
tar -zxvf Mycat-server-1.6-RELEASE-linux.tar.gz -C /usr/local/
# 目录结构
cd /usr/local/mycat/
# ├── bin/ # 启动脚本
# ├── conf/ # 配置文件
# ├── lib/ # 依赖jar包
# └── logs/ # 日志文件
2. 配置环境变量
# 编辑 /etc/profile
export MYCAT_HOME=/usr/local/mycat
export PATH=$PATH:$MYCAT_HOME/bin
# 生效
source /etc/profile
3. 基础配置
server.xml - 用户与权限配置
<user name="root">
<property name="password">123456</property>
<property name="schemas">TESTDB</property>
</user>
<user name="user">
<property name="password">123456</property>
<property name="schemas">TESTDB</property>
<property name="readOnly">true</property>
</user>
schema.xml - 数据节点与分片配置
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
<table name="travelrecord" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
</schema>
<dataNode name="dn1" dataHost="localhost1" database="db1" />
<dataNode name="dn2" dataHost="localhost1" database="db2" />
<dataNode name="dn3" dataHost="localhost1" database="db3" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="localhost:3306" user="root" password="123456">
<readHost host="hostS1" url="localhost:3307" user="root" password="123456" />
</writeHost>
</dataHost>
rule.xml - 分片规则
<tableRule name="auto-sharding-long">
<rule>
<columns>id</columns>
<algorithm>rang-long</algorithm>
</rule>
</tableRule>
<function name="rang-long" class="io.mycat.route.function.AutoPartitionByLong">
<property name="mapFile">autopartition-long.txt</property>
</function>
4. 启动Mycat
# 启动
cd /usr/local/mycat/bin
./mycat start
# 查看状态
./mycat status
# 查看日志
tail -f /usr/local/mycat/logs/wrapper.log
# 停止
./mycat stop
5. 连接测试
# MySQL客户端连接
mysql -h127.0.0.1 -P8066 -uroot -p123456
# 查看数据库
mysql> show databases;
+----------+
| DATABASE |
+----------+
| TESTDB |
+----------+
# 使用Mycat逻辑库
mysql> use TESTDB;
# 执行建表语句
mysql> create table travelrecord (
id bigint not null primary key,
user_id varchar(100),
traveldate date,
fee decimal,
days int
);
6. 管理端口
# Mycat管理端口 (默认9066)
mysql -h127.0.0.1 -P9066 -uroot -p123456
# 常用管理命令
mysql> show @@help; # 查看所有命令
mysql> show @@version; # 查看版本
mysql> show @@server; # 查看服务器状态
mysql> show @@datasource; # 查看数据源状态
mysql> show @@datanode; # 查看数据节点
mysql> reload @@config_all; # 热加载配置
注意: 生产环境部署前,请确认MySQL后端数据库已正确配置主从复制,并已创建好对应的物理库和表。
提示: Mycat默认端口8066用于数据服务,9066用于管理。请确保防火墙已开放对应端口。