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';
相关推荐
tntlbb23 分钟前
Ubuntu20.4 VPN+Docker代理配置
运维·ubuntu·docker·容器
drebander40 分钟前
MySQL 查询优化案例分享
数据库·mysql
Gabriel_liao1 小时前
Docker安装Neo4j
docker·容器·neo4j
小林coding3 小时前
阿里云 Java 后端一面,什么难度?
java·后端·mysql·spring·阿里云
18号房客4 小时前
高级sql技巧进阶教程
大数据·数据库·数据仓库·sql·mysql·时序数据库·数据库架构
豆豆豆豆变4 小时前
Docker轻量级可视化工具Portainer
docker·容器·自动化运维
花晓木4 小时前
k8s etcd 数据损坏处理方式
容器·kubernetes·etcd
运维&陈同学4 小时前
【模块一】kubernetes容器编排进阶实战之基于velero及minio实现etcd数据备份与恢复
数据库·后端·云原生·容器·kubernetes·etcd·minio·velero
花晓木4 小时前
k8s备份 ETCD , 使用velero工具进行备份
容器·kubernetes·etcd
大熊程序猿4 小时前
xxl-job docker 安装
运维·docker·容器