除了使用连接字符串指定连接参数外,还可以在启动 MySQL Shell 时使用每个值的单独命令参数来定义连接数据。有关 MySQL Shell 命令选项的完整参考,请参阅 第 A.1 节“mysqlsh — MySQL Shell”。
使用以下与连接相关的参数
命令选项的行为方式类似于 mysql 客户端使用的选项,如 使用命令选项连接到 MySQL 服务器 中所述。
使用以下命令选项来控制是否以及如何为连接提供密码
-
--password=
(密码
-p
) 带有值,提供要用于连接的密码(最多 128 个字符)。使用长格式密码
--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