Mycat1.6 快速开始

什么是Mycat?

Mycat是一个彻底开源的、面向企业应用开发的"大数据库集群",支持事务、ACID、可以替代MySQL的加强版数据库。它可视为"MySQL"集群的企业级数据库,融合了内存缓存技术、NoSQL技术、HDFS大数据。

环境要求

组件要求
JDKJDK 1.7 及以上
MySQLMySQL 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用于管理。请确保防火墙已开放对应端口。