neo4j:我如何更改数据库存储位置?

41

你好,我使用自定义的Java应用程序创建了一个neo4j数据库,并尝试在配置文件中更改路径以连接到已创建的数据库。

在尝试通过webadmin控制台检查数据时,只有节点0可见(似乎数据库为空)。我尝试将相同的数据库导入到Gephi中,结果不为空。

此外,当我尝试切换回原始数据库时,在webadmin中只出现了节点0,而原始数据库也不为空。

我尝试按以下方式修改neo4j-server.propertied文件:

#*****************************************************************
# Administration client configuration
#*****************************************************************

# location of the servers round-robin database directory. possible values:
# - absolute path like /var/rrd
# - path relative to the server working directory like data/rrd
# - commented out, will default to the database data directory.
org.neo4j.server.webadmin.rrdb.location=data/rrd

# REST endpoint for the data API
# Note the / in the end is mandatory
#org.neo4j.server.webadmin.data.uri=/db/data/ #original database
org.neo4j.server.webadmin.data.uri="/db/mydatabase" #my database

# REST endpoint of the administration API (used by Webadmin)
org.neo4j.server.webadmin.management.uri=/db/manage/

# Low-level graph engine tuning file
org.neo4j.server.db.tuning.properties=conf/neo4j.properties

在切换回原始数据库之后(注释新路径并取消注释旧路径)

org.neo4j.server.webadmin.data.uri=/db/data/ #original database
#org.neo4j.server.webadmin.data.uri="/db/mydatabase" #my database

旧的那个似乎也是空的。

有人知道如何在哪里设置路径,以便在webadmin控制台中查看适当的数据库,并能够在所需的数据库上执行查询吗?

谢谢!

4个回答

32

在连接数据库之前,首先需要确认该数据库已经正确关闭(即应该不是运行中的数据库的镜像)。

如果您使用的是服务器模式,则需要从文件中设置数据库的位置。

conf/neo4j-server.properties

通过编辑下面的行。

org.neo4j.server.database.location=data/graph.db

如果你正在使用嵌入式Neo4j,你可以在实例化GraphDatabaseService时设置你的数据库位置,如下所示:

new EmbeddedGraphDatabase("Path To Db Directory");

2
我使用的是“neo4j-community-3.0.1”,但是没有conf/neo4j-server.properties这样的文件。有一个名为neo4j.conf的文件,但在该文件中没有org.neo4j.server.database.location=data/graph.db这样的属性。你能帮我切换数据库吗? - Anuj Dhiman
3
@anujdhiman 参考 https://github.com/neo4j/neo4j/wiki/Neo4j-3.0-changelog配置已删除设置 org.neo4j.server.database.location 新的设置 dbms.active_database 用于按名称指定要挂载的数据库 新的设置 dbms.directories.data 用于配置数据目录的路径 - Swapnil Sawant

4

如果其他人也无法找到此文件 - 在我的Ubuntu上,我在/etc/neo4j/neo4j.conf下找到了它。


4

1
尝试过像这样设置位置,但所需的数据库既无法从Java应用程序中看到,也无法从Webadmin控制台中看到。 - Niko Gamulin
1
@espeed 我使用的是“neo4j-community-3.0.1”版本,但是没有conf/neo4j-server.properties这个文件。有一个名为neo4j.conf的文件,但是在该文件中没有org.neo4j.server.database.location=data/graph.db这样的属性。你能帮我解决如何切换数据库的问题吗? - Anuj Dhiman

3
我已经通过编辑行来完成这个操作。
# dbms.active_database=graph.db

to

dbms.active_database=new.db

在文件 conf/neo4j.conf 中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接