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

Posted

技术标签:

【中文标题】neo4j:如何更改数据库存储位置?【英文标题】:neo4j: How do I change the database storage location? 【发布时间】:2012-06-08 22:30:36 【问题描述】:

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

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

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

我尝试通过以下方式修改 neo4j-server.properied 文件:

#*****************************************************************
# 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 控制台中查看适当的数据库并能够对所需的数据库执行查询?

谢谢!

【问题讨论】:

【参考方案1】:

您需要像这样设置数据库目录在磁盘上的位置:

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

见http://docs.neo4j.org/chunked/stable/server-configuration.html

【讨论】:

已尝试像这样设置位置,但所需的数据库在 Java 应用程序和 Web 管理控制台中均不可见。 @espeed 我用过 "neo4j-community-3.0.1" 但没有 conf/neo4j-server.properties 这样的文件。并且有 neo4j.conf 的文件名,但在这个文件中没有这样的属性 org.neo4j.server.database.location=data/graph.db 。你能帮我如何切换数据库。【参考方案2】:

您首先需要确认您正在连接的数据库已正确关闭(意味着您不应拍摄正在运行的数据库的映像)。

如果您处于服务器模式,请从文件中设置数据库的位置

conf/neo4j-server.properties

通过编辑下面的行。

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

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

new EmbeddedGraphDatabase("Path To Db Directory");

【讨论】:

我用过 "neo4j-community-3.0.1" 但没有 conf/neo4j-server.properties 这样的文件。并且有 neo4j.conf 的文件名,但在这个文件中没有这样的属性 org.neo4j.server.database.location=data/graph.db 。你能帮我如何切换数据库。 @anujdhiman 参考github.com/neo4j/neo4j/wiki/Neo4j-3.0-changelog 配置设置 org.neo4j.server.database.location 已被删除 新设置 dbms.active_database 用于指定要通过名称挂载的数据库新设置 dbms。 directory.data 用于配置数据目录的路径【参考方案3】:

对于其他努力寻找此文件的人 - 在我的 Ubuntu 上,我在 /etc/neo4j/neo4j.conf 下找到了它

【讨论】:

【参考方案4】:

我是通过编辑行来完成的

# dbms.active_database=graph.db

dbms.active_database=new.db

在文件conf/neo4j.conf

【讨论】:

以上是关于neo4j:如何更改数据库存储位置?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 java 中获取 Neo4j 图形数据库的节点数,我们可以从磁盘存储和重用 graphdb 吗?

如何查看和更改mysql数据库文件存放位置

如何更改SQL Server2008默认数据库的存储路径

gps 对存储在 sqlite 数据库中的一堆位置的近似更改

Neo4j 是不是能够在 HDFS 中存储数据?

如何修改mysql数据文件存储位置