neo4j 数据迁移有很多种方案,这里选择dump文件的方式迁移,该方式需要停止neo4j 服务,然后执行迁移命令,但是使用官方镜像部署的neo4j,进入容器内使用neo4j stop会提示服务没有运行。

然后使用ps -ef | grep找到neo4j 服务进程kill 掉,会发现容器直接退出了。

解决方法

  1. 准备好迁移的文件dump文件,放置到运行着neo4j容器挂载映射的宿主机data目录下,准备迁移文件命令:

    neo4j-admin  dump --database=graph.db --to=/soft/graph.db.dump
    
  2. 启动一个新的临时neo4j 容器但是别挂载配置文件只挂载数据目录,这样启动的容器neo4j服务是没有启动成功的,启动命令:

    sudo docker run -v /data/neo4j/data:/data --name neo4j-container-dump -it neo4j:3.5.26 /bin/bash
    
  3. 然后停止掉运行着neo4j 服务的容器(a39b90ac99a3):

    docker stop a39b90ac99a3
    
  4. 然后进入临时容器,执行导入命令:

    neo4j-admin load --from=/data/graph.db.dump --database=graph.db --force 
    
  5. 退出临时容器,启动原neo4j容器,打开web界面验证数据导入成功

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