备份您的数据库

以下步骤假设

  • 您有一个或多个托管在 Neo4j 4.4 上的数据库。

  • 您希望在升级到 Neo4j 5 时迁移这些数据库。

为迁移准备数据库

确认 BTREE 索引具有 RANGE、POINT 或 TEXT 等效项

建议您为每个 BTREE 索引和索引支持的约束创建新的 RANGE、POINT 或 TEXT 索引。请参阅 准备索引 中的说明。

使您的数据库处于只读模式

为了确保数据库在备份期间不会更新,请使用 Cypher® 将它们置于只读模式

ALTER DATABASE <databasename> SET ACCESS READ ONLY

创建每个数据库的备份

您可以从单个 4.4 集群成员备份所有数据库。

如果您要从 Neo4j 4.4 社区版 的安装中迁移数据库,则需要将数据库脱机并使用 neo4j-admin dump 命令执行备份。

有关更多信息,请参阅 操作手册 4.4 → 备份脱机数据库

如果您要从集群备份数据库,请运行 Cypher 命令 SHOW DATABASES YIELD *,并选择作为备份源的服务器,该服务器与所有数据库上的最后提交事务保持同步。

  1. 创建一个目录来存储备份。这些步骤使用 /migration-backups

  2. 运行 neo4j-admin backup 命令来备份您的每个数据库。使用选项 --include-metadata=all 来包含与每个数据库关联的所有角色和用户。

/usr/bin/neo4j-admin backup --database=<databasename>  --backup-dir=/migration-backups --include-metadata=all

确保您已成功备份所有数据库。结果是每个数据库的文件夹,称为 <databasename> 且位于 /migration-backups 文件夹中,以及每个数据库的元数据脚本,位于 migration-backups/<databasename>/tools/metadata_script.cypher 中。

有关 neo4j-admin backup 命令的更多信息,请参阅 操作手册 4.4 → 备份在线数据库