基于docker的Mysql版本升级

编程入门 行业动态 更新时间:2024-10-10 08:27:35

基于docker的Mysql<a href=https://www.elefans.com/category/jswz/34/1771446.html style=版本升级"/>

基于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

安装低版本的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/mysqlf
## 启动容器
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

升级低版本的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

说明

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

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

更多推荐

基于docker的Mysql版本升级

本文发布于:2023-12-03 11:48:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1655013.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:版本   docker   Mysql

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!