【发布时间】:2021-09-19 08:11:44
【问题描述】:
我在 Docker 容器中运行 MariaDB 10.1,我想升级到 10.2。我的数据保存在 /var/lib/mysql 映射到 my.cnf 的卷中,该卷未映射且未更改。正确的程序是什么最终得到一个包含完整数据的 Maria 10.2 容器?
我考虑的过程如下:
- 停止 10.1 容器
- 复制数据量
- 创建一个新的 10.3 容器,将数据目录映射到复制的卷
- 启动新容器
我关心的是第 3 步。在“标准”(非 Docker)升级期间,升级过程可能不会以某种方式改变数据目录吗?如果是这样,在升级期间应该对 /var/lib/mysql 目录进行的任何更改都不会像卷外部那样对卷进行。
我的程序正确吗?我的担心有道理吗?
【问题讨论】:
-
这能回答你的问题吗? Running mysql_upgrade in Docker?
-
@derpirscher,不,但它确实增加了我的担忧!
-
5.在新启动的容器中运行
mysql_upgrade。您的担忧完全没有道理:如果您将卷安装在预期的数据路径上,则数据路径是您的卷。无论如何,您都可以通过一种简单的方式回滚使用备份卷启动旧映像。为什么要浪费时间?试试看。