docker升级mysql

一、首选备份原数据库所有数据

二、在Docker中查看正在运行的MySQL容器名称,可以使用以下命令:

复制代码
docker ps --filter "name=mysql"

三、查看当前docker中正在运行mysql的版本

复制代码
docker exec -it qgz-mysql mysql -V

可以看到当前运行的版本是8.2.0

使用docker备份数据:

复制代码
docker exec your-mysql /usr/bin/mysqldump -u root --password=xxxxxx --all-databases > 20240929all_databases_backup.sql

停止原来的mysql

复制代码
docker stop xxx-mysql

拉取想要的mysql版本

复制代码
docker pull mysql:8.4.2

创建新的mysql容器:

vbscript 复制代码
docker run --name qgz-mysql842 --restart=always -p 3306:3306 -v /data/mysql/conf.d:/etc/mysql/conf.d -v /data/mysql/data2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=yourPassword -d mysql:8.4.2

导入备份数据

复制代码
cat 20240929all_databases_backup.sql | docker exec -i qgz-mysql842 /usr/bin/mysql -u root --password=xxxxxx

启动新容器,并检查

复制代码
docker run --name qgz-mysql842 --restart=always -p 3306:3306 -v /data/mysql/conf.d:/etc/mysql/conf.d -v /data/mysql/data2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=xxxxxxx -d mysql:8.4.2

docker logs qgz-mysql842 

查看新部署数据库版本,以确保升级成功:

复制代码
docker exec -it qgz-mysql842 mysql -V

如果用户有异常,可以

复制代码
alter user 'root'@'%' identified with caching_sha2_password by 'xxxxxxx';
相关推荐
csdn_aspnet32 分钟前
mysql 使用逗号拼接一列数据
数据库·mysql·group_concat
镜像车间1 小时前
我用飞牛NAS在本地建了一个rhex论坛
docker
极客先躯2 小时前
高级java每日一道面试题-2026年04月04日-实战篇[Docker]-如何排查容器存储挂载失败的问题?
java·运维·docker·容器·高级面试
宇晨T2 小时前
从零搭建企业级Web服务:Shell脚本 + LNMP + Docker 实战指南
前端·docker·容器
努力进修13 小时前
Docker+cpolar 实战:打造灵活可控的远程办公系统
运维·docker·容器
CoderMeijun15 小时前
一条SQL查询语句在MySQL中是如何执行的
mysql·sql执行流程·连接器·mysql架构·索引下推·执行器
jieyucx16 小时前
Docker 入门第一阶段:建立正确认知与初体验
运维·docker·容器
jieyucx19 小时前
Docker 入门第二阶段:掌握日常命令
运维·docker·容器
有毒的教程20 小时前
Kubernetes进阶实战教程(生产落地完整版)
云原生·容器·kubernetes
ttwuai20 小时前
GoFrame 连接 MySQL 报错排查:parseTime、时区和 utf8mb4 怎么配
数据库·mysql·adb