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';
相关推荐
早起鸟儿12 分钟前
docker-Dockerfile 配置
java·linux·运维·docker
虚妄狼17 分钟前
【Docker Desktop】Windows11安装 Docker Desktop
运维·docker·容器
IT成长日记1 小时前
【Docker基础】Docker核心概念:命名空间(Namespace)与资源隔离联系
运维·docker·namespace·资源隔离·命令空间
西西小飞龙2 小时前
Docker 基础使用
docker·容器·eureka
再ZzZ2 小时前
Docker安装PaddleOCR并提供接口服务(CPU)
运维·docker·容器
FJSAY2 小时前
我自己动手写了一个MySQL自动化备份脚本,基于docker
mysql·docker·自动化
Cosmoshhhyyy3 小时前
腾讯云配置了国内镜像依然docker search失败
docker·云计算·腾讯云
bxlj_jcj4 小时前
Kafka环境搭建全攻略:从Docker到Java实战
java·docker·kafka
一勺菠萝丶4 小时前
宝塔安装MySQL无法远程连接【已解决】
mysql
翔云1234564 小时前
精准测量 MySQL 主从复制延迟—pt-heartbeat工具工作原理
数据库·mysql