我使用Neo4j图形数据库并在浏览器上查看数据。所以每当我运行代码时,我都需要在neo4j-server.properties文件中更改数据库位置字段。
当我尝试使用浏览器访问数据库时,我收到以下错误:
Exception in thread "main" java.lang.IllegalStateException: Unable to lock store
[<DB path>], this is usually a result of some other Neo4j kernel running using
the same store.
是否可以在不锁定商店的情况下查看数据库?
答案 0 :(得分:3)
还有另一个使用db的进程。例如,您使用另一个程序(例如终端中的gremlin shell)打开它,或者运行另一个neo4j实例。
如果您使用的是类Unix系统(Linux,MacOSX等),那么您可以使用lsof来确定已打开数据库的进程。例如,如果我的数据库的路径是/home/user/db/myneo4j.db
,那么我会搜索:
$ lsof /home/user/db/myneo4j.db/neostore.propertystore.db.index
或者你可以尝试:
$ lsof | grep myneo4j.db
这将告诉您已经(锁定)数据库的进程ID。
答案 1 :(得分:1)
在启动neo4j服务器查看数据之前,您确定没有针对数据存储区运行的java进程吗?