neo4j 数据迁移有很多种方案,这里选择dump文件的方式迁移,该方式需要停止neo4j 服务,然后执行迁移命令,但是使用官方镜像部署的neo4j,进入容器内使用neo4j stop
会提示服务没有运行。
然后使用ps -ef | grep
找到neo4j 服务进程kill 掉,会发现容器直接退出了。
解决方法:
-
准备好迁移的文件dump文件,放置到运行着neo4j容器挂载映射的宿主机data目录下,准备迁移文件命令:
neo4j-admin dump --database=graph.db --to=/soft/graph.db.dump
-
启动一个新的临时neo4j 容器但是别挂载配置文件,只挂载数据目录,这样启动的容器neo4j服务是没有启动成功的,启动命令:
sudo docker run -v /data/neo4j/data:/data --name neo4j-container-dump -it neo4j:3.5.26 /bin/bash
-
然后停止掉运行着neo4j 服务的容器(a39b90ac99a3):
docker stop a39b90ac99a3
-
然后进入临时容器,执行导入命令:
neo4j-admin load --from=/data/graph.db.dump --database=graph.db --force
-
退出临时容器,启动原neo4j容器,打开web界面验证数据导入成功