网站设计与网页制作公司wordpress留言源码
文章目录
- 第1关:数据备份与恢复
 - 任务描述
 - 相关知识
 - 数据备份
 - 数据导入
 
- 编程要求
 - 测试说明
 - 答案
 - 测试前准备
 - Cypher 代码
 - 数据备份与导入
 
第1关:数据备份与恢复
任务描述
本关任务:熟练掌握数据备份与恢复。
相关知识
为了完成本关任务,你需要掌握:
- 数据备份;
 - 数据导入。
 
注意: 在进行数据导入与备份时需要将 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(将数据推入到数据库中)。

导入成功
编程要求
根据提示,在图形界面操作:
- 创建两个节点,节点标签为:
work,节点属性为:name,属性值为:xiaohu、xiaoli; - 将上面创建的节点数据备份为:
/root/backup/graph_backup.dump; - 导入备份文件,文件位置为:
/data/workspace/myshixun/step1/backup/graph.dump。 
测试说明
平台会对你编写的代码进行测试: 注意: 评测前,需检查 Neo4j 服务是否开启。
测试输入:无; 预期输出:
查询导入数据:
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等命令无法使用
# 修改 Bash Shell 在启动时加载的配置文件
vim ~/.bashrc
# 把最后两行删了之后,重新启动终端# 更新配置文件
source /etc/profile# 启动 Neo4j
neo4j start# 编辑 Cypher 代码
vim 1.cypher
 
Cypher 代码
create(:work {name: "xiaohu"})
create(:work {name: "xiaoli"})
 
数据备份与导入
# 启动脚本创建节点
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
