使用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目录;
浙公网安备 33010602011771号