Neo4j 管理员和 Neo4j CLI

介绍

neo4j-adminneo4j 是用于管理和管理 Neo4j DBMS 的命令行工具。两者都作为产品的一部分安装,可以使用许多命令执行。neo4j 命令等效于 neo4j-admin 服务器类别中的最重要命令。

neo4j-adminneo4j 命令都支持 --help 选项,该选项打印命令的使用情况和选项,以及 --version 选项,该选项打印命令的版本。所有管理员命令选项也可以提供在一个文件中,并使用 @ 前缀传递给命令。当命令行变得太长而难以管理时,这很有用。例如,neo4j-admin database import full @/path/to/your/<args-filename> mydb。有关更多信息,请参阅 Picocli → AtFiles 官方文档。

所有管理员命令都必须以与 Neo4j 运行相同的用户身份调用。这保证了 Neo4j 将拥有启动和使用您使用的数据库文件的完全权限。

neo4j-admin 工具

neo4j-admin 命令行工具位于 bin 目录中。

一般概要

neo4j-admin 具有以下一般概要

neo4j-admin [类别] [命令] [子命令]

按类别划分的 neo4j-admin 命令

除了 helpversion 之外,所有管理命令都按以下三个类别组织

  • dbms - DBMS 范围(适用于单一和集群环境)管理任务

  • server - 服务器范围管理任务

  • database - 数据库特定管理任务

表 1. 按类别列出的可用命令
类别 命令 描述

dbms

set-default-admin

在没有角色的情况下设置默认管理员用户。

set-initial-password

设置初始管理员用户(neo4j)的初始密码。

有关详细信息,请参阅 设置初始密码

unbind-system-db

删除并存档 system 数据库的集群状态,以便实例可以重新绑定到 system 数据库的新集群状态。

server

console

在控制台中启动 DBMS 服务器。

get-id

显示实例的服务器 ID。服务器 ID 可用于在 Cypher 命令中指定服务器。

license

接受许可协议。可能的选项是 --accept-commercial 用于 商业--accept-evaluation 用于 评估许可证。从 Neo4j 5.4 开始,此命令需要在启动 Neo4j Enterprise Edition 之前运行。

memory-recommendation

打印 Neo4j 堆和页面缓存内存使用量的建议。

有关详细信息,请参阅 内存建议

migrate-configuration

将服务器配置从之前的 major 版本迁移。

report

生成包含远程评估所需最常见信息的 ZIP/TAR 文件。

有关详细信息,请参阅 Neo4j Admin 报告

restart

重新启动服务器守护程序。

start

将服务器作为守护程序启动。

status

获取服务器的状态。

stop

停止服务器守护程序。

unbind

从已停止的 Neo4j 服务器中删除集群状态数据。

有关详细信息,请参阅 解除绑定 Neo4j 集群服务器

validate-config

在不启动服务器的情况下执行配置验证。

windows-service

一个命令,其子命令可用于将 Neo4j 作为 Windows 服务安装、卸载和更新。

database

aggregate-backup

将备份工件链聚合到单个工件中。

backup

从运行的 Neo4j 企业服务器执行在线备份。

check

检查数据库的一致性。

有关详细信息,请参阅 一致性检查器

copy

复制数据库并选择性地应用过滤器。

有关详细信息,请参阅 复制数据库存储

dump

将数据库转储到单个文件存档中。

import

导入 CSV 文件集。

有关详细信息,请参阅 导入

info

打印有关 Neo4j 数据库存储的信息。

有关详细信息,请参阅 显示存储信息

load

从使用 dump 命令创建的存档加载数据库。

migrate

将数据库从一种存储格式迁移到另一种存储格式,或在同一格式的不同版本之间迁移。

restore

恢复备份的数据库。

upload

将本地数据库推送到 Neo4j Aura 实例。

有关详细信息,请参阅 上传到 Neo4j AuraDB

neo4j 工具

neo4j 命令行工具位于 bin 目录中。

一般概要

neo4j 具有以下一般概要

neo4j [command]

neo4j 命令

该命令是 neo4j-admin server 类别中最重要的命令的别名。

表 2. neo4jneo4j-admin 命令之间的等效性
neo4j 命令 等效的 neo4j-admin 命令

neo4j console

neo4j-admin server console

neo4j restart

neo4j-admin server restart

neo4j start

neo4j-admin server start

neo4j status

neo4j-admin server status

neo4j stop

neo4j-admin server stop

neo4j windows-service

neo4j-admin server windows-service

版本命令

可以通过在 neo4jneo4j-admin 命令的根级别调用 version 命令、--version 命令选项或其简短替代项 -V 来获取版本。例如,neo4j --versionneo4j-admin -Vneo4j-admin versionneo4j version

帮助命令

