当前位置:   article > 正文

基于docker的Mysql版本升级_docker 升级mysql

docker 升级mysql

引言

随着版本的迭代和漏洞的提出,Mysql作为一款软件避免不了打补丁的命运。

由于docker版本的升级教程较少,以下基于docker版本的MySQL升级说明。

以下操作均在本地虚拟机中操作验证。

使用runlike查看启动脚本

镜像与镜像的差距就在启动命令的区别。启动命令可以根据 docker inspect 容器名 推导出的参数推到出来一部分,也只是一部分。

python工具runlike就是基于此远离开发的,以下举例说明使用方法,

## 对于历史镜像使用runlike看启动命令,基于python
pip3 install runlike
## 查看历史镜像,以kibana为例说明runlike的使用
docker ps --all
runlike -p kibana
docker run --name=kibana \
        --hostname=45b31f642a7d \
        --user=kibana \
        --volume=/usr/local/elk7.14.2/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
        --volume=/usr/local/elk7.14.2/kibana/data:/usr/share/kibana/data \
        --volume=/usr/local/elk7.14.2/kibana/plugins:/usr/share/kibana/plugins \
        --network=elastic \
        --workdir=/usr/share/kibana \
        -p 5601:5601 \
        --restart=always \
        --log-opt max-size=100m \
        --log-opt max-file=2 \
        --runtime=runc \
        --detach=true \
        -t \
        kibana:7.14.2 \
        /usr/local/bin/kibana-docker
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

安装低版本的MySQL

# 拉取镜像
docker pull mysql:8.0.27
## 使用runlike查看MySQL的启动命令
runlike -p mysql-yulin
docker run --name=mysql-yulin \
        --env=MYSQL_ROOT_PASSWORD=123456 \
        --volume=/home/centos/yulin/mysql/data:/var/lib/mysql \
        --volume=/home/centos/yulin/mysql/conf:/etc/mysql/conf.d \
        --privileged \
        -p 20020:3306 \
        --expose=33060 \
        --restart=always \
        --runtime=runc \
        --detach=true \
        mysql:8.0.27 \
        --character-set-server=utf8mb4
## 通过volume创建对应的目录
mkdir -p /home/centos/yulin/mysql/data
mkdir -p /home/centos/yulin/mysql/conf
## 检查网络&创建网络
sudo docker inspect wvp20_default
# 网络信息
[
    {
        "Name": "wvp20_default",
        "Created": "2023-10-23T09:12:47.774395505+08:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.27.0.0/16",
                    "Gateway": "172.27.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": true,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
    }
] 
# 创建网络,此处镜像没有使用新建网络,仅做演示
docker network create -d bridge wvp20_default
## 创建mysql配置
vi /home/centos/yulin/mysql/conf/mysql.cnf
## 启动容器
docker run --name=mysql-yulin \
        --env=MYSQL_ROOT_PASSWORD=123456 \
        --volume=/home/centos/yulin/mysql/data:/var/lib/mysql \
        --volume=/home/centos/yulin/mysql/conf:/etc/mysql/conf.d \
        --privileged \
        -p 20020:3306 \
        --expose=33060 \
        --restart=always \
        --runtime=runc \
        --detach=true \
        mysql:8.0.27 \
        --character-set-server=utf8mb4
## 查看运行状况
docker ps
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67

升级低版本的MySQL

# 拉取镜像
docker pull mysql:8.0.34
## 停止之前的容器
docker stop mysql-yulin
## 启动容器
docker run --name=mysql-yulin2 \
        --env=MYSQL_ROOT_PASSWORD=123456 \
        --volume=/home/centos/yulin/mysql/data:/var/lib/mysql \
        --volume=/home/centos/yulin/mysql/conf:/etc/mysql/conf.d \
        --privileged \
        -p 20020:3306 \
        --expose=33060 \
        --restart=always \
        --runtime=runc \
        --detach=true \
        mysql:8.0.34 \
        --character-set-server=utf8mb4
## 查看运行状况
docker ps
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

说明

以上MySQL镜像基于8.0.27升级到8.0.34,是Orcale官方镜像。不同镜像版本可能升级过程不一致。

请在虚拟机中操作验证,禁止线上生产主机操作。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/217529
推荐阅读
相关标签
  

闽ICP备14008679号