Source: https://dev-docs.yueshu.com.cn/v5.3.2/utilities/ngctl/meta-commands/ Documentation version: v5.3.2 # Meta 服务命令 本文介绍 ngctl 的 Meta 服务登录、密码修改、用户管理和版本查询命令。 执行用户管理命令时,请将命令语法中的``替换为实际的用户名。 ## 登录 Meta 服务 []() 登录一个 Meta 服务。 ### 命令语法 ```` ngctl auth login --host --port --user --password --force true|false --enable-tls true|false --tls-skip-verify true|false --tls-ca --tls-cert --tls-key --tokenFile ```` ### 选项 | 选项 | 别名 | 描述 | 是否必选 | 类型 | `--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 服务](https://dev-docs.yueshu.com.cn/v5.3.2/utilities/ngctl/meta-commands/#log_out_of_meta)之后。 | 否 | String ## 登出 Meta 服务 []() 登出一个 Meta 服务。 ### 命令语法 ```` ngctl auth logout --tokenFile ```` ### 选项 | 选项 | 别名 | 描述 | 是否必选 | 类型 | `--tokenFile` | - | 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径`$HOME/.nebula_meta_token`。 若在[登录 Meta 服务](https://dev-docs.yueshu.com.cn/v5.3.2/utilities/ngctl/meta-commands/#log_in_to_meta)时指定了自定义路径,则该选项必须设置为该自定义路径。 | 否 | String ## 修改用户密码 []() 使用`ngctl auth passwd`修改用户密码,需提供用户名、当前密码和新密码,无需提前登录 Meta 服务。忘记当前密码时,请管理员[重置用户密码](https://dev-docs.yueshu.com.cn/v5.3.2/utilities/ngctl/meta-commands/#change_user_password)。 ### 命令语法 ```` ngctl auth passwd --host --port --user --current_password --new_password --enable-tls true|false --tls-skip-verify true|false --tls-ca --tls-cert --tls-key --tokenFile ```` ### 选项 | 选项 | 别名 | 描述 | 是否必选 | 类型 | `--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 服务中创建一个用户。用户名``长度必须为 4 到 32 个字符,且只能包含字母、数字和下划线(`_`)。 ### 命令语法 ```` ngctl user create --password --encrypt-type --tokenFile ```` 或 ```` ngctl user create --auth-type --auth-info --encrypt-type --tokenFile ```` ### 选项 | 选项 | 别名 | 描述 | 是否必选 | 类型 | `--password` | `-p` | 用户的密码。密码长度必须至少为 8 个字符,且必须包含至少一个数字、一个小写字母和一个大写字母。若未指定`--auth-type`,则此参数为必填项。 | 否 | String | `--encrypt-type` | `-e` | 用户密码的加密类型。有效值:`sha256`(默认)、`sha512`和`sm3`。 | 否 | String | `--auth-type` | - | 用户的认证类型。有效值:`password`。若未指定`--password`,则此参数为必填项。 | 否 | String | `--auth-info` | - | 用户的认证信息,以 JSON 字符串格式指定。对于认证类型`password`,认证信息必须遵循格式`'{"password":""}'`。若未指定`--password`,则此参数为必填项。 | 否 | String | `--tokenFile` | - | 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径`$HOME/.nebula_meta_token`。 若在[登录 Meta 服务](https://dev-docs.yueshu.com.cn/v5.3.2/utilities/ngctl/meta-commands/#log_in_to_meta)时指定了自定义路径,则该选项必须设置为该自定义路径。 | 否 | String ## 删除用户 []() 从 Meta 服务中删除一个用户。 ### 命令语法 ```` ngctl user drop --tokenFile ```` ### 选项 | 选项 | 别名 | 描述 | 是否必选 | 类型 | `--tokenFile` | - | 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径`$HOME/.nebula_meta_token`。 若在[登录 Meta 服务](https://dev-docs.yueshu.com.cn/v5.3.2/utilities/ngctl/meta-commands/#log_in_to_meta)时指定了自定义路径,则该选项必须设置为该自定义路径。 | 否 | String ## 管理员重置用户密码 []() 先以`root`[登录 Meta 服务](https://dev-docs.yueshu.com.cn/v5.3.2/utilities/ngctl/meta-commands/#log_in_to_meta),再使用`ngctl user alter`为指定用户设置新密码,无需提供该用户的旧密码。若目标用户已被禁用,先[启用用户](https://dev-docs.yueshu.com.cn/v5.3.2/utilities/ngctl/meta-commands/#enable_user)再重置密码。 ### 命令语法 ```` ngctl user alter --password --encrypt-type --tokenFile ```` 或 ```` ngctl user alter --auth-info --encrypt-type --tokenFile ```` ### 选项 | 选项 | 别名 | 描述 | 是否必选 | 类型 | `--password` | `-p` | 目标用户的新密码,无需提供旧密码。密码长度必须至少为 8 个字符,且必须包含至少一个数字、一个小写字母和一个大写字母。若未指定`--auth-info`,则此参数为必填项。 | 否 | String | `--encrypt-type` | `-e` | 用户密码的加密类型。有效值:`sha256`(默认)、`sha512`和`sm3`。 | 否 | String | `--auth-info` | - | 用户的新认证信息,以 JSON 字符串格式指定。对于认证类型`password`,认证信息必须为遵循格式`'{"password":""}'`。若未指定`--password`,则此参数为必填项。 | 否 | String | `--tokenFile` | - | 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径`$HOME/.nebula_meta_token`。 若在[登录 Meta 服务](https://dev-docs.yueshu.com.cn/v5.3.2/utilities/ngctl/meta-commands/#log_in_to_meta)时指定了自定义路径,则该选项必须设置为该自定义路径。 | 否 | String ## 启用用户 []() 在 Meta 服务中启用一个用户。 ### 命令语法 ```` ngctl user enable --tokenFile ```` ### 选项 | 选项 | 别名 | 描述 | 是否必选 | 类型 | `--tokenFile` | - | 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径`$HOME/.nebula_meta_token`。 若在[登录 Meta 服务](https://dev-docs.yueshu.com.cn/v5.3.2/utilities/ngctl/meta-commands/#log_in_to_meta)时指定了自定义路径,则该选项必须设置为该自定义路径。 | 否 | String ## 禁用用户 []() 在 Meta 服务中禁用一个用户。 ### 命令语法 ```` ngctl user disable --tokenFile ```` ### 选项 | 选项 | 别名 | 描述 | 是否必选 | 类型 | `--tokenFile` | - | 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径`$HOME/.nebula_meta_token`。 若在[登录 Meta 服务](https://dev-docs.yueshu.com.cn/v5.3.2/utilities/ngctl/meta-commands/#log_in_to_meta)时指定了自定义路径,则该选项必须设置为该自定义路径。 | 否 | String ## 解锁用户 []() 解锁一个因登录失败次数过多而被临时锁定的用户。 `unlock`用于清除用户的临时锁定状态,不会改变用户的激活状态。若用户已被禁用,仍需先启用该用户,用户才能连接服务组。 ### 命令语法 ```` ngctl user unlock --tokenFile ```` ### 选项 | 选项 | 别名 | 描述 | 是否必选 | 类型 | `--tokenFile` | - | 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径`$HOME/.nebula_meta_token`。 若在[登录 Meta 服务](https://dev-docs.yueshu.com.cn/v5.3.2/utilities/ngctl/meta-commands/#log_in_to_meta)时指定了自定义路径,则该选项必须设置为该自定义路径。 | 否 | String ## 显示用户 []() 显示 Meta 服务中的一个或多个用户的详情。 ### 命令语法 ```` ngctl user show --output --tokenFile ```` ### 选项 | 选项 | 别名 | 描述 | 是否必选 | 类型 | `--output` | `-o` | 输出格式。有效值:`table`和`json`。不指定时,`table`为默认值。 | 否 | String | `--tokenFile` | - | 存储 Meta 访问令牌的文件路径。若未设置,则默认使用路径`$HOME/.nebula_meta_token`。 若在[登录 Meta 服务](https://dev-docs.yueshu.com.cn/v5.3.2/utilities/ngctl/meta-commands/#log_in_to_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 ````