批量导入/备份到运行中的 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;
此页面有帮助吗?