迁移单个实例

本章介绍了将单个 Neo4j 实例从 3.5 迁移到 4.0 的必要步骤。

要从 3.5.latest 迁移到 4.0 之后的版本,必须首先将单个实例迁移到 4.0,然后升级到所需版本。

先决条件

确保您已完成迁移清单上的所有任务。

为迁移做准备

  1. 验证您是否已关闭 Neo4j DBMS。您可以检查 neo4j.log

  2. 安装您要迁移到的 Neo4j 版本。有关如何安装您正在使用的发行版的更多信息,请参阅操作手册 → 安装

  3. neo4j.conf 文件替换为您在准备用于新安装的 neo4j.conf 文件部分中准备的文件。

  4. 设置 dbms.allow_upgrade=true 以允许自动存储升级。

  5. 复制所有用于加密的文件,例如私钥、公共证书以及信任和吊销目录的内容(位于 <NEO4J_HOME>/certificates/ 中)。

    如果您的旧安装修改了以 dbms.directories.* 开头的配置或设置 dbms.active_database,请验证新的 neo4j.conf 文件是否已正确配置以查找这些目录。

    用户和角色从 3.5 到 4.0 的迁移是自动完成的。因此,您不必将 data/dbms/ 目录及其内容移动到新安装中。3.5 中的文件将在 Neo4j 4.0 DBMS 首次启动时解析并将其内容添加到 system 数据库中。

  6. 如果您正在使用自定义插件,请确保它们已更新并与新版本兼容,并将其放置在 /plugins 目录中。

迁移数据并启动服务器

在迁移数据之前,您必须将备份文件移动到 Neo4j 4.0 的 /data 目录。

如果您的 dbms.directories.data 指向 <NEO4J_HOME> 之外的目录,则此步骤不适用。

  1. 通过从 <NEO4J_HOME> 运行 neo4j-admin load 命令,将备份文件移动到新安装中

    必须使用此命令,因为不支持数据库的文件系统复制粘贴,并且可能导致意外行为。如果您正在运行 Debian/RPM 发行版,则可以跳过此步骤。

    bin/neo4j-admin load --from=$BACKUP_DESTINATION/<db_name>.dump –database=<db_name> --force
  2. 备份到位后,通过启动 Neo4j 4.0 来启动数据迁移

    bin/neo4j start

    systemctl start neo4j

    数据库迁移在启动期间进行。您的索引也会在启动期间自动迁移到最新的索引提供程序。但是,索引在迁移后需要填充。在索引填充期间,您的查询将无法使用这些索引,因此您可能会看到暂时的性能下降。如果您的查询 100% 依赖于某些索引,建议将索引填充作为迁移持续时间的一部分。

    neo4j.log 文件包含关于迁移涉及多少步骤以及进展到何种程度的宝贵信息。索引填充在 debug.log 中跟踪。对于大型迁移,持续监控这些日志是个好主意。

  3. 如果您使用的数据库名称与 neo4j.conf 中设置为默认数据库的名称不同,则需要在使用该数据库之前激活它。您可以通过在 Browser 或 Cypher® Shell 中使用 CREATE DATABASE 命令来完成此操作

    CREATE DATABASE name

迁移后任务

  1. 升级完成后,打开 neo4j.conf 文件并设置 dbms.allow_upgrade=false

  2. 重启实例。

  3. 迁移完成后立即进行完整备份是一个好习惯。

© . All rights reserved.