Documentation Home
MySQL 外壳 8.0  / 第 4 章 MySQL Shell 入门  / 4.3 MySQL Shell 连接  /  4.3.1 使用个别参数连接

4.3.1 使用个别参数连接

除了使用连接字符串指定连接参数外,还可以在启动 MySQL Shell 时为每个值使用单独的命令参数来定义连接数据。有关 MySQL Shell 命令选项的完整参考,请参阅第 A.1 节,“mysqlsh — MySQL Shell”

使用以下连接相关参数:

命令选项的行为类似于使用命令选项连接到 MySQL 服务器中描述的 用于mysql客户端的选项。

使用以下命令选项来控制是否以及如何为连接提供密码:

  • --password=password ( ) 和一个值提供用于连接的密码(最多 128 个字符)。对于长格式 ,您必须在选项及其值之间使用等号而不是空格。对于缩写形式,选项与其值之间不能有空格。如果在任何一种情况下都使用空格,则该值不会被解释为密码,而可能被解释为另一个连接参数。 -ppassword--password=-p

    在命令行上指定密码应该被认为是不安全的。请参阅 密码安全的最终用户指南。您可以使用选项文件来避免在命令行中提供密码。

  • --password没有值和等号,或-p没有值,请求密码提示。

  • --no-password,或 --password=具有空值,指定用户在没有密码的情况下连接。当连接到服务器时,如果用户有一个不安全且不推荐的无密码帐户,或者如果正在使用套接字对等凭据身份验证(对于 Unix 套接字连接),则必须使用这些方法之一来显式指定不提供密码,不需要密码提示。

  • --password1--password2--password3,可从 MySQL Shell 8.0.28 获得,是需要多重身份验证的帐户的密码。您最多可以提供三个密码。这些选项的工作方式与 --password 选项相同,--password1 被视为等同于该选项。这些选项可从 MySQL Shell 8.0.28 获得,它们仅支持使用命令行参数建立的经典 MySQL 协议连接。

当以多种方式指定参数时,例如同时使用--uri选项和指定单个参数(如 ) --user,以下规则适用:

  • 如果多次指定参数,则使用最后一次出现的值。

  • 如果指定了单独的连接参数和 --uri,则将 的值--uri作为基础,并且单独参数的值会覆盖基础 URI 字符串中的特定组件。

    例如user从类似 URI 的字符串覆盖:

    $> mysqlsh --uri user@localhost:33065 --user otheruser

从 MySQL Shell 到服务器的连接可以加密,并且可以压缩,如果您请求这些功能并且服务器支持它们。有关建立加密连接的说明,请参阅 第 4.3.3 节,“使用加密连接”。有关建立压缩连接的说明,请参阅 第 4.3.6 节,“使用压缩连接”

以下示例显示如何使用命令参数指定连接。尝试在端口 33065 与指定用户建立 X 协议连接:

$> mysqlsh --mysqlx -u user -h localhost -P 33065

尝试与指定用户建立经典MySQL协议连接,请求对连接进行压缩:

$> mysqlsh --mysql -u user -h localhost -C