(五)图数据库数neo4j据备份与恢复

时间:2022-09-04 18:01:15

1.备份方式

neo4j目前有三种备份方式:

(1)java在线备份,通过java程序可在neo4j启动状态下备份数据,也可远程备份(社区版本目前不支持)

(2)neo4j-admin工具,可在neo4j数据库关闭情况下本地备份

(3)neo4j-backup工具,可在neo4j启动状态下在线备份,可远程备份。

  采用以上备份之前,需要在conf/neo4j.conf中配置如下内容:

  dbms.backup.enabled=true

  dbms.backup.address=<主机名或者ip>:6362

2.备份操作

(1)neo4j-admin的操作,需要关闭数据库,不然会出现以下错误:

(五)图数据库数neo4j据备份与恢复

数据库关闭之后,执行neo4j-admin操作,如: neo4j-admin dump --database=graph.db --to=/home/neo4j/databackup/20190222.dump 表示将graph.db数据库备份到/home/neo4j/databackup目录下,文件名称为:20190222.dump。

(2)neo4j-admin的远程增量备份(数据库需运行),其中fallback-to-full=true表示当正能量备份发生错误时候,转换成全量备份。(好处是当前库是最新的)

neo4j-admin backup --from 192.168.0.10 --backup-dir=/home/neo4j/databackup/ --name=graph.db_zlbf  --fallback-to-full=true  --check- consistency=true

3.恢复

使用neo4j-admin命令进行恢复操作,恢复之前数据库需要关闭。

(1)dump文件恢复

neo4j-admin load --from=/home/neo4j/databackup/ 20190222.dump --database=graph.db --force

(2)备份数据文件恢复

neo4j-admin restore --from=/home/neo4j/databackup/graph.db_backup --database=graph.db  --froce

一个是load,一个是restore。

(3)一个简单的备份脚本,添加到linux的crontab下,定时执行。

time=date '+%y-%m-%d %H:%M:%S' 
file=date '+%y-%m-%d' 
echo $time 
echo $file 
echo ‘开始备份…’ 
/home/neo4j/neo4j-enterprise-2.3.1/bin/ neo4j-admin backup  --from 192.168.0.10 --backup-dir=/home/noe4j/databackup/$file --name=graph.db
echo ‘备份完成’

完~~~~