
文章目录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-uneo4j-p${password}# 执行如上语句# 查看创建的数据MATCH(n)RETURN n LIMIT50;# 如果你想查看所有节点的标签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表示在导出时保留类型信息。noticeneo4j默认的备份路径默认从/var/lib/neo4j/import开始3、 模拟容器故障删除容器docker compose down4、 恢复操作// 恢复 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中找到备份文件