跳转至
开发版采用单机部署,无需产品 License 文件。需要多机部署或大规模性能测试? 了解企业版

Meta 服务命令

本文介绍 ngctl 的 Meta 服务登录、密码修改、用户管理和版本查询命令。

执行用户管理命令时,请将命令语法中的<username>替换为实际的用户名。

登录 Meta 服务

登录一个 Meta 服务。

命令语法

ngctl auth login --host <host> --port <port> --user <username> --password <password> --force true|false --enable-tls true|false --tls-skip-verify true|false --tls-ca <ca_file_path> --tls-cert <cert_file_path> --tls-key <key_file_path> --tokenFile <token_file_path>

选项

选项 别名 描述 是否必选 类型
--host -H Meta 服务的主机地址。开发版仅部署 1 个 Meta 服务。默认值为"127.0.0.1"。 否 String
--port -P Meta 服务的端口号。默认值为9559。 否 Integer
--user -u 要登录的用户名称。默认值为root。 否 String
--password -p 用户的密码。密码至少 8 个字符长,其中至少包含 1 个大写字母、1 个小写字母和 1 个数字。如果密码中包含$等 Shell 特殊字符,请根据所使用的 Shell 使用引号包起来。 是 String
--force -f 当 Meta 服务为非 Leader 时,是否强制登录。若设置为true,则跳过 Leader 检查以强制登录指定的 Meta 服务。默认值为false。 否 Bool
--enable-tls - 是否启用 TLS。可选值:true和false。默认值为false。 否 Bool
--tls-skip-verify - 是否跳过服务端证书验证。默认值为false,即不跳过证书验证。 否 Bool
--tls-ca - 用于校验服务端证书的 CA 证书文件的路径。如果--enable-tls设置为true且--tls-skip-verify设置为false,则此项必填。 否 String
--tls-cert - 客户端证书文件的路径。如果悦数图数据库开发版的 Meta 服务的配置文件里将tls_client_verify设置为true,则此项必填。 否 String
--tls-key - 客户端私钥文件的路径。如果悦数图数据库开发版的 Meta 服务的配置文件里将tls_client_verify设置为true,则此项必填。 否 String
--tokenFile - 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径$HOME/.nebula_meta_token。
若在运行此命令时指定了自定义路径,则在后续的所有命令中该选项必须设置为该自定义路径,直至登出 Meta 服务之后。
否 String

登出 Meta 服务

登出一个 Meta 服务。

命令语法

ngctl auth logout --tokenFile <token_file_path>

选项

选项 别名 描述 是否必选 类型
--tokenFile - 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径$HOME/.nebula_meta_token。
若在登录 Meta 服务时指定了自定义路径,则该选项必须设置为该自定义路径。
否 String

修改用户密码

使用ngctl auth passwd修改用户密码,需提供用户名、当前密码和新密码,无需提前登录 Meta 服务。忘记当前密码时,请管理员重置用户密码。

命令语法

ngctl auth passwd --host <host> --port <port> --user <username>  --current_password <current_password> --new_password <new_password> --enable-tls true|false --tls-skip-verify true|false --tls-ca <ca_file_path> --tls-cert <cert_file_path> --tls-key <key_file_path> --tokenFile <token_file_path>

选项

选项 别名 描述 是否必选 类型
--host -H Meta 服务的主机地址。默认值为"127.0.0.1"。 否 String
--port -P Meta 服务的端口号。默认值为9559。 否 Integer
--user -u 自己的用户名,需提供该用户的当前密码。默认值为root。 否 String
--current_password -c 所指定用户的当前密码,用于验证身份。 是 String
--new_password -p 用户的新密码。密码至少 8 个字符长,其中至少包含 1 个大写字母、1 个小写字母和 1 个数字。 是 String
--enable-tls - 是否启用 TLS。可选值:true和false。默认值为false。 否 Bool
--tls-skip-verify - 是否跳过服务端证书验证。默认值为false,即不跳过证书验证。 否 Bool
--tls-ca - 用于校验服务端证书的 CA 证书文件的路径。如果--enable-tls设置为true且--tls-skip-verify设置为false,则此项必填。 否 String
--tls-cert - 客户端证书文件的路径。如果悦数图数据库开发版的 Meta 服务的配置文件里将tls_client_verify设置为true,则此项必填。 否 String
--tls-key - 客户端私钥文件的路径。如果悦数图数据库开发版的 Meta 服务的配置文件里将tls_client_verify设置为true,则此项必填。 否 String
--tokenFile - 已有 Meta 令牌文件的路径,用于读取保存的连接信息。默认值为$HOME/.nebula_meta_token。本命令不依赖登录令牌验证身份。 否 String

创建用户

在 Meta 服务中创建一个用户。用户名<username>长度必须为 4 到 32 个字符,且只能包含字母、数字和下划线(_)。

命令语法

ngctl user create <username> --password <password> --encrypt-type <encrypt_type> --tokenFile <token_file_path>

或

