Docker搭建mysql性能测试环境

OpenEuler使用Docker搭建mysql性能测试环境

一、安装Docker

  1. 建立源文件

    bash 复制代码
    vim  /etc/yum.repos.d/docker-ce.repo

    增加内容

    bash 复制代码
    [docker-ce-stable]
    name=Docker CE Stable - $basearch
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/$basearch/stable
    enabled=1
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
    
    [docker-ce-stable-debuginfo]
    name=Docker CE Stable - Debuginfo $basearch
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/debug-$basearch/stable
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
     
    [docker-ce-stable-source]
    name=Docker CE Stable - Sources
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/source/stable
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
     
    [docker-ce-test]
    name=Docker CE Test - $basearch
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/$basearch/test
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
     
    [docker-ce-test-debuginfo]
    name=Docker CE Test - Debuginfo $basearch
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/debug-$basearch/test
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
     
    [docker-ce-test-source]
    name=Docker CE Test - Sources
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/source/test
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
     
    [docker-ce-nightly]
    name=Docker CE Nightly - $basearch
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/$basearch/nightly
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
     
    [docker-ce-nightly-debuginfo]
    name=Docker CE Nightly - Debuginfo $basearch
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/debug-$basearch/nightly
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
     
    [docker-ce-nightly-source]
    name=Docker CE Nightly - Sources
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/source/nightly
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg	 
  2. 安装Docker

  • 安装docker(docker-ce 社区版 而ee是企业版)

    bash 复制代码
    yum install -y docker-ce docker-ce-cli containerd.io
  • 配置国内的镜像源

    bash 复制代码
    vim /etc/docker/daemon.json
  • 进行编辑(json格式)

    bash 复制代码
    {
     "registry-mirrors": ["http://hub-mirror.c.163.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn"]
    }
  • 启动,并设置为开机自启(因为你加了日志生成路径,可能会出错,不要慌!!可以查看后面解决方法)

    (1) 刷新daemon.json文件

    bash 复制代码
    systemctl daemon-reload

    (2) 启动Docker服务

    bash 复制代码
    systemctl enable --now docker
    systemctl start docker		
  • 重启

    bash 复制代码
    systemctl restart docker
  • 设置开机自动启动

    bash 复制代码
    systemctl enable docker
  • 测试

    bash 复制代码
    docker run hello-world
  • 查看docker 当前的状态

    bash 复制代码
    systemctl status docker
  • 查看具体的错误信息

    bash 复制代码
    systemctl status docker -l
    systemctl status docker.service
  • 查看docker的版本信息

    bash 复制代码
    docker version

二、docker安装mysql

  1. 拉取MySQL镜像

    在进行MySQL容器的部署之前,需要先拉取MySQL镜像。可以通过以下命令拉取官方提供的MySQL镜像:

    bash 复制代码
    docker pull mysql
  2. 创建MySQL容器

    先创建一个简单的mysql容器实例

    bash 复制代码
    docker run -p 3306:3306 --name  sample-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

    复制里面的/etc/mysql文件夹

    bash 复制代码
    docker cp sample-mysql:/etc/mysql/. /data/mysql/conf

    删除掉临时容器

    bash 复制代码
    docker rm -f sample-mysql

    启动完整的容器命令

    docker run

    -p <映射端口>:<服务端口>

    --name mysql

    -e MYSQL_ROOT_PASSWORD=123456

    -v /data/mysql/log:/var/log/mysql

    -v /data/mysql/data:/var/lib/mysql

    -v /data/mysql/conf:/etc/mysql

    --privileged=true

    -d mysql:xxx(docker拉取的mysql的镜像版本号)

    示例:

    自定义端口启动完整命令

    bash 复制代码
    docker run -p 13306:3306 --name mysql01 --restart=always --privileged=true \
    -v /data/mysql/log:/var/log/mysql \
    -v /data/mysql/data:/var/lib/mysql \
    -v /data/mysql/conf:/etc/mysql \
    -v /etc/localtime:/etc/localtime:ro \
    -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

    启动命令解释:

    -p 3306:3306:指定宿主机端口与容器端口映射关系

    --name mysql:创建的容器名称

    --restart=always:总是跟随docker启动

    --privileged=true:获取宿主机root权限

    -v /usr/local/mysql/log:/var/log/mysql:映射日志目录,宿主机:容器

    -v /usr/local/mysql/data:/var/lib/mysql:映射数据目录,宿主机:容器

    -v /usr/local/mysql/conf:/etc/mysql:映射配置目录,宿主机:容器

    -v /etc/localtime:/etc/localtime:ro:让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。

    -e MYSQL_ROOT_PASSWORD=123456:指定mysql环境变量,root用户的密码为123456

    -d mysql:latest:后台运行mysql容器,版本是latest。

    命令执行之后如下图:

三、测试mysql连接

使用数据库连接工具测试mysql是否能够连接

bash 复制代码
mycli -h 127.0.0.1 -P 13306 -u root -p 123456

连接成功结果如下图:

相关推荐
雪域迷影7 小时前
PostgreSQL Docker Error – 5432: 地址已被占用
数据库·docker·postgresql
福大大架构师每日一题8 小时前
22.1 k8s不同role级别的服务发现
容器·kubernetes·服务发现
莹雨潇潇8 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器
momo小菜pa9 小时前
【MySQL 06】表的增删查改
数据库·mysql
tangdou3690986559 小时前
1分钟搞懂K8S中的NodeSelector
云原生·容器·kubernetes
程序员大金11 小时前
基于SpringBoot+Vue+MySQL的装修公司管理系统
vue.js·spring boot·mysql
gorgor在码农11 小时前
Mysql 索引底层数据结构和算法
数据结构·数据库·mysql
-seventy-11 小时前
SQL语句 (MySQL)
sql·mysql
一般路过糸.12 小时前
MySQL数据库——索引
数据库·mysql
tangdou36909865512 小时前
Docker系列-5种方案超详细讲解docker数据存储持久化(volume,bind mounts,NFS等)
docker·容器