0

我创建了一个Neo4j数据库,它运行良好。

但是现在,当我尝试使用我创建的数据库时,使用以下命令:

:USE foo;

它给出了错误:

Unable to get a routing table for database 'foo' because this database is unavailable

我尝试使用命令检查数据库的状态:

SHOW DATABASE foo;

它将 foo 的 currentStatus 显示为“离线”。我尝试使用启动数据库

START DATABASE foo;

但没有运气!

虽然,我可以使用默认的“neo4j”和“system”数据库。只有我创建的新数据库,现在不能工作。

如果有人知道解决方案,请提供帮助。

4

3 回答 3

3

我终于设法解决了这个问题。这是因为文件的文件权限 /var/lib/neo4j/data/transactions/foo/neostore.transaction.db.26

可能是用户 neo4j 以某种方式失去了对该文件的访问权限。我查看了调试日志文件,/var/log/neo4j/debug.log发现异常消息,java.nio.file.AccessDeniedException: /var/lib/neo4j/data/transactions/foo/neostore.transaction.db.26然后我使用命令更改了 neo4j 用户的文件权限:

chown neo4j /var/lib/neo4j/data/transactions/foo//neostore.transaction.db.26

在此之后,我启动了数据库并且它工作了

于 2020-10-17T18:41:21.163 回答
0

neostore.transaction.db.0文件从现有data/transactions/neo4j文件夹复制到您自己的 dbdata/transactions/<your_db>文件夹。

于 2021-03-04T12:48:00.633 回答
0

尝试

CREATE DATABASE foo

然后启动它

于 2020-10-16T22:21:40.270 回答