我是靠谱客的博主 受伤金毛,最近开发中收集的这篇文章主要介绍neo4j 备份与恢复(离线),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

  1. neo4j Backup and restore planning

最后

以上就是受伤金毛为你收集整理的neo4j 备份与恢复(离线)的全部内容,希望文章能够帮你解决neo4j 备份与恢复(离线)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部