迁移数据从Mysql到Neo4j数据库

前言:看了几篇别人的教程其中出现一些错误,记录一下最终成功的方法。
参考教程:
迁移MySQL的数据到Neo4j
neo4j安装APOC插件

方法:

一:下载所需jar包

apoc下载地址
mysql-connector-java下载地址
放在下图目录下,注意:我的Neo4j版本是3.5.26,对应的apoc版本也是3.5.*,下载过参考教程里的版本,启动服务是时,服务无法启动。
在这里插入图片描述

二、修改配置文件

在这里插入图片描述
①修改

# Whether requests to Neo4j are authenticated.
# To disable authentication, uncomment this line
#https://www.cnblogs.com/jpfss/p/11365342.html
dbms.security.auth_enabled=true

②添加

#文初
dbms.security.procedures.unrestricted=apoc.*
apoc.import.file.enabled=true
#文末
dbms.memory.pagecache.size=10g
dbms.memory.heap.initial_size=1g
dbms.memory.heap.max_size=4g

三、重启服务

cmd命令行进入如下路径执行:

neo4j restart

在这里插入图片描述

四、查看apoc是否安装成功打开

打开http://localhost:7474/

return apoc.version()

在这里插入图片描述
出现版本号说明插件安装成功!

五、迁移数据

(可选:清空neo4j数据库数据
我的数据库中有两个表,一个存储着节点信息,一个存储着边(关系)的信息。

5.1迁移节点

节点表:

在这里插入图片描述
在Neo4j中执行的语句:

CALL apoc.load.jdbc('jdbc:mysql://localhost:3306/数据库名?user=root&password=root&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC', 'SELECT * FROM `node表名`') YIELD row CREATE (n:Node {id: row.id, name: row.name, classname: row.classname})

Node表示节点名称(类型),可以为其他,如Person等。
属性:{id: row.id, name: row.name, classname: row.classname}

5.2迁移关系

关系表:
在这里插入图片描述

CALL apoc.load.jdbc('jdbc:mysql://localhost:3306/数据库名?user=root&password=root&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC', 'SELECT * FROM `link表名`') YIELD row match (n:Node {id: row.from_node_id}),(m:Node{id:row.to_node_id}) create (n)-[r:from_to{id:row.id,classname:row.classname,kind:row.kind,from_node_id:row.from_node_id,to_node_id:row.to_node_id}]->(m)

大功告成!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值