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';
相关推荐
网络小白不怕黑2 小时前
Docker容器网络:四大模式解析与自定义网络
运维·docker·容器
梁萌5 小时前
MySQL数据库分库分表介绍
数据库·mysql·shardingsphere·分库分表
gwd2006 小时前
如何快速设置 Docker 代理设置
运维·人工智能·docker·容器
Cat God 0078 小时前
SQL使用及注意事项
数据库·sql·mysql
一苓二肆8 小时前
代码常用工具使用
git·vscode·docker·github·vim
Lynnxiaowen8 小时前
今天我们继续学习kubernetes内容Helm
linux·学习·容器·kubernetes·云计算
华仔啊8 小时前
如何避免MySQL死锁?资深DBA的9条黄金法则
后端·mysql
weixin_521431128 小时前
Docker容器技术
运维·docker·容器
@老蝴8 小时前
MySQL数据库 - 约束和联合查询
android·数据库·mysql
程序猿20238 小时前
MySQL索引使用--最左前缀法则
数据库·mysql