OpenEuler使用Docker搭建mysql性能测试环境
一、安装Docker
-
建立源文件
bashvim /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
-
安装Docker
-
安装docker(docker-ce 社区版 而ee是企业版)
bashyum install -y docker-ce docker-ce-cli containerd.io
-
配置国内的镜像源
bashvim /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文件
bashsystemctl daemon-reload
(2) 启动Docker服务
bashsystemctl enable --now docker systemctl start docker
-
重启
bashsystemctl restart docker
-
设置开机自动启动
bashsystemctl enable docker
-
测试
bashdocker run hello-world
-
查看docker 当前的状态
bashsystemctl status docker
-
查看具体的错误信息
bashsystemctl status docker -l systemctl status docker.service
-
查看docker的版本信息
bashdocker version
二、docker安装mysql
-
拉取MySQL镜像
在进行MySQL容器的部署之前,需要先拉取MySQL镜像。可以通过以下命令拉取官方提供的MySQL镜像:
bashdocker pull mysql
-
创建MySQL容器
先创建一个简单的mysql容器实例
bashdocker run -p 3306:3306 --name sample-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
复制里面的/etc/mysql文件夹
bashdocker cp sample-mysql:/etc/mysql/. /data/mysql/conf
删除掉临时容器
bashdocker 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的镜像版本号)
示例:
自定义端口启动完整命令
bashdocker 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
连接成功结果如下图: