Skip to content

Neo4j 管理命令

基本语法与选项

命令语法

bash
neo4j-admin <command> [options] [arguments]

基本选项

  • --help: 显示命令帮助信息
  • --verbose: 启用详细输出
  • --quiet: 仅显示错误信息

neo4j-admin 是 Neo4j 数据库的核心管理工具,用于执行各种管理任务,包括数据库备份、恢复、迁移、用户管理等。该命令需要在 Neo4j 服务器停止或运行状态下执行,具体取决于命令类型。

数据库备份与恢复

backup 命令

用于创建数据库的在线或离线备份。

bash
# 在线备份
eo4j-admin backup --database=<database-name> --backup-dir=<backup-directory> [options]

# 离线备份(需要停止数据库)
eo4j-admin backup --database=<database-name> --backup-dir=<backup-directory> --force

主要选项:

  • --database=<name>: 指定要备份的数据库名称(默认:neo4j)
  • --backup-dir=<path>: 指定备份存储目录
  • --force: 强制覆盖现有备份
  • --online-backup-port=<port>: 指定在线备份端口(默认:6362)

restore 命令

用于从备份恢复数据库。

bash
neo4j-admin restore --database=<database-name> --from=<backup-directory> [options]

主要选项:

  • --database=<name>: 指定要恢复的数据库名称
  • --from=<path>: 指定备份源目录
  • --force: 强制覆盖现有数据库

dump 命令

用于创建数据库的离线转储文件。

bash
neo4j-admin dump --database=<database-name> --to=<dump-file> [options]

主要选项:

  • --database=<name>: 指定要转储的数据库名称
  • --to=<path>: 指定转储文件路径
  • --compress=<level>: 设置压缩级别(0-9,默认:6)

load 命令

用于从转储文件加载数据库。

bash
neo4j-admin load --database=<database-name> --from=<dump-file> [options]

主要选项:

  • --database=<name>: 指定要加载的数据库名称
  • --from=<path>: 指定转储文件路径
  • --force: 强制覆盖现有数据库

用户管理

user add 命令

用于添加新用户。

bash
neo4j-admin user add <username> [options]

主要选项:

  • --password=<password>: 直接指定密码(不推荐在生产环境使用)
  • --role=<role>: 为用户分配角色(可以指定多个)

user set-password 命令

用于修改现有用户密码。

bash
neo4j-admin user set-password <username> [options]

主要选项:

  • --password=<password>: 直接指定新密码

user delete 命令

用于删除用户。

bash
neo4j-admin user delete <username>

user list 命令

用于列出所有用户。

bash
neo4j-admin user list

数据库维护

check 命令

用于检查数据库的完整性。

bash
neo4j-admin check --database=<database-name> [options]

主要选项:

  • --database=<name>: 指定要检查的数据库名称
  • --verbose: 显示详细检查结果

migrate 命令

用于迁移数据库到新的存储格式或版本。

bash
neo4j-admin migrate --database=<database-name> [options]

主要选项:

  • --database=<name>: 指定要迁移的数据库名称
  • --force: 强制迁移

report 命令

用于生成数据库诊断报告。

bash
neo4j-admin report [options]

主要选项:

  • --to=<path>: 指定报告输出目录
  • --include=<component>: 包含特定组件的报告

集群管理

cluster command

用于管理 Neo4j 集群。

bash
neo4j-admin cluster <subcommand> [options]

主要子命令:

  • member add: 添加集群成员
  • member remove: 移除集群成员
  • member list: 列出集群成员

常见问题(FAQ)

Q1: neo4j-admin 命令需要在什么环境下执行?

A1: neo4j-admin 命令需要在 Neo4j 安装目录下的 bin 目录中执行,或者将该目录添加到系统 PATH 环境变量中。

Q2: 在线备份和离线备份有什么区别?

A2: 在线备份可以在数据库运行状态下执行,不影响数据库的正常使用;离线备份需要停止数据库,备份过程中数据库不可用,但备份速度更快。

Q3: 如何验证备份的完整性?

A3: 可以使用 neo4j-admin check 命令检查备份文件的完整性,或者将备份恢复到测试环境中验证数据完整性。

Q4: 为什么执行 neo4j-admin 命令时提示权限不足?

A4: 确保以 Neo4j 运行用户(通常是 neo4j)执行命令,或者使用 sudo 命令获取足够的权限。

Q5: 如何使用 neo4j-admin 命令修改默认数据库?

A5: 可以使用 neo4j-admin set-default-db <database-name> 命令修改默认数据库。