我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

大家应该知道:neo4j社区版只支持一个database(除了默认的system之外),虽然这很难理解。但是,这个是人家的经营策略,无可厚非。如果要添加新的database的话,社区版是可以添加的。但是,添加之后,对应的databaseoffline状态。这个操作就有点神奇了...

苏南大叔:neo4j图数据库,社区版neo4j如何切换默认database? - neo4j-切换database
neo4j图数据库,社区版neo4j如何切换默认database?(图5-1)

大家好,这里是苏南大叔的“程序如此灵动”博客,这里记录苏南大叔和计算机代码的故事。本文讲述,neo4j的社区版,如何新建一个database,如何切换database交替上线,如何列出所有的database。本文测试环境:win10neo4j社区版@4.4.3

苏南大叔开始怀念mariadb/mysql,这个neo4j社区版是真的挺难用的。

新建database

正常情况下来说,neo4j的社区版并没有提供新建database这样的功能。但是,它提供了dumpload的功能。那么,在load操作的时候,指定的database如果不存在的话,就会自动创建一个出来。参考文章:

neo4j-admin dump --database=neo4j2 --to=e:\backup.dump

或者也可以直接在neo4j.conf文件中,设置default_database来获得一个新的空的database

苏南大叔:neo4j图数据库,社区版neo4j如何切换默认database? - 获得空数据库
neo4j图数据库,社区版neo4j如何切换默认database?(图5-2)

切换database

现在假设新建的neo4jdatabase的名字是neo4j2。现在要切换neo4j2上线,默认的neo4j下线。那么,问题来了,如何识别这个新的neo4j2呢?

答案是修改neo4j.conf配置项目,修改:

dbms.default_database = neo4j2

苏南大叔:neo4j图数据库,社区版neo4j如何切换默认database? - neo4j-console-warning
neo4j图数据库,社区版neo4j如何切换默认database?(图5-3)

当然,在网上的其它教程里面,会推荐修改一个过时的设置:

dbms.active_database = neo4j2

这样配置的话,会在neo4j@4.4.3console里面,得到一个警告信息:

WARN  Use of deprecated setting dbms.active_database. It is replaced by dbms.default_database

所以,网上的教程可能是错的过时的,新的配置写法是使用default_database,而不是active_database

列出已识别database

最简单的方式,是执行:

:dbs

最好最推荐的方式,是执行大家已经熟悉的sql语句:

show databases

苏南大叔:neo4j图数据库,社区版neo4j如何切换默认database? - show-databases
neo4j图数据库,社区版neo4j如何切换默认database?(图5-4)

删除database

连新建database都不给你机会的neo4j社区版,会给你机会删除database?这里可以直接删除目标database的两个数据库目录文件。然后,切换neo4j.conf中的dbms.default_database。但是,这样的话,依然会留下不可磨灭的列表痕迹。

苏南大叔:neo4j图数据库,社区版neo4j如何切换默认database? - dbs
neo4j图数据库,社区版neo4j如何切换默认database?(图5-5)

或者把整个data/目录都删除掉,这个可以推翻一切重来。连用户名密码等都恢复初始化。

苏南大叔觉得正确的途径,应该是修改system数据库。但是,目前还没有找到修改的办法。

参考文献

综述

本文没有特别的实用价值,虽然确实可以做到数据库的切换和识别。但是,对于neo4j社区版来说,没有啥实际的应用价值。就这样吧。更多neo4j的经验文章,请点击苏南大叔的博客:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   neo4j