我创建了一个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";以及";系统";数据库。只有我创建的新数据库现在不起作用。
如果有人知道解决方案,请帮忙。
我终于解决了这个问题。这是因为文件/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
在这之后,我启动了数据库,它工作
尝试
CREATE DATABASE foo
然后启动
将neostore.transaction.db.0
文件从现有的data/transactions/neo4j
文件夹复制到您自己的dbdata/transactions/<your_db>
文件夹中。