docker版MySQL升级

MySQL8.0.20 升级到8.0.22

docker版MySQL8.0.20升级到8.0.22
停止旧的mysql容器

docker stop mysql8.0.20-test

为了稳妥起见,先备份数据库。

cp -rf mysql mysqlbak

拉取新的

docker pull mysql:8.0.22

启动新的

docker run --name=mysql8.0.22-test \
   -p 3306:3306 \
   --privileged=true \
   --mount type=bind,src=/data/mysql/config/my.cnf,dst=/etc/my.cnf \
   --mount type=bind,src=/data/mysql/data,dst=/var/lib/mysql \
   --restart=always \
   -d mysql:8.0.22

重新启动完成升级

docker restart mysql8.0.22

按照官网说法,对于8.0.15及之前的版本,需要执行一下升级程序。然后再重新启动容器完成升级

docker exec -it mysql80 mysql_upgrade -uroot -p

其中密码为旧版本的root密码。升级完成后再重启容器。
在这里插入图片描述

MySQL5.7.32升级到MySQL8.0.22

对于5.7升级到8,查看了官网关于升级的操作,有篇文章必须要看,另外升级之前必须要备份
我做了一个测试,docker启动mysql5.7.32.然后进行升级
升级完毕restart。升级到8.0.22后可以正常使用。配置比较少。
个人感觉需要先阅读官网的文章,MySQL升级篇。写的很详细。摘取一点。另外注意不能跨版本升级
如果你是5.7.1x或者5.7.2x。建议先升级到5.7.3x。多读读官网还是有很好的帮助效果。虽然都是英文,不过Google浏览器可以翻译啊。官方链接
在这里插入图片描述
在这里插入图片描述
先拉取两个版本的镜像

docker pull mysql:5.7.32
docker pull mysql:8.0.22

创建5.7容器

docker run --name=mysql5.7.32 \
   -p 3306:3306 \
   --privileged=true \
   --mount type=bind,src=/data/mysql/conf/my.cnf,dst=/etc/my.cnf \
   --mount type=bind,src=/data/mysql/data,dst=/var/lib/mysql \
   --restart=always \
   -e MYSQL_ROOT_PASSWORD=DX_xx1234 \
   -d mysql:5.7.32

navicat连接创建数据库导入数据。使用没问题,数据库备份一下,预防升级失败
开始升级。
停止旧的容器

docker stop mysql5.7.32

升级容器

docker run --name=mysql8.0.22 \
   -p 3306:3306 \
   --privileged=true \
   --mount type=bind,src=/data/mysql/conf/my.cnf,dst=/etc/my.cnf \
   --mount type=bind,src=/data/mysql/data,dst=/var/lib/mysql \
   --restart=always \
   -d mysql:8.0.22

重启,确保升级正常

docker restart mysql8.0.22

navicat 连接,已变成8.0.22版本
在这里插入图片描述

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用Docker安装MySQL镜像后,如果无法正常运行,可能有以下几个原因: 1. 镜像下载和安装问题:首先,确保你的机器可以正常连接到Docker镜像仓库。如果你的服务器无网络连接,你需要事先下载MySQL镜像文件并导入到Docker中。可以使用离线方式下载镜像文件并将其拷贝到服务器上进行安装[1]。 2. 镜像配置问题:在运行MySQL容器之前,你需要根据你的需求对容器进行相应的配置。例如,设置MySQL的root密码、指定数据存储路径、指定端口等等。确保在运行容器时将这些配置项正确地传递给Docker命令。 3. 端口冲突问题:如果你在运行MySQL容器时指定了一个已经被占用的端口,容器将无法启动。请确保所选择的端口没有被其他服务占用。 4. 硬件要求问题:如果你的服务器硬件配置不满足MySQL的最低要求,容器可能无法正常运行。请确保你的服务器满足MySQL的硬件要求。 解决这些问题的方法如下: 1. 检查网络连接:确保你的服务器能够连接到Docker镜像仓库。如果无法连接,可以考虑使用离线方式下载镜像文件。 2. 确认镜像配置:检查你在运行MySQL容器时所使用的配置项是否正确。确保你已经设置了正确的root密码、数据存储路径以及端口等配置。 3. 检查端口冲突:查看你在运行容器时所指定的端口是否已被其他服务占用。如果是,请选择一个未被占用的端口。 4. 检查硬件要求:确认你的服务器硬件配置是否满足MySQL的最低要求。如果硬件不足,考虑升级服务器或者使用更轻量级的数据库解决方案。 总结起来,如果你无法运行Docker安装的MySQL镜像,可以检查网络连接、镜像配置、端口冲突和硬件要求等方面的问题,并据此进行相应的调整和修复。<span class="em">1</span> #### 引用[.reference_title] - *1* [docker离线mysql镜像.zip](https://download.csdn.net/download/qq_43692950/12942211)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值