如何解决无法使用创建的neo4j数据库
我创建了一个 neo4j 数据库,该数据库运行良好。
但是现在,当我尝试使用由我创建的数据库时,请使用以下命令:
:USE foo;
它给出了错误:
Unable to get a routing table for database 'foo' because this database is unavailable
我尝试使用命令检查数据库的状态:
SHOW DATABASE foo;
它将foo的currentStatus显示为“ offline”。我曾尝试使用
启动数据库START DATABASE foo;
但没有运气!
尽管如此,我可以使用默认的“ neo4j”和“ system”数据库。只有我创建的新数据库现在无法正常工作。
如果有人知道解决方案,请提供帮助。
解决方法
尝试
CREATE DATABASE foo
然后启动
,我终于设法解决了这个问题。这是由于文件/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
此后,我启动了数据库,它开始工作了
,将 neostore.transaction.db.0
文件从现有的 data/transactions/neo4j
文件夹复制到您自己的 db data/transactions/<your_db>
文件夹。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。