Neo4j 数据库管理 数据备份与恢复(头歌)

文章目录

第1关:数据备份与恢复

任务描述

本关任务:熟练掌握数据备份与恢复。

相关知识

为了完成本关任务,你需要掌握:

  1. 数据备份;
  2. 数据导入。

注意: 在进行数据导入与备份时需要将 neo4j 停止。

导入失败

数据备份

需要先将 neo4j 服务关闭:neo4j stop

数据备份需要放在一个存在的文件夹中,所以我们在备份时需要检测备份位置是否存在。

备份代码: neo4j-admin dump --database=graph.db --to=/neo4j/backup/graph_backup.dump

  • 代码解释: dump(备份数据);

--database=需要备份的数据库

--to=备份文件的位置

备份成功

数据导入

我们也需要先将 neo4j 服务关闭:neo4j stop

数据导入代码: neo4j-admin load --from=/neo4j/backup/graph_backup.dump --database=graph.db --force

  • 代码解释: load(导入数据);

--from=备份文件位置

--database=导入的数据库位置

--force(将数据推入到数据库中)。

导入成功

编程要求

根据提示,在图形界面操作:

  1. 创建两个节点,节点标签为:work,节点属性为:name,属性值为:xiaohuxiaoli
  2. 将上面创建的节点数据备份为:/root/backup/graph_backup.dump
  3. 导入备份文件,文件位置为:/data/workspace/myshixun/step1/backup/graph.dump

测试说明

平台会对你编写的代码进行测试: 注意: 评测前,需检查 Neo4j 服务是否开启。

测试输入:; 预期输出:

sh 复制代码
查询导入数据:
n
(:test {name: "champion"})
(:test {name: "S12"})
(:test {name: "oneDay"})
查询备份文件的数据:
n
(:work {name: "xiaohu"})
(:work {name: "xiaoli"})

答案

测试前准备

bashrc 文件定义了 neo4j-4.x 版本的环境变量,而JDK 版本是 1.8.201,所以需要换成 neo4j-3.x(应该是出题者的失误下错版本了又忘记把这个环境变量删掉),这里删掉或者换成3.x的文件路径,否则 neo4j、neo4j-admin 等命令无法使用

sh 复制代码
# 修改 Bash Shell 在启动时加载的配置文件
vim ~/.bashrc
# 把最后两行删了之后,重新启动终端

# 更新配置文件
source /etc/profile

# 启动 Neo4j
neo4j start

# 编辑 Cypher 代码
vim 1.cypher

Cypher 代码

sql 复制代码
create(:work {name: "xiaohu"})
create(:work {name: "xiaoli"})

数据备份与导入

sh 复制代码
# 启动脚本创建节点
cat 1.cypher | cypher-shell -u neo4j -p 123456 --format plain

# 将 neo4j 服务关闭
neo4j stop

# 创建目录 backup 用于数据备份
mkdir /root/backup

# 数据备份
neo4j-admin dump --database=graph.db --to=/root/backup/graph_backup.dump

# 数据导入
neo4j-admin load --from=/data/workspace/myshixun/step1/backup/graph.dump --database=graph.db --force

# 启动 Neo4j
neo4j start
相关推荐
TGB-Earnest1 小时前
【py脚本+logstash+es实现自动化检测工具】
大数据·elasticsearch·自动化
大圣数据星球3 小时前
Fluss 写入数据湖实战
大数据·设计模式·flink
suweijie7683 小时前
SpringCloudAlibaba | Sentinel从基础到进阶
java·大数据·sentinel
Data跳动9 小时前
Spark内存都消耗在哪里了?
大数据·分布式·spark
woshiabc11110 小时前
windows安装Elasticsearch及增删改查操作
大数据·elasticsearch·搜索引擎
lucky_syq10 小时前
Saprk和Flink的区别
大数据·flink
lucky_syq10 小时前
流式处理,为什么Flink比Spark Streaming好?
大数据·flink·spark
袋鼠云数栈10 小时前
深入浅出Flink CEP丨如何通过Flink SQL作业动态更新Flink CEP作业
大数据
404NooFound10 小时前
Python轻量级NoSQL数据库TinyDB
开发语言·python·nosql
小白学大数据12 小时前
如何使用Selenium处理JavaScript动态加载的内容?
大数据·javascript·爬虫·selenium·测试工具