You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Neo4j Dump备份:如何正确指定数据库参数?

解决Neo4j Admin Dump命令中<database>参数的困惑

我来帮你理清这个问题——你遇到的核心是没搞清楚Neo4j中数据库的逻辑名称和存储路径的区别,这也是很多刚接触新版本Neo4j的开发者容易踩的坑。

首先明确几个关键知识点:

  • neo4j-admin dump 要求的<database>是数据库的逻辑名称,不是磁盘上的文件夹路径(比如旧版本里的graph.db这种存储目录名已经不再作为参数使用了)。
  • 如果你用的是Neo4j 4.x及以上版本,默认数据库的逻辑名称是neo4j,而非graph.db(graph.db是3.x及更早版本的存储目录命名方式)。

步骤1:确认你的数据库逻辑名称

你可以通过两种简单方式查看:

  1. 打开Neo4j的配置文件neo4j.conf,找到dbms.default_database配置项,它的值就是默认数据库的逻辑名称(绝大多数情况下是neo4j)。
  2. 如果Neo4j服务正在运行,直接在Neo4j Browser里执行Cypher查询:
    SHOW DATABASES;
    
    这个查询会列出所有已存在的数据库及其运行状态,你要找的就是需要备份的目标数据库名称。

步骤2:正确执行Dump命令

假设你的数据库逻辑名称是neo4j,想要把备份文件存到/home/backups/my-neo4j-backup.dump,那么正确的命令应该是:

neo4j-admin dump --database=neo4j --to=/home/backups/my-neo4j-backup.dump

常见坑点提醒

  • 绝对不要填存储路径:比如你如果输入/var/lib/neo4j/data/databases/neo4j这种磁盘路径,肯定会触发报错,因为命令只接受逻辑名称,不接受物理路径。
  • 旧版本兼容问题:如果是从Neo4j 3.x升级过来的,磁盘上可能还保留着graph.db目录,但在4.x+版本中,这个目录对应的逻辑名称依然是neo4j,所以参数还是要填neo4j。
  • 服务状态建议:执行备份时,最好让目标数据库处于停止状态,或者确保没有写入操作正在进行,否则可能导致备份不完整。如果必须在运行状态下备份,可以加上--force参数强制执行,但这不是最优选择,停服备份更安全。

如果还是遇到问题,可以把SHOW DATABASES的输出或者配置文件里的相关项贴出来,我再帮你进一步排查~

内容的提问来源于stack exchange,提问作者EFL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:15:44