Docker 环境下 MySQL 升级
来源:本站原创
点击数: 次
发布时间:2025年11月06日
客户的mysql版本太旧扫描出来不少漏洞,建议客户升级但是客户担心升级后影响业务稳定性,所以我在docker上面运行了一个MySQL容器来进行升级测试,整个流程如下:
备份数据:首先确保现有容器的数据库数据已做备份。可使用
docker exec <mysql-container> mysqldump …导出全量数据,或确保数据卷(如/var/lib/mysql)有最新快照。停止服务 & 记录版本:使用
docker stop <container>停止当前容器,记录当前镜像标签与版本(docker inspect或docker images)。防止升级失败后无法回退。拉取新镜像:在宿主机或 CI/CD 环境运行
docker pull mysql:<new-version>,确保拉取到目标版本镜像。建议不要使用mysql:latest,而固定为mysql:8.0.x等标签,以避免意外跳版本。停止并移除旧容器:
docker rm <container>(在确认备份安全后)以释放容器资源,同时保留数据卷。启动新版本容器:使用新的镜像标签启动新容器,同时挂载相同的数据卷(确保
/var/lib/mysql路径一致且拥有正确权限),容器启动后 MySQL 会自动进行必要的内部升级。验证服务状态:进入容器或外部使用客户端连接,检查版本是否已升级、数据是否完整、应用是否能正常访问。查看日志确认无错误。
清理旧镜像:确认新版本运行稳定后,可使用
docker image prune等命令清理旧镜像,避免空间浪费。
