Mycat官网:http://www.mycat.io/
Mycat 是一个开源的分布式数据库系统,但是由于真正的数据库需要存储引擎,而 Mycat 并没有存 储引擎,所以并不是完全意义的分布式数据库系统
MyCat是目前最流行的基于Java语言编写的数据库中间件,也可以理解为是数据库代理。在架构体系中是位于数据库和应用层之间的一个组件,并且对于应用层是透明的,即数据库 感受不到mycat的存在,认为是直接连接的mysql数据库(实际上是连接的mycat,mycat实现了mysql的原生协议)
MyCat是基于阿里开源的Cobar产品而研发,Cobar的稳定性、可靠性、优秀的架构和性能以及众多成熟的使用案例使得MyCat变得非常的强大。
mycat的三大功能:分库分表、读写分离、主从切换
Mycat安装比较简单,直接官方下载压缩包,解压即可;
官方下载地址:http://dl.mycat.io/
Mycat是java开发的,所以运行Mycat需要jre支持,我们要搞个jre;
这里为了可移植性好,我们自定义docker镜像,写个dockerfile;
FROM centos
MAINTAINER 2949424758@qq.com
LABEL name="javaxl myCat Image" \
build-date="20200306"
ADD server-jre-8u151-linux-x64.tar.gz /home/
ADD Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz /home/
ENV WORKPATH /home/mycat/
WORKDIR $WORKPATH
ENV JAVA_HOME /home/jdk1.8.0_151
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8066
CMD /home/mycat/bin/mycat console
Mycat启动方式有两种:
bin目录 ./mycat console 控制台方式启动 (我们用这种,可以看到执行记录信息)
bin目录 ./mycat start 后台启动
构建命令:
docker build -f mycatdockerfile -t javaxl_mycat:1.6 .
启动容器:
docker run -p 8066:8066 -it 镜像id
我们先把conf配置和logs日志目录copy到宿主机,主要是我们启动的时候挂载宿主机,方便配置和查看日志;
docker cp 8fa48751b5cd:/home/mycat/conf/ /home/docker/mycat/
docker cp 8fa48751b5cd:/home/mycat/logs/ /home/docker/mycat/
docker run --name mycat1 -p 8066:8066 -it -v /home/docker/mycat/conf/:/home/mycat/conf/ -v /home/docker/mycat/logs/:/home/mycat/logs/ 镜像id
Mycat conf目录下有三个重要配置文件,分别是:
1)、schema.xml:定义逻辑库,表,分片节点等内容; 2)、rule.xml:定义分片规则; 3)、server.xml:定义用户以及系统相关变量;
我们打开server.xml 下方:
用户名 root 密码 123456 逻辑库 TESTDB
我们可以用过 连接mycat。 我们开发者,可以把mycat就当做数据库用即可,虽然它是真实数据库的代理;
over......
备案号:湘ICP备19000029号
Copyright © 2018-2019 javaxl晓码阁 版权所有