当前位置: 首页 > news >正文

【Docker compose】Neo4j 数据备份与恢复

文章目录

      • 1、 创建示例数据
      • 2、备份操作
      • 3、 模拟容器故障:删除容器
      • 4、 恢复操作

本文使用Neo4j的插件apoc来实现数据备份与恢复

1、 创建示例数据

// 创建人物节点
CREATE (a:Person {name: 'Alice', age: 30})
CREATE (b:Person {name: 'Bob', age: 25})
CREATE (c:Person {name: 'Charlie', age: 35})

// 创建关系
CREATE (a)-[:FRIEND_WITH]->(b)
CREATE (b)-[:FRIEND_WITH]->(c)
CREATE (a)-[:FRIEND_WITH]->(c)

// 创建地点节点
CREATE (d:Place {name: 'New York'})
CREATE (e:Place {name: 'Los Angeles'})
CREATE (f:Place {name: 'Chicago'})

// 创建事件节点
CREATE (g:Event {name: 'Concert', date: '2025-05-15'})
CREATE (h:Event {name: 'Conference', date: '2025-06-20'})

// 关联人物和事件
CREATE (a)-[:ATTENDS]->(g)
CREATE (b)-[:ATTENDS]->(h)
CREATE (c)-[:ATTENDS]->(g)
  • FRIEND_WITH:表示朋友关系。
  • LIVES_IN:表示人物居住地点。
  • ATTENDS:表示人物参加的事件。

如果页面无法访问,在容器中执行:

# 链接终端
cypher-shell -u neo4j -p ${password}
# 执行如上语句

# 查看创建的数据
MATCH (n) RETURN n LIMIT 50;
# 如果你想查看所有节点的标签:
CALL db.labels();

 

2、备份操作

// 备份所有数据为 GraphML 格式
CALL apoc.export.graphml.all('neo4j_backup.graphml', {useTypes:true});
  • CALL apoc.export.graphml.all 用于将数据库中所有数据导出为 neo4j_backup.graphml
  • useTypes:true 表示在导出时保留类型信息。

notice:
neo4j默认的备份路径默认从/var/lib/neo4j/import开始

在这里插入图片描述

 

3、 模拟容器故障:删除容器

docker compose down

 

4、 恢复操作

// 恢复 GraphML 文件
CALL apoc.import.graphml('neo4j_backup.graphml', {batchSize:1000, readLabels:true})
  • CALL apoc.import.graphml 用于从指定的 GraphML 文件恢复数据。
  • batchSize:1000 设置每次导入的批量大小为 1000 条。
  • readLabels:true 表示读取并应用标签。

说明:neo4j会从默认的备份路径(/var/lib/neo4j/import)中找到备份文件

在这里插入图片描述

 

http://www.dtcms.com/a/69975.html

相关文章:

  • 插入排序c++
  • 【BP神经网络】实战
  • PHP语言的区块链扩展性
  • 大模型后训练+微调
  • MAC地址IP地址如何转换?
  • LuaJIT 学习(5)—— string.buffer 库
  • 梧桐:开发者的命令行效率应用
  • 打开的idea项目maven不生效
  • C++20 的 `std::remove_cvref`:简化类型处理的利器
  • Python扑克牌小游戏
  • Redis哨兵:从看门狗到导盲犬的进化史
  • C#中运算符重载‌你会用吗?
  • Day16:最小的k个数
  • [CISSP] [3] 人员安全与社会工程
  • 栈刷题+总结
  • 全概公式和贝叶斯公式
  • 机器学习中的 K-均值聚类算法及其优缺点。
  • 如何在AVL树中高效插入并保持平衡:一步步掌握旋转与平衡因子 —— 旋转篇
  • 【.Net 9下使用Tensorflow.net---通过LSTM实现中文情感分析】
  • PentestGPT 下载
  • RHCE(RHCSA复习:npm、dnf、源码安装实验)
  • python编写一个脚本删除txt文件中所有### ** 和 ---
  • 深入解析操作系统进程控制:从地址空间到实战应用
  • 【Linux】UDP协议与TCP协议
  • 【教程】如何学习 C++
  • YOLO优化之扫描融合模块(SimVSS Block)
  • windows第十三章 GDI绘图技术
  • CUDA编程之内存
  • axios的二次封装
  • nginx配置转发到另一个网站或另一台服务器的服务