Neo4j: 迁移MySQL的数据到Neo4j
目的: 用于社交关系的管理和维护. 社交关系是一种网状的关系图, 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 章节.
相关推荐
NeoBilly 2020-06-04
chyeers 2020-04-08
景泽元的编程 2020-03-23
whyname 2019-12-31
FFFSSSFFF 2019-12-09
DreamBoy 2019-11-13
钟柱 2017-01-22
迷题 2019-04-03
windtalkerneo 2017-06-19
daihongshu 2014-12-01
windtalkerneo 2017-01-22
Nicolelovesmath 2017-01-22
DreamBoy 2012-06-04
sushaning 2011-10-11
DreamBoy 2019-07-01
FFFSSSFFF 2019-07-01
sushaning 2019-07-01