编程那些事

neo4j简单的备份与还原

2019-03-19  本文已影响106人  redcohen

在规模还比较小的时候(规模大以后当然更需要备份,不过需要更加系统化的备份策略),特别是在做原型探索时期,数据库会经常有'写'操作。为了避免手误以及版本回滚,最好定时不定时进行数据库的备份。

neo4j数据库的备份还原分为两种: offline 和 online。

Offline backup
- dump
Dump a database into a single-file archive.
- load
Load a database from an archive created with the dump command.

Online backup
- backup
Perform an online backup from a running Neo4j enterprise server.
- restore
Restore a backed up database.

今天我们介绍的是offline的。neo4j本身自带了dump/load功能,相当于备份/还原。

命令如下:

neo4j-admin dump --database=<database> --to=<destination-path>
neo4j-admin load --from=<archive-path> --database=<database> [–force]

建议执行步骤

以下执行命令,均以neo4j的安装目录为当前目录。试验版本为:enterprise-3.5.3

备份过程

bin/neo4j stop

有时候neo4j可能会因一次性查询数据太多而挂掉。也可以进入neo4j目录bin下。
cd到bin目录下,执行启动命令:./neo4j stop
另外neo4j还有其他命令,执行方式相同:neo4j { console | start | stop | restart | status }
如果,./neo4j stop不能停止neo4j,
用kill -s 9 强制杀掉进程。
后期需要启动,调用./neo4j start 启动neo4j。

   bin/neo4j-admin dump --database=graph.db --to=/somepath/20190319-1450.dump

--database=graph.db这个参数后面跟的graph.db不是一个路径,在我当前实验的机器上,路径是neo4j安装目录/data/databases/graph.db/这个目录。里面目前有如下内容:

graph.db目录下的文件

--to后面的/somepath/20190319-1450.dump是一个你需要制定的存放dump文件的地址。

dump文件

因为我现在实验用的这个图数据库规模较小,node在万级,relationship在10万级。因此,dump文件才8M多。

还原过程

如果是拷贝到另一台机器,进行数据库复原。也是先关闭服务,再执行load操作。

bin/neo4j-admin load --from=/savingpath/20190319-1450.dump --database=graph.db --force
bin/neo4j-admin start

或者

bin/neo4j console

如果数据有问题,可以到neo4j.conf文件中,查看dbms.allow_format_migration=true这行是否生效,使之生效。

好了,这就是最简单的备份还原过程。以后再写写online的备份。

上一篇 下一篇

猜你喜欢

热点阅读