MyCAT 安装配置指南

下载安装

  1. 解压安装包:
tar -zxvf Mycat-server-xx-RELEASE-xxxxx-linux.tar.gz
  1. 移动到/usr/local:
mv mycat /usr/local/
  1. 设置环境变量(可选):
export MYCAT_HOME=/usr/local/mycat
export PATH=$PATH:$MYCAT_HOME/bin

基础配置

MyCAT的主要配置文件位于conf目录下:

  • server.xml:配置MyCAT服务参数
  • schema.xml:配置逻辑库和分片规则
  • rule.xml:配置分片算法

服务管理命令

# 启动MyCAT服务
./mycat start

# 停止MyCAT服务
./mycat stop

# 重启MyCAT服务
./mycat restart

# 查看服务状态
./mycat status

连接测试

mysql -h127.0.0.1 -P8066 -uroot -p123456

分片规则详解

1. 时间类分片规则

  • 按天分片:按照自然日进行数据分片存储
  • 自然月分片:按照日历月份进行分片
  • 单月小时分片:在单月内按小时进行细分

2. 哈希类分片规则

  • Hash固定分片:对关键字段进行标准Hash算法计算后分片
  • 日期范围Hash分片:先按日期范围分区,再对分区内数据做Hash
  • 一致性Hash分片:使用一致性Hash算法减少节点增减时的数据迁移量

3. 取模类分片规则

  • 取模分片:直接对关键字段值取模确定分片
  • 取模范围分片:先取模再映射到范围区间
  • 范围求模分片:先按范围分区,再对分区内数据取模

4. 其他分片规则

  • 枚举分片:根据字段枚举值直接映射到特定分片
  • 范围约定分片:预先约定好各分片的数值范围
  • 冷热数据分片:根据数据访问频率将热数据、冷数据分别存储

常用分片配置

取模分片

<tableRule name="mod-long">
  <rule>
    <columns>id</columns>
    <algorithm>mod-long</algorithm>
  </rule>
</tableRule>
<function name="mod-long" class="io.mycat.route.function.PartitionByMod">
  <property name="count">3</property>
</function>

一致性分片

<function name="murmur"
  class="io.mycat.route.function.PartitionByMurmurHash">
  <property name="count">2</property>
  <property name="virtualBucketTimes">160</property>
</function>