四时宝库

程序员的知识宝库

在docker中安装mycat(docker安装mysql8.0)

1.创建Dockerfile文件

FROM ubuntu

ADD jdk-8u161-linux-x64.tar.gz /usr/local/src

ADD mycat /usr/local/src/mycat

ENV JAVA_HOME=/usr/local/src/jdk1.8.0_161

ENV PATH=$JAVA_HOME/bin:$PATH

ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

EXPOSE 8666 9666 3366

RUN chmod -R 777 /usr/local/src/mycat/bin

CMD ["./usr/local/src/mycat/bin/mycat", "console"]

2.在Linux中新建一个docker文件夹,如下图所示:

mycat下载地址 http://dl.mycat.io/1.6-RELEASE/

jdk下载地址http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

3.mycat安装包中主要看conf文件下面的server.xml和schema.xml两个配置文件

server.xml是配置mycat用户的,schema.xml是配置数据库的

server.xml文件如下所示:

root表示用户名、220316表示登陆密码、mycat是在shema.xml中配置的名称。

mycat为应用的名称也就是我们在server.xml提到的名称、database为数据库名称、url为数据库链接地址。

具体参数介绍请参考下面这篇文章:http://mp.weixin.qq.com/s/d4HkkgxBno72nlTWXYOAEQ

(这边需要注意的是,mycat版本我这边用的是最新的也就是Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz,旧版本的时候出了一些问题。)

在安装mycat之前,我这边已经安装了MySQL主从数据库了。详细的安装过程可以参照下面这篇博客:http://blog.csdn.net/linzhiqiang0316/article/details/79249271

4.创建mycat镜像,命令如下:docker build -t mycat:1.0 .

5.运行上面创建的镜像并启动容器,命令如下:docker run --name mycat -p 8666:8066 -p 9666:9066 mycat:1.0

6.进入容器中,查看运行日志,命令如下:docker exec -i -t e727cef15f23 /bin/bash

如果需要在docker容器中编辑文本的话,需要安装vim。(不安装会出现bash: vim: command not found错误)。安装命令如下:

apt-get update

apt-get install vim

7.mycat的相关操作(必须在bin目录下面才可以执行下面这些命令):

启动MyCat:

./mycat start

查看启动状态:

./mycat status

停止:

./mycat stop

重启:

./mycat restart

8.通过Datagrip数据库管理工具来链接mycat

安装过程看起来很简单,但是还是走了很多的弯路,就像下面这几种情况:

1.一个是mycat安装版本不对,导致DataGrip一直链接不上mycat。

2.另外一个是配置文件没搞清楚,导致配置出错。

3.还有就是一直出现Error querying database. Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (30 > -1)错误,原因是max_allowed_packet = 40M值太小了。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接