使用apoc.export导出neo4j数据(graphml格式)

环境:
Os:Centos 7
neo4j:5.24.2
部署方式:docker

 

前置条件需要安装apoc插件,版本需要与neo4j保持一致
RETURN apoc.version() AS apocVersion;

 

1.查看docker部署的脚本文件

[root@host135 neo4j]# more start.sh 
#!/bin/bash
docker run -itd --name neo4j \
    --restart always \
    --publish=7474:7474 --publish=7687:7687 \
    --env NEO4J_AUTH=neo4j/neo4j123 \
    --volume=/home/middle/neo4j/data:/data \
    --volume=/home/middle/neo4j/logs:/logs \
    --volume=/home/middle/neo4j/plugins:/var/lib/neo4j/plugins\
    --volume=/home/middle/neo4j/conf:/var/lib/neo4j/conf\
    registry.cn-shenzhen.aliyuncs.com/hxlk8s/neo4j:5.24.2

 

我这里已经将容器的配置文件目录外挂到宿主机目录了:/home/middle/neo4j/conf
配置文件创建在目录下:/home/middle/neo4j/conf

 

2.创建apoc.conf文件
添加如下参数
vi /home/middle/neo4j/conf/apoc.conf
输入如下内容
apoc.export.file.enabled=true

 

3.登录容器查看配置文件是否加入到容器

[root@host135 conf]# docker exec -ti neo4j /bin/bash
root@8e9f92e011c6:/var/lib/neo4j# ls
LICENSE.txt   NOTICE.txt  UPGRADE.txt  certificates  data    labs  licenses  packaging_info  products
LICENSES.txt  README.txt  bin          conf          import  lib   logs      plugins         run
root@8e9f92e011c6:/var/lib/neo4j# cd conf
root@8e9f92e011c6:/var/lib/neo4j/conf# ls
apoc.conf  neo4j-admin.conf  neo4j.conf  server-logs.xml  user-logs.xml
root@8e9f92e011c6:/var/lib/neo4j/conf# more apoc.conf
apoc.export.file.enabled=true

 

4.重启容器
docker stop 8e9f92e011c6
docker start 8e9f92e011c6

 

5.执行导出备份

CALL apoc.export.graphml.all('neo4j_backup_20250711.graphml', {useTypes:true});

 

备份文件导出目录

文件导出所在目录/var/lib/neo4j/import
docker exec -ti neo4j /bin/bash
root@8e9f92e011c6:/var/lib/neo4j/import# pwd
/var/lib/neo4j/import
root@8e9f92e011c6:/var/lib/neo4j/import# ls
neo4j_backup_20250711.graphml

 

可以将/var/lib/neo4j/import外挂到缩主机,到时可用于恢复

说明:

1.这种方式导出的数据,用于恢复的话是不会恢复索引,约束的;

2.导出命令可以在安装了neo4j的客户端上执行,但是导出的文件还是自动生成在服务器上的import目录;

posted @ 2025-07-10 16:38  slnngk  阅读(85)  评论(0)    收藏  举报