neo4j多数据库并行运行实现

本文介绍了如何在Neo4jDesktop环境下创建并管理多个图数据库实例,包括修改端口配置、以服务形式运行数据库,以及解决Java版本不匹配问题。详细步骤包括新建数据库、修改配置文件、安装服务以及调整JDK路径,确保不同数据库能独立运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近使用py2neo操作neo4j图数据库,想要同时操作多个图,但neo4j当前每个数据库只能支持一个graph,即使我们数据库下建立多个图,也只能操作其中的某一个。(顺便说下,选择具体数据库中具体的语句为:

graph=Graph('http://localhost:7474',auth=("username", "password"),name='databasename')

因此,只能通过访问多个数据库来实现同时操作多个图的效果。

一、实现原理

系统上安装了neo4j,无论是desktop版或community版,会默认占用7474端口作为访问默认窗口,因此需要另外新建数据库,且将其端口参数配置成其他可用端口即可。

二、实现过程

如果是neo4j community版的,可以尝试根据下面链接方法来实现。

同一台机器中启动多个neo4j数据库 - 灰信网(软件开发博客聚合)

本人使用的neo4j desktop版本,因此接下来以neo4j desktop进行讲解。

(一)建新数据库

 使用neo4j desktop建立新数据库比较容易,只需要新建项目,添加数据库(可选择版本)即可。

(二)修改端口

配置文件在 数据库所在文件夹下conf\neo4j.conf中(通过界面数据库的setting也可以进入),主要修改以下语句:

# Bolt connector
dbms.connector.bolt.enabled=true
#dbms.connector.bolt.tls_level=DISABLED
dbms.connector.bolt.listen_address=:7687#解除注释,修改端口号
dbms.connector.bolt.advertised_address=:7687#解除注释,修改端口号

# HTTP Connector. There can be zero or one HTTP connectors.
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=:7474#解除注释,修改端口号
dbms.connector.http.advertised_address=:7474#解除注释,修改端口号

(三)数据库运行

端口修改后,为同时运行多个数据库提供了可能。但desktop的界面不允许你同时运行多个数据库,即使端口不一样也不行,所以需要将数据库以服务的形式运行,具体操作如下:

1.进入数据库所在文件夹的bin中,打开命令行终端(就是cmd那个),

2.输入neo4j install-service,安装服务功能。

3.输入neo4j start,运行服务。

这样在系统服务列表中可以看到数据库运行了,停止的话在服务中停止即可。

三、neo4j和JDK

neo4j数据库服务的运行需要java的JDK进行支持,且不同版本需要的JDK版本不一样,可以看下面链接介绍:

neo4j与jdk版本_Zoooozz的博客-优快云博客_neo4j和jdk版本对应

(一)问题

neo4j desktop自带了java的虚拟环境,建立不同版本数据库时,也会配置好所需的JDK,所以能够正常运行。

但是一旦将neo4j desktop中的数据库用服务的方式运行,无法直接调用neo4j desktop内对应的JDK,只会调用默认环境配置下的JDK,此时可能出现版本不一致的情况,提示为:

ERROR! Neo4j cannot be started using java version 1.8.0_211

因此,需要重新配置好数据库所需要的JDK路径。

(二)解决

1.neo4j  desktop中java文件所在路径为neo4j\data\distributions\java,记录对应你需要的jdk版本所在路径,这里我使用的是jdk11

 2.修改运行的配置文件,路径为数据库所在文件夹下bin\Neo4j-Management

 将jJDK路径配置上去即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值