MyCAT 安装配置指南
下载安装
- 解压安装包:
tar -zxvf Mycat-server-xx-RELEASE-xxxxx-linux.tar.gz
- 移动到/usr/local:
mv mycat /usr/local/
- 设置环境变量(可选):
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>