配置参数

配置参数在 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_only`、`server.databases.read_only` 和 `server.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 DATABASE` 和 `neo4j.conf` 中的配置参数来达到相同的目的(即将数据库设置为只读),但了解两者之间的区别很重要。`ALTER DATABASE foo SET ACCESS READ ONLY` 有效地将数据库 `foo` 设置为整个 DBMS 中的只读状态。

使用配置参数更为精细,允许您在每个实例上单独配置访问权限,例如在集群中。如果您使用 `server.databases.default_to_read_only`,则该实例上的所有数据库都将设置为只读。

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

© . All rights reserved.