迁移单实例

本章介绍了将单实例从 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/ 目录及其内容移动到新的安装目录中。在首次启动 Neo4j 4.0 DBMS 时,系统会自动解析 3.5 中的文件,并将内容添加到 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 中设置的默认数据库不同,则需要先激活该数据库才能使用。您可以在浏览器或 Cypher® Shell 中使用 CREATE DATABASE 命令来完成此操作。

    CREATE DATABASE name

迁移后任务

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

  2. 重启实例。

  3. 建议在迁移完成后立即进行一次全量备份,这是一个良好的实践习惯。

© . This site is unofficial and not affiliated with Neo4j, Inc.