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

连接成功结果如下图:

相关推荐
稚辉君.MCA_P8_Java6 小时前
JVM第二课:一文讲透运行时数据区
jvm·数据库·后端·容器
北极糊的狐7 小时前
MySQL常见报错分析及解决方案总结(15)---Can’t connect to MySQL server on ‘localhost‘ (10061)
数据库·mysql
陈一Tender9 小时前
JavaWeb后端实战(MySql基础)
mysql
-雷阵雨-9 小时前
MySQL——数据库操作攻略
数据库·mysql
Wadli9 小时前
csdn| MySQL
数据库·mysql
程序员水自流9 小时前
MySQL InnoDB存储引擎关键核心特性详细介绍
java·数据库·mysql
-雷阵雨-9 小时前
MySQL——表的操作
数据库·mysql
洛阳纸贵Coco.Leo.YI9 小时前
10分钟在Windows11下Ubuntu内安装docker-Version28.51
linux·ubuntu·docker
dalianwawatou10 小时前
云原生-k8s
云原生·容器·kubernetes
荣光波比10 小时前
K8S(四)—— Kubectl从入门到精通:K8s资源管理与项目生命周期实战指南
云原生·容器·kubernetes