专栏首页强仔仔docker中安装mycat

docker中安装mycat

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linzhiqiang0316/article/details/79619246

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

文件里面分别有Dokcerfile文件、mycat安装文件、jdk安装包。

2.利用Dockerfile文件生成docker镜像,文件内容如下:

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"]

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值太小了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 爬虫网页,解析工具lxml.html(一)

    狭义上讲,爬虫只负责抓取,也就是下载网页。而实际上,爬虫还要负责从下载的网页中提取我们想要的数据,即对非结构化的数据(网页)进行解析提取出结构化的数据(有用数据...

    一墨编程学习
  • Java中的注解是如何工作的?

    自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分。开发过程中,我们也时常在应用代码中会看到诸如@Override,@Deprecate...

    哲洛不闹
  • 一个安卓样本的逆向分析过程

    该 APK 样本是通过国外的下载站进行投放的,伪装成正常的软件并在特定情况下启动后门模块获取用户信息,VT 报读情况如下

    信安之路
  • 如何使用 jq 接收 blob 数据

    目前 jq 用的人还是挺多的,在一些简单的促销 h5 页面,用 jq 去实现一些简单的功能还是比较方便的。本文展示如何用 JQ 去请求一个 blob 对象的 i...

    JS菌
  • 『互联网架构』软件架构-掌握dubbo常规应用(上)(40)

    1.Provider(提供者)绑定指定端口并启动服务(20880)。2.提供者连接注册中心,并发本机IP、端口、应用信息和提供服务信息发送至注册中心存储。3.C...

    IT故事会
  • Python爬虫网页,解析工具lxml.html(二)

    【前情回顾】如何灵活的解析网页,提取我们想要的数据,是我们写爬虫时非常关心和需要解决的问题。

    一墨编程学习
  • 透过源码学习设计模式3—BeanFactory、FactoryBean和工厂模式

    简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类,简单工厂是“固定的”,因为只有一个实现,没有子类。它不属于23种设计模式之一,但在...

    java达人
  • 『互联网架构』软件架构-掌握dubbo常规应用(下)(41)

    PS:学习dubbo最好的方式,就是观看api,肯定有老铁说dubbo有注释的方式,为啥还停留到xml,太low了吧,非也,你要暴露服务,用xml是不是更容易管...

    IT故事会
  • ROS文件系统(工程结构)

    介绍catkin的编译系统,catkin工作空间的创建和结构,package软件包的创建和结构,介绍CMakeLists.txt文件,package.xml以及...

    小飞侠xp
  • Python 爬虫网页内容提取工具xpath

    上一节,我们详述了lxml.html的各种操作,接下来我们熟练掌握一下XPath,就可以熟练的提取网页内容了。

    一墨编程学习

扫码关注云+社区

领取腾讯云代金券