Skip to main content

📦 导出和导入数据库

如果您需要将 "Open WebUI" 数据(如聊天历史记录、配置等)从一个服务器迁移到另一个服务器,或者需要备份以供后续使用,您可以使用数据库的导出和导入功能。本指南适用于使用内部 SQLite 数据库(非 PostgreSQL)运行 Open WebUI 的用户。

让我们来看看如何导出和导入 webui.db 数据库文件。


导出数据库

从当前 Open WebUI 实例导出数据库的步骤:

  1. 使用 docker cp 复制数据库文件webui.db 文件存储在容器的 /app/backend/data 目录中。使用以下命令将其复制到本地计算机:

    docker cp open-webui:/app/backend/data/webui.db ./webui.db
  2. 将导出文件传输至新服务器: 您可以使用 FileZilla 或其他文件传输工具将 webui.db 文件传输到新服务器。

    info

    推荐使用 FileZilla,它能让您方便地将文件传输到新服务器。


导入数据库

webui.db 文件传输到新服务器后,请执行以下步骤:

  1. 在新服务器上部署 Open WebUI: 按照🚀 入门指南的说明,使用 Docker 容器部署并启动 Open WebUI。启动完成后,在执行导入操作前先停止容器:

    docker stop open-webui
  2. 使用 docker cp 将数据库文件导入容器: 假设导出的 webui.db 文件在当前目录,执行以下命令将其复制到容器中:

    docker cp ./webui.db open-webui:/app/backend/data/webui.db
  3. 重启 Open WebUI 容器: 启动容器以使用新导入的数据库:

    docker start open-webui

    此时,新服务器上的 Open WebUI 应该已经加载了您导入的数据库。


说明

  • 此导出/导入方法仅适用于内部 SQLite 数据库(webui.db
  • 如果您使用的是外部 PostgreSQL 数据库,请使用 PostgreSQL 专用的备份和恢复工具,因为数据库是在容器外部管理的。

使用场景

此方法在以下情况下特别有用:

  • 需要将 Open WebUI 数据迁移到新服务器或设备
  • 在系统更新或修改前进行数据备份
  • 在多个服务器上使用相同配置进行测试
# 命令速查表
# 导出数据库:
docker cp open-webui:/app/backend/data/webui.db ./webui.db

# 停止新服务器上的容器:
docker stop open-webui

# 导入数据库:
docker cp ./webui.db open-webui:/app/backend/data/webui.db

# 启动容器:
docker start open-webui

按照上述步骤,您可以轻松完成 Open WebUI 的数据迁移或备份。请注意确认数据库格式的兼容性。