ngctl user create <username> --auth-type <auth_type> --auth-info <auth_info> --encrypt-type <encrypt_type> --tokenFile <token_file_path>

选项

选项 别名 描述 是否必选 类型
--password -p 用户的密码。密码长度必须至少为 8 个字符,且必须包含至少一个数字、一个小写字母和一个大写字母。若未指定--auth-type,则此参数为必填项。 否 String
--encrypt-type -e 用户密码的加密类型。有效值:sha256(默认)、sha512和sm3。 否 String
--auth-type - 用户的认证类型。有效值:password。若未指定--password,则此参数为必填项。 否 String
--auth-info - 用户的认证信息,以 JSON 字符串格式指定。对于认证类型password,认证信息必须遵循格式'{"password":"<password>"}'。若未指定--password,则此参数为必填项。 否 String
--tokenFile - 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径$HOME/.nebula_meta_token。
若在登录 Meta 服务时指定了自定义路径,则该选项必须设置为该自定义路径。
否 String

删除用户

从 Meta 服务中删除一个用户。

命令语法

ngctl user drop <username> --tokenFile <token_file_path>

选项

选项 别名 描述 是否必选 类型
--tokenFile - 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径$HOME/.nebula_meta_token。
若在登录 Meta 服务时指定了自定义路径,则该选项必须设置为该自定义路径。
否 String

管理员重置用户密码

先以root登录 Meta 服务,再使用ngctl user alter为指定用户设置新密码,无需提供该用户的旧密码。若目标用户已被禁用,先启用用户再重置密码。

命令语法

ngctl user alter <username> --password <password> --encrypt-type <encrypt_type> --tokenFile <token_file_path>

或

ngctl user alter <username> --auth-info <auth_info> --encrypt-type <encrypt_type> --tokenFile <token_file_path>

选项

选项 别名 描述 是否必选 类型
--password -p 目标用户的新密码,无需提供旧密码。密码长度必须至少为 8 个字符,且必须包含至少一个数字、一个小写字母和一个大写字母。若未指定--auth-info,则此参数为必填项。 否 String
--encrypt-type -e 用户密码的加密类型。有效值:sha256(默认)、sha512和sm3。 否 String
--auth-info - 用户的新认证信息,以 JSON 字符串格式指定。对于认证类型password,认证信息必须为遵循格式'{"password":"<password>"}'。若未指定--password,则此参数为必填项。 否 String
--tokenFile - 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径$HOME/.nebula_meta_token。
若在登录 Meta 服务时指定了自定义路径,则该选项必须设置为该自定义路径。
否 String

启用用户

在 Meta 服务中启用一个用户。

命令语法

ngctl user enable <username> --tokenFile <token_file_path>

选项

选项 别名 描述 是否必选 类型
--tokenFile - 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径$HOME/.nebula_meta_token。
若在登录 Meta 服务时指定了自定义路径,则该选项必须设置为该自定义路径。
否 String

禁用用户

在 Meta 服务中禁用一个用户。

命令语法

ngctl user disable <username> --tokenFile <token_file_path>

选项

选项 别名 描述 是否必选 类型
--tokenFile - 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径$HOME/.nebula_meta_token。
若在登录 Meta 服务时指定了自定义路径,则该选项必须设置为该自定义路径。
否 String

解锁用户

解锁一个因登录失败次数过多而被临时锁定的用户。

unlock用于清除用户的临时锁定状态,不会改变用户的激活状态。若用户已被禁用,仍需先启用该用户,用户才能连接服务组。

命令语法

ngctl user unlock <username> --tokenFile <token_file_path>

选项

选项 别名 描述 是否必选 类型
--tokenFile - 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径$HOME/.nebula_meta_token。
若在登录 Meta 服务时指定了自定义路径,则该选项必须设置为该自定义路径。
否 String

显示用户

显示 Meta 服务中的一个或多个用户的详情。

命令语法

ngctl user show <username> --output <output_format> --tokenFile <token_file_path>

选项

选项 别名 描述 是否必选 类型
--output -o 输出格式。有效值:table和json。不指定时,table为默认值。 否 String
--tokenFile - 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径$HOME/.nebula_meta_token。
若在登录 Meta 服务时指定了自定义路径,则该选项必须设置为该自定义路径。
否 String

返回参数

参数 描述
Name 用户的名称。
Active 用户是否处于激活状态。
Auth Type 用户的认证类型。
Auth Info 用户的认证信息。
Created Time 用户的创建时间。
Last Updated Time 用户的最后更新时间。
Disabled Time 用户的禁用时间。

示例

./ngctl user show
Name  Active  Auth Type  Auth Info  Created Time          Last Updated Time     Disabled Time
root  Y       password              2025-04-30T08:30:23Z  2025-04-30T08:30:23Z

查看 ngctl 版本

查看 ngctl 的版本。

命令语法

ngctl version

示例

./ngctl version
Version:
Git commit: 9109557
Build time: 2024-10-28T18:33:08+0000