导出
出现"unrecognized command: database"错误是因为在Neo4j 3.5.34版本中,neo4j-admin命令的语法与较新版本不同。对于3.x版本,正确的数据库导出命令应该是:
- 首先确保Neo4j服务已停止:
neo4j stop
- 使用以下命令格式进行导出:
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版本)
-
停止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"} -
执行导入命令:
bashCopy Code neo4j-admin load --from=D:\casia\备份文件名.dump --database=graph.db --force--from:指定备份文件完整路径(需包含文件名)617--database:目标数据库名(3.x默认graph.db)58--force:强制覆盖现有数据库610
-
重启服务:
bashCopy Code neo4j start
⚠️ 关键注意事项
-
路径规范
- 备份文件路径需为完整路径+文件名(如
D:\casia\backup.dump),仅目录无效。 - 避免路径含中文或特殊字符,防止读取失败14。
- 备份文件路径需为完整路径+文件名(如
-
版本兼容性
- 备份文件需由相同或更高版本的Neo4j生成,低版本恢复高版本备份可能失败。
- Neo4j 4.x+版本默认数据库名为
neo4j而非graph.db,跨版本迁移需调整配置。
-
权限与空间
- 确保运行用户有写入数据库目录的权限(Windows需管理员权限运行CMD)。
- 目标存储位置需有足够磁盘空间容纳恢复后的数据17。
🔄 迁移场景扩展
若需将数据导入新版Neo4j(如4.x或5.x):
- 在新版本中创建空数据库(默认名
neo4j)12; - 修改导入命令的
--database参数为neo4j; - 若版本跨度大,建议通过CSV中介格式迁移49。
操作前务必备份目标数据库,避免数据意外覆盖。若导入后数据异常,检查
logs/neo4j.log日志定位错误816。