neo4j导出导入dump文件-3.5.34

87 阅读3分钟

导出

出现"unrecognized command: database"错误是因为在Neo4j 3.5.34版本中,neo4j-admin命令的语法与较新版本不同。对于3.x版本,正确的数据库导出命令应该是:

  1. 首先确保Neo4j服务已停止:
neo4j stop
  1. 使用以下命令格式进行导出:
neo4j-admin dump --database=graph.db --to=D:\casia\backup.dump

关键注意事项:

  • 3.x版本默认数据库名称为graph.db,而非新版的neo4j
  • 导出路径需要包含完整的文件名(如backup.dump),不能仅指定目录
  • 必须确保有足够的磁盘空间存放导出文件
  • 该操作需要数据库处于关闭状态

如果需要在新版本Neo4j中恢复这个备份,需要注意版本兼容性,建议使用相同或更高版本的Neo4j进行恢复操作。recognized database"在4j3.34版本中neo`命令语法与新版本。对于版本数据库命令:

首先确保o已停止bash 4j stop2.以下命令导出bash 4j-admindatabase= --tocasiaup.d```

关键: -3.x数据库``,版的4j -路径需要文件名(up.d不能仅 -确保足够的磁盘导出文件 该数据库关闭

在新o恢复这个需要注意性使用相同更高Neo进行恢复。

导入

在Neo4j 3.5.34版本的导入操作需使用neo4j-admin load命令,‌数据库必须处于关闭状态‌。具体流程如下:

🔧 导入步骤(针对Neo4j 3.5.x版本)

  1. 停止Neo4j服务‌(若未停止):
    neo4j-community-3.5.34\bin目录下执行:

    bashCopy Code
    neo4j stop
    

    ⚠️ 若提示neo4j not running但服务仍可访问(如浏览器能打开localhost:7474),需手动结束进程:

    bashCopy Code
    ps -ef | grep neo4j  # 查找进程ID
    kill -9 <进程ID>     # 强制终止:ml-citation{ref="5" data="citationList"}
    
  2. 执行导入命令‌:

    bashCopy Code
    neo4j-admin load --from=D:\casia\备份文件名.dump --database=graph.db --force
    
    • --from:指定备份文件完整路径(需包含文件名)617
    • --database:目标数据库名(3.x默认graph.db)58
    • --force:强制覆盖现有数据库610
  3. 重启服务‌:

    bashCopy Code
    neo4j start
    

⚠️ 关键注意事项

  1. 路径规范

    • 备份文件路径需为‌完整路径+文件名‌(如D:\casia\backup.dump),仅目录无效。
    • 避免路径含中文或特殊字符,防止读取失败14。
  2. 版本兼容性

    • 备份文件需由‌相同或更高版本‌的Neo4j生成,低版本恢复高版本备份可能失败。
    • Neo4j 4.x+版本默认数据库名为neo4j而非graph.db,跨版本迁移需调整配置。
  3. 权限与空间

    • 确保运行用户有‌写入数据库目录‌的权限(Windows需管理员权限运行CMD)。
    • 目标存储位置需有‌足够磁盘空间‌容纳恢复后的数据17。

🔄 迁移场景扩展

若需将数据导入‌新版Neo4j‌(如4.x或5.x):

  1. 在新版本中创建空数据库(默认名neo4j)12;
  2. 修改导入命令的--database参数为neo4j
  3. 若版本跨度大,建议通过CSV中介格式迁移49。

操作前务必‌备份目标数据库‌,避免数据意外覆盖。若导入后数据异常,检查logs/neo4j.log日志定位错误816。