我最近用导入工具成功创建了一个新的neo4j数据库。现在,我想在我的Ubunutu笔记本电脑上实际访问数据库。
为此,我适当地编辑了conf/neo4j-server.properties
,以指向正确的位置。
尝试sudo service neo4j-service start
后,我收到错误
WARNING: Max 1024 open files allowed, minimum of 40 000 recommended. See the Neo4j manual.
Starting Neo4j Server...WARNING: not changing user
process [10810]... waiting for server to be ready.. Failed to start within 120 seconds.
Neo4j Server may have failed to start, please check the logs.
我检查日志,我看到很多抱怨权限。
从日志中
2016-05-15 01:58:31.143-0700 ERROR Failed to start Neo4j: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@1b68b9a4' was successfully initialized, but failed to start. Please see attached cause exception.
...
Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: /home/monica/new_database_directory/messages.log (Permission denied)
...
Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: /home/monica/new_database_directory/messages.log (Permission denied)
Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: /home/monica/new_database_directory/messages.log (Permission denied)
在谷歌上搜索,我看到其他一些人遇到了这个问题。
但是,我不确定如何继续,因为我不完全理解这个问题。我不明白neo4j是如何使用的。用户指定的时间和地点?我是否需要在某处更改Neo4J配置文件才能获得自己的许可?或者我是否需要更改我刚创建的目录的权限...如果是这样,我如何知道将其更改为哪个用户?
我有兴趣了解更多关于neo4j在这种情况下的配置方式,而不仅仅是如何让它适合我。任何建议都非常感谢。
答案 0 :(得分:6)
作为服务运行的Neo4j必须拥有放置数据库的文件夹的所有权(例如/var/lib/neo4j/data
)。您的数据库位于其他位置,并且只有您当前具有访问权限(因为您是登录用户,因此创建了该数据库文件夹)。
尝试使用以下命令(递归)更改整个数据文件夹的权限:
sudo chown -R neo4j:adm /home/monica/new_database_directory
如果查看现有的/ var / lib / neo4j文件夹,所有权应与(neo4j:adm
)匹配。运行chown
命令后,您的新数据文件夹应具有相同的所有权。
然后再次尝试启动服务。
答案 1 :(得分:0)
你也可以在这里粘贴你的日志吗?
如果我不得不猜测它不是在谈论neo4j权限,而是在谈论文件权限。你能检查一下运行neo4j服务器的帐号(可能是neo4j用户)在数据路径上有正确的权限吗?