Bootstrap

docker部署mysql8.x版本,编写shell脚本自动部署安装mysql

docker部署mysql8.x版本,编写shell脚本自动部署安装mysql

**1.**先自行安装好docker环境,docker的镜像注册中心最好是国内的,例如执行一下命令直接修改docker配置,

cat <<EOF > /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://registry.cn-hangzhou.aliyuncs.com",
    "https://vh3bm52y.mirror.aliyuncs.com"
  ],
  "max-concurrent-downloads": 10,
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
    },
  "data-root": "/var/lib/docker"
}
EOF

在这里插入图片描述

加载刚修改的配置文件并重新启动docker

systemctl daemon-reload && systemctl restart docker

**2.**创建mysql自动部署脚本文件

touch install-mysql.sh

赋予文件可执行权限

chmod +x install-mysql.sh

在这里插入图片描述
将下面的命令直接粘贴到文件install-mysql.sh

#!/bin/bash
echo "一、在线安装mysql开始...."
mkdir -p /home/admin/mysql8021/{logs,data}
docker pull mysql:8.0.21
docker run \
--privileged=true \
--restart=always \
-v /home/admin/mysql8021/data:/var/lib/mysql \
-v /home/admin/mysql8021/logs:/var/log/mysql \
-p 3306:3306 \
--name mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ=Asia/Shanghai \
-d mysql:8.0.21 \
--default_authentication_plugin=mysql_native_password \
--character-set-server=utf8 \
--collation-server=utf8_general_ci
if docker ps -a --format '{{.Names}}' | grep -q mysql; then
 echo "mysql容器启动成功:账户:root ,密码:123456"
else
 echo "mysql容器启动失败......"
fi

密码壳自行修改
接下来直接执行脚本输入一下命令

sh install-mysql.sh

在这里插入图片描述
这里基本就按照成功了,直接输入docker查看日志命令查看容器启动情况

docker logs -f --tail=100 mysql

出现下图红框标识就表示安装成功
在这里插入图片描述

;