批量导入/备份到正在运行的 4.0 实例
Neo4j 4.0 允许多个数据库同时运行。您可以使用 neo4j-admin import
或 neo4j-admin restore
将数据库导入或还原到正在运行的 4.0 实例上的新数据库中。
Neo4j-Admin 导入独立服务器
-
运行 Neo4j-Admin 导入以创建数据库。在此示例中,我们正在将批量导入到名为 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
-
登录 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 导入以创建另一个数据库。在此示例中,我们正在将批量导入到名为 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
-
登录 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 导入集群
-
运行 Neo4j-Admin 导入以创建数据库。在此示例中,我们正在将批量导入到名为 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
-
将导入工具创建的存储复制到所有核心实例。您需要复制
<neo4j-home>/data/databases/dataload1
和<neo4j-home>/data/transactions/dataload1
的内容。 -
运行
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 还原
在此示例中,我们将备份 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;
此页面是否有帮助?