1.把下载的mysql5.7.44镜像包解压到目标服务器
docker load -i mysql5.tar
2.备份
docker exec -i mysql5 mysqldump -u root -p12345678 --all-databases > backup20250226.sql
mysqldump -uroot -p12345678 --all-databases > /backup20250226.sql
docker cp mysql5:/backup20250226.sql /root/ #容器里复制到主机
如果使用绑定挂载,直接复制 ./data 目录即可:cp -r data data_backup
3.修改compose
image: mysql:5.7.44 将镜像版本更新到目标版本(如 mysql:5.7.44):
4.重启服务
docker-compose down && docker-compose up -d
5.执行mysql升级检查命令,主要对数据字典的升级包括:sys,mysql,information_schema,performance_schema
mysql_upgrade -uroot -p12345678
6.查看验证升级和数据完整性
MySQL 版本:
docker exec -it mysql_db mysql --version
检查数据是否正常:
docker exec -it mysql_db mysql -u root -pmy-secret-pw -e "SHOW DATABASES;"
注:避免跨大版本升级(如 5.7 → 8.0)
官方镜像通常会自动运行 mysql_upgrade。
绑定挂载时,若宿主机目录权限不足,会导致容器启动失败。确保目录可写:chown -R 999:999 ./data # MySQL 容器内用户 UID 通常为 999