如何在Docker中运行的Neo4j加载dump文件?社区版停库失败求助
Neo4j社区版导入dump文件失败问题解决
问题情况
- 操作步骤:
- 复制dump文件到运行中的Neo4j容器:
docker cp ./db.dump a2198b1e36e5:/var/lib/neo4j/import/db.dump - 执行加载命令:
docker run --interactive --tty --rm \ --volume=$HOME/neo4j/data:/data \ --volume=$HOME/neo4j/backups:/backups \ neo4j/neo4j-admin:4.4.9 \ neo4j-admin load --database=neo4j --from=/var/lib/neo4j/import/db.dump
- 复制dump文件到运行中的Neo4j容器:
- 遇到的错误:
- 加载命令报错:必须停止数据库才能加载dump文件
- 尝试用
STOP DATABASE neo4j;停止数据库失败,社区版报错:不支持的管理命令。
解决步骤
Neo4j社区版不支持在线启停数据库的管理命令,必须直接操作容器,同时要确保dump文件能被neo4j-admin容器访问到:
停止目标Neo4j容器
docker stop a2198b1e36e5(替换为你的容器ID或名称)
调整dump文件路径并执行加载命令
之前的neo4j-admin容器没有挂载原Neo4j容器的/var/lib/neo4j/import目录,会找不到文件。把dump文件移到本地已挂载的backups目录,再执行加载:# 将本地dump文件移到backups目录 mv ./db.dump $HOME/neo4j/backups/ # 执行加载,--force参数用于覆盖已有数据库(按需使用) docker run --interactive --tty --rm \ --volume=$HOME/neo4j/data:/data \ --volume=$HOME/neo4j/backups:/backups \ neo4j-admin:4.4.9 \ neo4j-admin load --database=neo4j --from=/backups/db.dump --force加载完成后重启Neo4j容器
docker start a2198b1e36e5
内容的提问来源于stack exchange,提问作者SamuraiJack
相关产品推荐
相关产品推荐

