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

连接成功结果如下图:

相关推荐
鸡鸭扣36 分钟前
Docker:3、在VSCode上安装并运行python程序或JavaScript程序
运维·vscode·python·docker·容器·js
神秘_博士2 小时前
自制AirTag,支持安卓/鸿蒙/PC/Home Assistant,无需拥有iPhone
arm开发·python·物联网·flutter·docker·gitee
KTKong3 小时前
kubeadm拉起的k8s集群证书过期的做法集群已奔溃也可以解决
云原生·容器·kubernetes
人工干智能4 小时前
科普:“Docker Desktop”和“Docker”以及“WSL”
运维·docker·容器
卡西里弗斯奥4 小时前
【达梦数据库】dblink连接[SqlServer/Mysql]报错处理
数据库·mysql·sqlserver·达梦
落笔画忧愁e4 小时前
FastGPT及大模型API(Docker)私有化部署指南
运维·docker·容器
一天八小时4 小时前
Docker学习进阶
学习·docker·容器
前端没钱4 小时前
前端需要学习 Docker 吗?
前端·学习·docker
Logout:4 小时前
[AI]docker封装包含cuda cudnn的paddlepaddle PaddleOCR
人工智能·docker·paddlepaddle
杨俊杰-YJ5 小时前
MySQL 主从复制原理及其工作过程
数据库·mysql