概述
Neo4j 迁移
neo4j-admin 工具支持在线/离线备份,在线备份需要收费。本章主要介绍离线版
docker-compose
创建两个容器用于测试备份/恢复
由于官方neo4j镜像的neo4j进程为主进程,关闭数据库容器就退出了。
而备份需要关闭数据库,因此需要使用对官方数据库进行如下改装,重新构建一个tag为neo4j:custom
的镜像。
- Dockerfile
FROM neo4j
ENV NEO4J_EDITION=x
RUN echo "nohup /startup/docker-entrypoint.sh neo4j > /var/lib/neo4j/hello.log 2>&1 &" > /var/lib/neo4j/hello.log
CMD tail -f /var/lib/neo4j/hello.log
使用命令docker build -t neo4j:custom .
构建镜像。
本地启动两个容器,一个作为迁移数据库,一个作为恢复数据库
version: "3.9"
services:
neo4j:
image: neo4j:custom
ports:
- 7474:7474
- 7687:7687
environment:
- NEO4J_AUTH=neo4j/neo4j2
volumes:
- ./data:/data
neo4j2:
image: neo4j:custom
ports:
- 7475:7474
- 7688:7687
environment:
- NEO4J_AUTH=neo4j/neo4j2
volumes:
- ./data2:/data
备份
运行进入容器
docker exec -it <backup_container_id> /bin/bash
停止数据库:
neo4j stop
备份数据库为dump文件
neo4j-admin dump --database=neo4j --to=neo4j-20220524.dump
恢复
切入到恢复数据库:
docker exec -it <restore_container_id> /bin/bash
恢复也需要停止数据库
neo4j stop
覆盖原有neo4j数据库:
# neo4j-admin load --from=neo4j-20220524.dump --database=neo4j --force
Selecting JVM - Version:11.0.15+10, Name:OpenJDK 64-Bit Server VM, Vendor:Oracle Corporation
Done: 36 files, 250.9MiB processed.
启动数据库:
nohup /startup/docker-entrypoint.sh neo4j > /var/lib/neo4j/hello.log 2>&1 &
Reference List
- neo4j Backup and restore planning
最后
以上就是受伤金毛为你收集整理的neo4j 备份与恢复(离线)的全部内容,希望文章能够帮你解决neo4j 备份与恢复(离线)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复