可以通过调用 help 命令、--help 命令选项或其简短替代项 -h 来获取帮助,可以使用 neo4jneo4j-admin 命令。--help-h 选项可以在任何级别调用,即根、类别、命令和子命令。例如,neo4j --helpneo4j [command] -hneo4j-admin -hneo4j-admin [category] --helpneo4j-admin [category] [command] [subcommand] -h

帮助命令可以在除最后一个级别之外的任何级别调用,这意味着对于没有子命令的命令,则为命令级别;对于有子命令的命令,则为子命令级别。帮助命令还接受一个参数。例如,neo4j helpneo4j-admin helpneo4j-admin [category] helpneo4j-admin help [category]neo4j help [command]neo4j-admin [category] [command ] help [subcommand]

限制

当同时使用多值选项和位置参数时,多值选项会“贪婪”并通过其转换器提取下一个位置参数。这是底层库 Picocli 的限制,与 Neo4j Admin 无关。有关详细信息,请参阅 Picocli → 可变元数选项和位置参数 官方文档。

配置

管理操作使用 neo4j.conf 文件中指定的配置。在 DBMS 及其管理任务之间共享配置很有意义,因为大多数设置都相同。但是,在某些情况下,最好通过配置任务(而不是更新 neo4j.conf 文件中的配置设置)来覆盖 neo4j.conf 文件中指定的某些设置,因为管理任务通常比 DBMS 使用更少的资源。例如,如果 DBMS 的页面缓存配置为 neo4j.conf 文件中的非常高的值,并且您想覆盖它,因为备份等管理任务不需要那么多内存,则提供管理任务的配置,而不是更新 neo4j.conf 文件中的页面缓存设置。

使用管理任务覆盖 neo4j.conf 文件中指定的设置有几种方法

  • --additional-config 选项 — 几乎所有管理命令都支持 --additional-config 选项,您可以使用它提供具有附加配置的文件的路径。

  • neo4j-admin.conf — 一个位于与 neo4j.conf 文件相同的目录中的配置文件,您可以使用它提供特定于管理任务的设置。

  • 某些命令还支持特定于命令的配置文件。此类文件也在与 neo4j.conf 文件相同的目录中查找。下表列出了特定于命令的配置文件

    表 3. 特定于命令的配置文件
    命令 配置文件

    neo4j-admin database backup

    neo4j-admin-database-backup.conf

    neo4j-admin database check

    neo4j-admin-database-check.conf

    neo4j-admin database copy

    neo4j-admin-database-copy.conf

    neo4j-admin database dump

    neo4j-admin-database-dump.conf

    neo4j-admin database import

    neo4j-admin-database-import.conf

    neo4j-admin database load

    neo4j-admin-database-load.conf

    neo4j-admin database migrate

    neo4j-admin-database-migrate.conf

    neo4j-admin database restore

    neo4j-admin-database-restore.conf

所有四个配置源都是可选的,管理命令的设置将使用以下降序优先级从它们解析

  1. --additional-config 选项

  2. 特定于命令的配置文件

  3. neo4j-admin.conf

  4. neo4j.conf

用于启动 DBMS 的命令 neo4j startneo4j console 必须仅在 neo4j.conf 文件中配置。

环境变量

Neo4j Admin 还可以使用以下环境变量

环境变量 描述

NEO4J_DEBUG

设置为任何内容以启用调试输出。

NEO4J_HOME

Neo4j 主目录。

NEO4J_CONF

包含 neo4j.conf 的目录的路径。

HEAP_SIZE

在命令执行期间设置 JVM 最大堆大小。需要一个数字和一个单位,例如 512m。

JAVA_OPTS

其他 JVM 参数。

如果设置,则 HEAP_SIZEJAVA_OPTS 将覆盖配置文件中指定的所有相关设置。

退出代码

neo4jneo4j-admin 按预期完成时,它们将以代码 0 退出。非零退出代码表示在命令执行期间发生了一些意外事件。

表 4. 退出代码
退出代码 描述

0

成功执行。

1

命令执行失败。

3

命令执行失败,因为数据库未运行。

64

命令使用不正确的选项/参数调用。有关详细信息,请参阅打印的用法。

70

抛出异常,未以其他方式处理。

非零退出代码可能包含有关错误的更多信息,例如,请参阅 backup 命令的 退出代码

命令行补全

从 5.4 开始,Neo4j 支持命令行补全。

  • 对于基于 Unix 的系统,制表符补全适用于 Bash 和 ZSH 等终端中的 neo4jneo4j-admin 命令行界面。

  • 对于 RPM 和 DEB 打包安装,必要的文件会自动安装在 bash-completion 中。

  • 对于 tarball 安装,这些文件位于 bin/completion/ 目录中,其中包含有关手动安装的详细说明。