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';
相关推荐
全栈派森13 分钟前
告别大表膨胀!MySQL 冷热分离落地全过程(含 CDC 与单行锁抢占实战)
大数据·mysql
篮框坏了29 分钟前
大事务 DELETE 锁表排查:删 3344 万行,一个清理任务变成周期炸弹
mysql
LinuxGeek10241 小时前
Kylin-Server-V11、openEuler-22.03和openEuler-24.03适配原生rpm的MySQL 8.4.11版本正式发布
大数据·mysql·kylin
yj_xqj3 小时前
Docker 基础应用与介绍
运维·docker·容器
Lucifer三思而后行4 小时前
TDSQL MySQL 版 DBA 实用 100 条命令
mysql·tdsql
AOwhisky5 小时前
Docker 深度集成 WasmEdge:容器与 Wasm 的边界正在消失
docker·容器·wasm
码上上班5 小时前
JumpServer 企业完整实操手册
容器
PC2005-cloud5 小时前
Windows 下 WSL2 + Docker Desktop + Ubuntu 开发环境搭建指南
windows·ubuntu·docker
染指11107 小时前
72.高级RAG-sql检索器
python·sql·mysql·llama·llamaindex·高级rag
wWYy.7 小时前
Mysql:覆盖索引
android·数据库·mysql