栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

mycat分库分表与读写分离

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mycat分库分表与读写分离

mycat分库分表与读写分离 Dockerfile搭建mycat 1.创建mycat的配置文件
#新建目录
mkdir /docker/mycat

#切换目录
cd /docker/mycat

#下载mycat release1.6.7.6到当前目录
wget http://dl.mycat.org.cn/1.6.7.6/20201126013625/Mycat-server-1.6.7.6-release-20201126013625-linux.tar.gz

mv Mycat-server-1.6.7.6-release-20201126013625-linux.tar.gz mycat1.6.7.6.tar.gz

#解压conf目录到当前目录,因为使用docker直接挂载conf目录会报错,mycat启动时需要依赖conf目录中的文件。
tar -zxvf mycat1.6.7.6.tar.gz -C /docker/ mycat/conf

配置文件

调整/home/winner/mycat/conf目录中的server.xml 与 schema.xml 两个核心配置文件

  • server.xml 请参考这里

  • schema.xml 请参考这里

  • server.xml 关键节点介绍

 
   
    
    alpha.mycat  
    
    adnc_usr,adnc_maint,adnc_cus 
   
  • schema.xml 关键节点介绍



    
    
    
    

    
    
    
    

    
    
        select user()
        
            
        
        
    


2.下载dockerfile,由于mycat官方并没有提供docker镜像,我们需要自己编写dockerfile文件打包镜像
#下载dockerfile文件到当前目录
wget https://raw.githubusercontent.com/AlphaYu/Adnc/master/doc/mycat/Dockerfile

#如果下载失败,请手动下载并上传到/root/data/mycat目录,文件地址如下
#https://github.com/AlphaYu/Adnc/blob/master/doc/mycat/Dockerfile
3.创建mycat镜像与容器
docker run --privileged=true -p 8066:8066 -p 9066:9066 --name mycat 
-v /docker/mycat/conf:/usr/local/mycat/conf 
-v /docker/mycat/logs:/usr/local/mycat/logs 
--restart=always -d  mycat:1.6.7.6
Docker pull 安装mycat

1.拉取docker镜像(注:1.6.7.5以上才支持单库分表的功能)

docker pull manondidi/mycat

2.简单安装mycat容器

docker run --privileged=true -p 8066:8066 --name mycat manondidi/mycat:latest

3.从docker容器中复制conf文件到宿主机环境上

docker cp mycat:/usr/local/mycat/conf /docker/mycat/conf

4.删除mycat容器

docker rm -f mycat

5.重新安装容器

docker run --privileged=true -p 8066:8066 -p 9066:9066 --name mycat 
-v /docker/mycat/conf:/usr/local/mycat/conf 
-v /docker/mycat/logs:/usr/local/mycat/logs 
--restart=always -d  manondidi/mycat
单库分表规则

1.配置分表规则


2.配置节点



3.配置数据源



select user()





4.配置-规则



64




id
mod-long





user_id
mod-long


测试案例一

server.xml (定义分库的 虚拟库)




    
        0  
        0  
        2
        0
        0
        1
        1m
        1k
        0
        384m
        true
    
    
    
        
        123456
        
        sx_user,sx_order,lm_order
    


schema.xml

配置逻辑库与真实库的匹配规则,这里指定 sx_user 与 sx_order的数据分别分配到不同的 dataNode的数据库中去,lm_order则是直接在当前库中分配64张表,分别把数据分配到不同的表中去





    
    
        
select user() select user() select user() select user()

rule.xml



user_id
mod-long


转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号