知识库

批量导入 / 备份到运行中的 4.0 实例

Neo4j 4.0 支持运行多个数据库。您可以使用 neo4j-admin importneo4j-admin restore 将数据库导入或恢复到运行中的 4.0 实例上的新数据库中。

Neo4j-Admin Import 独立服务器

  1. 运行 Neo4j-Admin import 创建数据库。在此示例中,我们正在将批量数据导入到一个名为 dataload1 的新数据库中。节点标签是 STORE。

    $ ./bin/neo4j-admin import --database=dataload1 --nodes=:STORE="/home/ubuntu/tmp/header.csv,/home/ubuntu/tmp/nodes.csv" --skip-duplicate-nodes=true --high-io=true
  2. 登录 Neo4j 4.0

    neo4j> :use system
    neo4j> create database dataload1
    neo4j> show databases
    neo4j> :use dataload1
    neo4j> MATCH (n:STORE) return n limit 3;
  3. 再次运行 Neo4j-Admin import 创建另一个数据库。在此示例中,我们正在将批量数据导入到一个名为 dataload2 的新数据库中。节点标签是 STORE。

    $./bin/neo4j-admin import --database=dataload2 --nodes=:STORE="/home/ubuntu/tmp/header.csv,/home/ubuntu/tmp/nodes.csv" --skip-duplicate-nodes=true --high-io=true
  4. 登录 Neo4j 4.0

    neo4j> :use system
    neo4j> create database dataload2
    neo4j> show databases
    neo4j> :use dataload2
    neo4j> MATCH (n:STORE) return n limit 3;

Neo4j-Admin Import 集群

  1. 运行 Neo4j-Admin import 创建数据库。在此示例中,我们正在将批量数据导入到一个名为 dataload1 的新数据库中。节点标签是 STORE。请注意,您无需停止集群即可运行导入工具,但导入工具将消耗内存和 CPU 资源,这些资源可能在已运行 Neo4j 实例的服务器上不可用。

    $ ./bin/neo4j-admin import --database=dataload1 --nodes=:STORE="/home/ubuntu/tmp/header.csv,/home/ubuntu/tmp/nodes.csv" --skip-duplicate-nodes=true --high-io=true
  2. 将导入工具创建的存储复制到所有核心实例。您需要复制 <neo4j-home>/data/databases/dataload1<neo4j-home>/data/transactions/dataload1 的内容。

  3. 运行 CREATE DATABASE dataload1(在 Neo4j 4.0 上,该命令需要在当前作为该数据库领导者的实例上,针对系统数据库运行)。数据库在集群领导者上创建后,将传播到其他集群成员。

    neo4j> :use system
    neo4j> create database dataload1
    neo4j> show databases
    neo4j> :use dataload1
    neo4j> MATCH (n:STORE) return n limit 3;

Neo4j-Admin Restore

在此示例中,我们将备份 dataload1 数据库,并使用它来创建一个新的 dataload3 数据库。

$ ./bin/neo4j-admin backup --backup-dir=/home/ubuntu/tmp/backups --database=dataload1
$ ./bin/neo4j-admin restore --from=/home/ubuntu/tmp/backups/dataload1 --database=dataload3
neo4j> :use system
neo4j> create database dataload3
neo4j> show databases
neo4j> :use dataload3
neo4j> MATCH (n:STORE) return n limit 3;

如果您想使用 neo4j-admin restore 替换现有的 4.0 数据库,您将运行以下命令:

neo4j> :use system
neo4j> stop database dataload2
$ ./bin/neo4j-admin restore --from=/home/ubuntu/tmp/backups/dataload1 --database=dataload2 --force
neo4j> start database dataload2
neo4j> MATCH (n:STORE) return n limit 3;
© . All rights reserved.