docker更新mysql_Docker for Mysql升级

2ff34e647e2e3cdfd8dca593e17d9b0a.png本文基于Mysql5.6–>mysql8.0,介绍数据迁移的过程和工具的简单实用,具体原理并未涉及。

一、数据导出备份命令加粗的地方需要根据实际填写。

OLDER_DOCKER_MYSQL_CONTAINER_NAME:要导出的mysql容器名称。

EXPORT_DATABASE_NAME:要导出的数据库名称,多个数据库用空格分割。

LOCAL_EXPORT_PATH:将导出文件保存到本地文件系统的地址。

docker exec OLDER_DOCKER_MYSQL_CONTAINER_NAME sh -c ‘exec mysqldump -uroot -p”$MYSQL_ROOT_PASSWORD” –databases EXPORT_DATABASE_NAME ‘ > LOCAL_EXPORT_PATH

案例:docker exec mysql sh -c 'exec mysqldump -uroot -p"$MYSQL_ROOT_PASSWORD" --databases bee-order bee-product cms flower interesting leetcode niuke niukewang qms_local ry spider ' > /Users/tobbyquinn/docker/mysql8/all-databases.sql

涉及到的坑

mysql5.X 和 mysql8.0 的系统表结构发生了一些变化,所以在使用 mysqldump 命令时,不能使用--all-data

你可能感兴趣的:(docker更新mysql)