备份 Metabase
通过备份数据,避免丢失您的应用程序数据(所有问题、仪表盘、集合等)。
Metabase 使用单个 SQL 数据库来存储其所有运行时应用程序数据,因此您只需备份该数据库即可。如果发生任何问题(例如在升级期间),您可以使用该备份来恢复您的 Metabase 安装。
备份默认的 H2 数据库
如果您在启动 Metabase 时没有使用环境变量指定应用程序数据库,Metabase 将在其目录中创建一个嵌入式 H2 数据库。
但是,如果您已经有要保留的问题和仪表盘,则应考虑在升级之前迁移到生产就绪型数据库。
如果您只是将 Metabase 用于个人用途并希望保留您的应用程序数据,则需要执行以下操作。
如果您正在运行 Metabase Docker 镜像
如果您正在运行 Docker,您应该已经切换到生产就绪型数据库。
在迁移到生产应用程序数据库之前,您应该将 H2 应用程序数据库文件从 Docker 容器中复制出来。例如,如果容器名为 metabase,您将运行
docker cp metabase:/metabase.db/metabase.db.mv.db ./
上述命令会将数据库文件复制到您运行该命令的目录。您还可以创建此 H2 文件的副本,并使用它将数据迁移到生产就绪型数据库。请参阅从 H2 迁移。
如果您正在运行 Metabase JAR
- 导航到您的 Metabase 目录。
- 如果您的 Metabase 正在运行,请停止 Metabase 进程。您可以关闭终端或使用 CTRL-C 终止进程。如果您将进程作为服务运行,则停止该服务。
- 复制应用程序数据库文件(名为
metabase.db.mv.db
)并将其副本保存在安全的地方。就这么简单。 - 重新启动 Metabase:
java --add-opens java.base/java.nio=ALL-UNNAMED -jar metabase.jar
或再次启动服务。
用于应用程序数据库的 Amazon RDS
Amazon 有自己关于如何备份和恢复 RDS 数据库的最佳实践,因此我们将参考它们。我们建议您启用自动 RDS 备份。
说明可在 Amazon RDS 用户指南中找到。
自托管 PostgreSQL 数据库
如果您正在托管自己的 PostgreSQL 数据库,只需遵循 PostgreSQL 关于备份数据库的说明即可。
只要您有 Metabase 数据库的转储,就可以顺利进行。
阅读其他Metabase 版本的文档。