Neo4j community版备份方案

听说文章开头弄张图片会更好看


概述

所谓备份,就是通过特定的办法,讲数据库的必要文件复制到转储设备的过程,数据库备份可以保证数据可靠、安全。

1. 使数据库的失效次数减到最少,从而使数据库保持最大的可用性.

2. 当数据库失效后,使恢复时间减到最少,从而使恢复的效益达到最高.

3. 当数据库失效后,确保尽量少的数据丢失或根本不丢失,从而使数据具有最大的可恢复性.  

Neo4j 是时下非常流行的图数据库,但社区版却存在诸多功能限制。这里主机简述其备份方式。(如果是土豪,使用企业版可忽略此文)

备份方式

方式1:停机备份

neo4j进行备份,可以执行

bin/neo4j-admin backup --backup-dir=/mnt/backups/neo4j --database=neo4j

此备份方式为物理备份,对数据库的性能影响较少。但是社区版却不支持在一热备,需要对其进行停机。如果业务可以接受一定时间的停要的话,可以用此方法备份,省时省力。

neo4j社区版不能做到在线热备,不支持物理备份。若想进行备份。

方式2:逻辑备份,这也是本文着重介绍的方式

添加配置

neo4j.conf 文件加上:

dbms.security.procedures.unrestricted=apoc.trigger.,apoc.meta.

dbms.security.procedures.whitelist=apoc.coll.,apoc.load.,apoc.*

dbms.directories.plugins=/opt/neo4j-community-4.2.3/plugins/

apoc.conf 配置文件添加(该文件放至neo4j.conf同级目录下)

apoc.export.file.enabled=true

apoc.import.file.use_neo4j_config=false

下载插件

下载插件至apoc-4.2.0.2-all.jar  至 /opt/neo4j-community-4.2.3/plugins/ 目录下

cd  /opt/neo4j-community-4.2.3/plugins/

wget https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/latest

重启Neo4j

执行导出数据语句

CALL apoc.export.cypher.all("/data/all.cypher", {

    format: "cypher-shell",

    useOptimizations: {type: "UNWIND_BATCH", unwindBatchSize: 20}

})

YIELD file, batches, source, format, nodes, relationships, properties, time, rows, batchSize

RETURN file, batches, source, format, nodes, relationships, properties, time, rows, batchSize;

注:

数据文件会导出至数据库服务器/data/all.cypher 目录下。所在目录下

数据恢复:

cat /data/all.cypher | ./bin/cypher-shell -a neo4j://127.0.0.1:6787  -u neo4j -p xxooxxoo --format verbose

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容