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