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

连接成功结果如下图:

相关推荐
用户83071968408230 分钟前
Java 告别繁琐数据统计代码!MySQL 8 窗口函数真香
java·sql·mysql
stark张宇2 小时前
MySQL 核心内幕:从索引原理、字段选型到日志机制与外键约束,一篇打通数据库任督二脉
数据库·mysql·架构
Java陈序员4 小时前
轻量强大!一款现代化的 Kubernetes 集群管理与监控工具!
云原生·容器·kubernetes
Hoffer_1 天前
MySQL 强制索引:USE/FORCE INDEX 用法与避坑
后端·mysql
Hoffer_1 天前
MySQL 索引核心操作:CREATE/DROP/SHOW
后端·mysql
Sheffield2 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield2 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
马艳泽2 天前
win10下运行Start Broker and Proxy报错解决
docker
0xDevNull3 天前
MySQL索引进阶用法
后端·mysql
0xDevNull3 天前
MySQL索引用法
mysql