配置参数

配置参数定义在 neo4j.conf 文件中。

以下配置参数适用于管理数据库

参数名称 描述

initial.dbms.default_database

Neo4j 实例的默认数据库名称。如果实例启动时数据库不存在,则会创建该数据库。

默认值: neo4j

在集群设置中,initial.dbms.default_database 的值仅用于设置初始默认数据库。要稍后更改默认数据库,请参阅 更改默认数据库

请注意,自动创建的初始默认数据库可能具有与默认配置值不同的拓扑结构。有关更多信息,请参阅 集群中的默认数据库

dbms.max_databases

Neo4j 单实例或集群中可使用的最大数据库数。该数字包括所有在线和离线数据库。该值是一个整数,最小值为 2。 企业版

默认值: 100

一旦达到限制,就无法创建任何其他数据库。类似地,如果将限制更改为小于现有数据库总数的数字,则也无法创建其他数据库。

server.databases.default_to_read_only

所有数据库的默认模式。如果将此设置设置为true,则所有现有和新数据库都将处于只读模式,从而阻止写入查询。

默认值:false

server.databases.read_only

要阻止写入查询的数据库名称列表。此集合还可以包含尚不存在的数据库,但不包括system数据库。

无论server.databases.default_to_read_onlyserver.databases.read_onlyserver.databases.writable的设置如何,system数据库永远不会是只读的,并且始终接受写入查询。

另一种阻止写入的方法是使用ALTER DATABASE命令将数据库访问权限设置为只读。

示例配置

server.databases.read_only=["foo", "bar"]

server.databases.writable

要接受写入查询的数据库名称列表。此集合还可以包含尚不存在的数据库。
如果server.databases.default_to_read_only设置为false,则忽略此设置的值。
如果数据库名称同时存在于两个集合中,则该数据库将为只读并阻止写入查询。

如果大多数数据库都是只读的,只有少数例外,则可以更容易地将server.databases.default_to_read_only设置为true,然后将非只读数据库的名称放入server.databases.writable中。

示例配置

server.databases.writable=["foo", "bar"]

虽然可以使用Cypher命令ALTER DATABASEneo4j.conf中的配置参数来实现相同目标,即设置数据库为只读,但了解两者之间的区别非常重要。ALTER DATABASE foo SET ACCESS READ ONLY有效地将数据库foo设置为整个DBMS的只读。

使用配置参数更为微妙,允许您在每个实例上分别配置访问权限,例如在集群的情况下。如果您使用server.databases.default_to_read_only,则该实例上的所有数据库都将设置为只读。

如果同时使用Cypher命令和配置参数,并且它们包含冲突的信息,则相关数据库将设置为只读。