除了使用连接字符串指定连接参数外,还可以通过为每个值使用单独的命令参数,在启动 MySQL Shell 时定义连接数据。有关 MySQL Shell 命令选项的完整参考,请参见 第 A.1 节 “mysqlsh — MySQL Shell”。
使用以下与连接相关的参数
这些命令选项的行为类似于 mysql 客户端使用的选项,如 使用命令选项连接到 MySQL 服务器 中所述。
使用以下命令选项来控制是否以及如何为连接提供密码
-
--password=
(password
-p
) 带有一个值,用于提供要用于连接的密码(最多 128 个字符)。对于长格式password
--password=
,必须在选项及其值之间使用等号而不是空格。对于短格式-p
,选项与其值之间不能有空格。如果在这两种情况下都使用了空格,则该值不会被解释为密码,而可能被解释为另一个连接参数。在命令行上指定密码应该被认为是不安全的。请参见 最终用户密码安全指南。可以使用选项文件来避免在命令行上提供密码。
--password
不带值且没有等号,或-p
不带值,则会请求密码提示。--no-password
或--password=
带有一个空值,表示用户在没有密码的情况下进行连接。当连接到服务器时,如果用户拥有一个没有密码的帐户(这是不安全的,不建议这样做),或者如果正在使用套接字对等凭据身份验证(对于 Unix 套接字连接),则必须使用其中一种方法来明确指定不提供密码,并且不需要密码提示。--password1
、--password2
和--password3
是需要多因素身份验证的帐户的密码。最多可以提供三个密码。这些选项的工作方式与 --password 选项相同,并且 --password1 被视为等效于该选项。
当以多种方式指定参数时,例如同时使用 --uri
选项和指定诸如 --user
等单个参数,则适用以下规则
如果请求这些功能并且服务器支持,则可以加密从 MySQL Shell 到服务器的连接,也可以压缩这些连接。有关建立加密连接的说明,请参见 第 4.3.4 节 “使用加密连接”。有关建立压缩连接的说明,请参见 第 4.3.7 节 “使用压缩连接”。
以下示例显示了如何使用命令参数指定连接。尝试使用端口 33065 上的指定用户建立 X 协议连接
$> mysqlsh --mysqlx -u user -h localhost -P 33065
尝试使用指定用户建立经典 MySQL 协议连接,并请求对连接进行压缩
$> mysqlsh --mysql -u user -h localhost -C