首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何升级作为码头容器运行的MariaDB

如何升级作为码头容器运行的MariaDB
EN

Stack Overflow用户
提问于 2021-07-08 21:21:10
回答 1查看 3.9K关注 0票数 2

我在一个码头容器中运行了MariaDB 10.1,我想升级到10.2。我的数据保存在/var/lib/mysql映射到的卷( my.cnf )中,该卷未被映射并保持不变。什么是正确的程序结束与玛丽亚10.2容器与我的数据完好无损?

我所考虑的程序如下:

  1. 停止10.1容器
  2. 复制数据卷
  3. 创建一个新的10.3容器,将数据目录映射到复制的卷
  4. 启动新容器

我关注的是第三步。在“标准”(非码头)升级过程中,升级过程是否会以某种方式改变数据目录?如果是这样的话,在升级期间对/var/lib/mysql目录所做的任何更改都不会作为它的外部Docker对卷进行更改。

我的程序正确吗?我的担心有道理吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-08 23:35:39

MariaDB文档确实有一个来自10.1 -> 10.2 documentation的升级,值得一读。

虽然大部分都是关于包升级的,但是在一个可选的SET GLOBAL innodb_fast_shutdown=0和使用升级的过程中有一些注释。

查看挂载点并获取datadir的副本是谨慎的,特别是在您没有最近的备份或有快速恢复业务需求的情况下(但是如果是这样的话,您应该使用从备份恢复和内部升级过程中的还原来测试后期版本)。

在关闭之前,在没有SET GLOBAL innodb_fast_shutdown=0的情况下进行内部升级将导致innodb开始恢复并将重做日志应用到datadir。有很小的风险,这可能是做一些不同于它以前所做的事情。

在新容器启动后,您可以测试数据是否存在。准备好之后,运行mysql_upgrade (我通常会执行docker exec -i {container} mysql_upgrade)。希望当我想出一种可靠的方法来实现这一点时(gh#350MDEV 25670)将是自动化的。

正如蒙蒂所说的"您应该能够从任何早期的MariaDB版本升级到最新的版本。“(或任何中间的),所以不要觉得你必须要10.1 -> 10.2,最后是10.3。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68308764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档