1、準備
- 下載apoc插件:apoc-3.5.0.15-all.jar
下載地址:https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/3.4.0.7
注意:apoc版本必須和你Neo4j的版本差不多,例如你的Neo4j版本是3.5.x,apoc的版本也要是3.5.x左右
- 下載MySQL驅動 mysql-connector-java-8.0.22.jar
如果你是寫Java的,可以在本地maven倉庫找找


將這兩個插件放在neo4j安裝目錄下的plugins檔案夾下面
2、配置Neo4j可以使用apoc.*
在Neo4j組態檔XXXX\neo4j-community-3.5.5\conf\neo4j.conf中搜索dbms.security.procedures.unrestricted,在后面加上apoc.*,中間用英文逗號分隔,如下:
dbms.security.procedures.unrestricted=my.extensions.example,my.procedures.*,apoc.*
較完整的 neo4j.conf 配置:
點擊查看代碼
dbms.directories.import=import
dbms.security.auth_enabled=true
# Bolt協議埠
dbms.connector.bolt.enabled=true
#dbms.connector.bolt.tls_level=OPTIONAL
dbms.connector.bolt.listen_address=:7687
# HTTP Connector. There can be zero or one HTTP connectors.
# HTTP協議埠
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=:7474
# HTTPS Connector. There can be zero or one HTTPS connectors.
dbms.connector.https.enabled=true
dbms.connector.https.listen_address=:7473
dbms.tx_log.rotation.retention_policy=1 days
dbms.security.procedures.unrestricted=my.extensions.example,my.procedures.*,apoc.*,rxx.*
dbms.jvm.additional=-XX:+UseG1GC
dbms.jvm.additional=-XX:-OmitStackTraceInFastThrow
dbms.jvm.additional=-XX:+AlwaysPreTouch
dbms.jvm.additional=-XX:+UnlockExperimentalVMOptions
dbms.jvm.additional=-XX:+TrustFinalNonStaticFields
dbms.jvm.additional=-XX:+DisableExplicitGC
dbms.jvm.additional=-Djdk.tls.ephemeralDHKeySize=2048
dbms.jvm.additional=-Djdk.tls.rejectClientInitiatedRenegotiation=true
dbms.windows_service_name=neo4j
dbms.jvm.additional=-Dunsupported.dbms.udc.source=zip
3、使用
在Neo4j瀏覽器輸入call apoc.load.driver('com.mysql.jdbc.Driver')加載驅動:

然后就可以使用Neo4j連接MySQL資料庫查詢資料了

示例:
CALL apoc.periodic.iterate(
'CALL apoc.load.jdbc("jdbc:mysql://localhost:3306/neo4jtest?user=root&password=123456","select * from student") YIELD row ',
'CREATE (s:Student) SET s =row',
{ batchSize:10000, parallel:true}
)
- apoc插件功能很強大,使用方法:https://neo4j.com/labs/apoc/4.0/overview/apoc.periodic/apoc.periodic.iterate/
- 如果是表名字,則會把這個表的所有欄位的資料,抽到圖庫,圖庫節點屬性key就是MySQL表的欄位名,大小寫和MySQL的欄位一致
- 如果是查詢陳述句,則會把查詢來的結果抽到圖庫,例如select name from student,則圖庫的節點只有一個name屬性和圖庫自己自動加的id
本文來自博客園,作者:祖國滴粑粑花,轉載請注明原文鏈接:https://www.cnblogs.com/rxx1005/p/15786471.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/413171.html
標籤:NoSQL
上一篇:MongoDB Security
