备份 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 版本的文档。