Neo4j Admin 和 Neo4j CLI

简介

neo4j-adminneo4j 是用于管理和操作 Neo4j DBMS 的命令行工具。两者都作为产品的一部分安装,并可以通过多个命令执行。neo4j 命令等同于 neo4j-admin server 类别中最重要的命令。

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

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

neo4j-admin 工具

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

通用概要

neo4j-admin 具有以下通用概要

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

按类别划分的 neo4j-admin 命令

所有管理命令,除了 helpversion,都分为以下四个类别

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

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

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

  • backup - 备份特定任务

表 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 企业版之前运行。从 Neo4j 2025.04 开始,当使用评估许可证时,命令会打印试用期剩余天数的信息。如果评估许可证已过期,命令会打印包含许可证过期天数的警告。neo4j-admin server license 也会在启动时将许可证状态信息记录到 neo4j.log 文件中。

memory-recommendation

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

欲了解详情,请参阅 获取初始内存建议

migrate-configuration

从上一个主要版本迁移服务器配置。

欲了解详情,请参阅 迁移配置

report

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

欲了解详情,请参阅 生成系统报告

restart

重启服务器守护进程。

start

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

status

获取服务器状态。

stop

停止服务器守护进程。

unbind

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

欲了解详情,请参阅 解除绑定服务器

validate-config

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

欲了解详情,请参阅 验证配置

windows-service

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

database

aggregate-backup 在 2025.01 中已弃用

将一系列备份工件聚合成一个单一工件。

欲了解详情,请参阅 聚合数据库备份链

已由 neo4j-admin backup aggregate 替换。

backup

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

check

检查数据库的一致性。

欲了解详情,请参阅 检查数据库一致性

copy

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

欲了解详情,请参阅 复制数据库存储

dump

将数据库转储为单文件归档。

欲了解详情,请参阅 备份离线数据库

import

导入 CSV 文件集合。

欲了解详情,请参阅 导入

info

打印 Neo4j 数据库存储信息。

欲了解详情,请参阅 显示存储信息

load

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

欲了解详情,请参阅 恢复数据库转储

migrate

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

欲了解详情,请参阅 迁移数据库

restore

恢复备份的数据库。

欲了解详情,请参阅 恢复数据库备份

upload

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

欲了解详情,请参阅 上传到 Neo4j Aura

backup

inspect

列出备份文件头中存储的元数据。

欲了解详情,请参阅 检查备份文件的元数据

aggregate 2025.01 中引入

将一系列备份工件聚合成一个单一工件。

欲了解详情,请参阅 聚合数据库备份链

neo4j 工具

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

通用概要

neo4j 具有以下通用概要

neo4j [命令]

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

帮助命令

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

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

限制

当同时使用多值选项和位置参数时,多值选项是“贪婪的”,并通过其转换器拉入下一个位置参数。这是底层库 Picocli 的限制,并非 Neo4j Admin 特有。欲了解更多信息,请参阅 Picocli → 可变参数选项和位置参数 官方文档。

配置

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

有几个选项可以使用管理任务覆盖 neo4j.conf 文件中指定的设置

  • --additional-config 选项 — 几乎所有管理命令都支持 --additional-config 选项,您可以使用它来提供一个包含附加配置的文件的路径(完整路径、本地路径或符号链接)。文件格式应与 neo4j.conf(或 neo4j-admin.conf)相同。该文件必须可被运行管理命令的用户读取。

  • 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/ 目录中,并附有详细的手动安装说明。

© . All rights reserved.