登录
首页 >  数据库 >  MySQL

Neo4j: 迁移MySQL的数据到Neo4j

来源:SegmentFault

时间:2023-01-20 12:30:25 483浏览 收藏

大家好,今天本人给大家带来文章《Neo4j: 迁移MySQL的数据到Neo4j》,文中内容主要涉及到MySQL、Java、数据库,如果你对数据库方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

目的: 用于社交关系的管理和维护. 社交关系是一种网状的关系图, RDBMS难于维护这样的数据.

安装和配置

需要满足下面几个条件

安装 APOC插件

clipboard.png

设置一下环境变量

NEO4J_INSTALL_PATH=/path/to/neo4j

安装插件和JDBC驱动
把mysql-connector-java-8.0.11.jar复制到Neo4j安装目录中的

plugins
子目录下.

cp mysql-connector-java-8.0.11.jar $NEO4J_INSTALL_PATH/plugins

重启Neo4j

如何使用

使用

apoc.load.driver
存储过程加载驱动

call apoc.load.driver('com.mysql.jdbc.Driver')

clipboard.png

执行MySQL查询, 并在Neo4j创建节点(顶点)和关系(边)

CALL apoc.load.jdbc(
  'jdbc:mysql://localhost/db?user=root&password=root&useUnicode=true&characterEncoding=utf8',
  'select * from users_copy'
) YIELD row
CREATE (n:User {uuid: row.uuid, user_id: row.user_id, name: row.name})

clipboard.png
说明: 调用 apoc.load.jdbc 存储过程连接到MySQL服务器, 数据库名称为 db, 用户名和密码都为 root, 连接到数据库后执行查询
select * from users
, 针对结果集的每一行, 产生一个 user 变量. 针对每个 user 变量, 执行 Cypher 语句:
CREATE (n:User {name: user.name})
把 User 节点插入到 Neo4j 中

错误处理

如果出现如下错误:

No suitable driver found for jdbc:mysql://localhost:3306/db?user=root&password=root

需要检查:

  • 是否正确安装了APOC插件
  • JDBC驱动是否安装到了正确的位置
  • 是不是没有重启Neo4j服务器.

参考资料

Neo4j 支持各种类型的数据源, 包括数据库, JSON, ElasticSearch, XML等. 参考APOC User Guide 的 Data Integration 章节.

到这里,我们也就讲完了《Neo4j: 迁移MySQL的数据到Neo4j》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于mysql的知识点!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表