资讯专栏INFORMATION COLUMN

Neo4j: 迁移MySQL的数据到Neo4j

wuyangchun / 3674人阅读

摘要:目的用于社交关系的管理和维护社交关系是一种网状的关系图难于维护这样的数据安装和配置需要满足下面几个条件安装插件安装驱动安装插件设置一下环境变量安装插件和驱动把复制到安装目录中的子目录下重启如何使用使用存储过程加载驱动执行查询

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

需要满足下面几个条件

安装 neo4j-apoc-procedures插件

安装 MySQL JDBC驱动: https://dev.mysql.com/get/Dow...

安装 APOC插件

设置一下环境变量

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")

执行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})

说明: 调用 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 章节.

How do I use Cypher to connect to a RDBMS using JDBC

https://neo4j-contrib.github....

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/17725.html

相关文章

  • Neo4j: 迁移MySQL数据Neo4j

    摘要:目的用于社交关系的管理和维护社交关系是一种网状的关系图难于维护这样的数据安装和配置需要满足下面几个条件安装插件安装驱动安装插件设置一下环境变量安装插件和驱动把复制到安装目录中的子目录下重启如何使用使用存储过程加载驱动执行查询 目的: 用于社交关系的管理和维护. 社交关系是一种网状的关系图, RDBMS难于维护这样的数据. 安装和配置 需要满足下面几个条件 安装 neo4j-apoc-...

    Chaz 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<