MySQL Shell 是 MySQL 的高级命令行客户端和代码编辑器。除了 SQL,MySQL Shell 还为 JavaScript 和 Python 提供脚本功能。有关使用 MySQL Shell 的信息,请参阅 MySQL Shell 8.0。当 MySQL Shell 通过 X 协议连接到 MySQL 服务器时,X DevAPI 可用于处理关系数据和文档数据,请参阅 使用 MySQL 作为文档存储。MySQL Shell 包括 AdminAPI,使您能够使用 InnoDB Cluster、InnoDB ClusterSet 和 InnoDB ReplicaSet 部署;请参阅第 6 章,MySQL AdminAPI。
这里描述的许多选项都与 MySQL Shell 和 MySQL Server 实例之间的连接有关。有关详细信息,请参阅 第 4.3 节,“MySQL Shell 连接”。
mysqlsh支持以下命令行选项。
表 A.1 mysqlsh 选项
选项名称 | 描述 | 介绍 | 弃用 |
---|---|---|---|
-- | API命令行集成开始 | ||
--auth-方法 | 要使用的身份验证方法 | ||
- 簇 | 连接到 InnoDB 集群 | 8.0.4 | |
--列类型信息 | 打印结果集中列的元数据 | 8.0.14 | |
- 压缩 | 压缩客户端和服务器之间发送的所有信息 | 8.0.14 | |
--连接超时 | 全局会话的连接超时 | 8.0.13 | |
--credential-store-helper | 密码的 Secret Store 助手 | 8.0.12 | |
- 数据库 | 要使用的模式(--schema 的别名) | ||
--dba | 与 MySQL 5.7 服务器连接时启用 X 协议 | ||
--dba-log-sql | 记录由 AdminAPI 操作执行的 SQL 语句 | 8.0.18 | 8.0.30 |
--数据库密码 | 连接到服务器时使用的密码 | 8.0.13 | |
--dbuser | 连接到服务器时使用的 MySQL 用户名 | 8.0.13 | |
- 执行 | 执行命令并退出 | ||
--fido-register-factor | 向服务器注册一个 FIDO 设备进行身份验证 | 8.0.29 | |
- 文件 | 要以批处理模式处理的文件 | ||
- 力量 | 即使发生错误,仍以 SQL 和批处理模式继续 | ||
--get-server-public-key | 从服务器请求 RSA 公钥 | ||
- 帮助 | 显示帮助信息并退出 | ||
--histignore | 未添加到历史记录的字符串 | 8.0.3 | |
- 主持人 | MySQL 服务器实例所在的主机 | ||
- 进口 | 从文件或标准输入导入 JSON 文档 | 8.0.13 | |
- 交互的 | 以批处理模式模拟交互模式 | ||
--js , --javascript | 以 JavaScript 模式启动 | ||
--json | 以 JSON 格式打印输出 | ||
--日志文件 | 此实例的日志文件位置 | 8.0.27 | |
--日志级别 | 指定日志记录级别 | ||
--log-sql | 将所有 MySQL Shell 生成的 SQL 语句记录到 MySQL Shell 日志文件中。 | 8.0.30 | |
-嘛 | 自动检测会话的传输协议 | 8.0.3 | 8.0.13 |
--mysql , -mc | 使用经典 MySQL 协议创建会话 | 8.0.3 | |
--mysql-插件目录 | 安装客户端插件的目录 | 8.0.27 | |
--mysqlx , -mx | 使用 X 协议创建会话 | 8.0.3 | |
--名称缓存 | 启用基于活动默认架构的表名自动加载 | 8.0.4 | |
--no-name-cache | 禁用自动完成 | 8.0.4 | |
--无密码 | 没有为此连接提供密码 | ||
--无向导, -- nw | 禁用交互式向导 | ||
--寻呼机 | 用于显示输出的外部分页器工具 | 8.0.13 | |
- 密码 | 连接到服务器时使用的密码(--dbpassword 的别名) | ||
--密码1 | 多因素身份验证的密码 1(相当于 --password) | 8.0.28 | |
--密码2 | 用于多重身份验证的密码 2 | 8.0.28 | |
--密码3 | 多重身份验证的密码 3 | 8.0.28 | |
--passwords-from-stdin | 从标准输入读取密码 | ||
- 港口 | 用于连接的 TCP/IP 端口号 | ||
--py , --python | 以 Python 模式启动 | ||
--pyc | 执行 Python 命令并退出。在此之后指定的任何选项都被视为已处理命令的参数。 | 8.0.31 | |
--安静启动 | 在不打印介绍信息的情况下开始 | ||
--recreate-schema | 删除并重新创建模式 | ||
--redirect-primary | 确保连接到 InnoDB 集群的主节点 | 8.0.4 | |
--redirect-secondary | 确保连接到 InnoDB 集群的辅助节点 | ||
--结果格式 | 设置此会话的输出格式 | 8.0.14 | |
--保存密码 | 密码如何存储在 Secret Store 中 | 8.0.12 | |
--模式 | 要使用的模式 | ||
--server-public-key-path | 包含 RSA 公钥的文件的路径名 | ||
--显示警告 | 如果有任何语句,则在每个语句后显示警告(在 SQL 模式下) | ||
- 插座 | 要使用的 Unix 套接字文件或 Windows 命名管道(仅限经典 MySQL 协议) | ||
--sql | 以SQL模式启动,自动检测用于连接的协议 | ||
--sqlc | 使用经典的 MySQL 协议连接以 SQL 模式启动 | ||
--sqlx | 使用 X 协议连接以 SQL 模式启动 | 8.0.3 | |
--ssh | 用于连接到 SSH 服务器的 URI | 8.0.28 | |
--ssh 配置文件 | 连接SSH服务器的配置文件 | 8.0.28 | |
--ssh 身份文件 | 用于连接到 SSH 服务器的标识文件 | 8.0.28 | |
--ssl-ca | 包含可信 SSL 证书颁发机构列表的文件 | ||
--ssl-capath | 包含受信任的 SSL 证书颁发机构证书文件的目录 | ||
--ssl证书 | 包含 X.509 证书的文件 | ||
--ssl密码 | 要使用的 SSL 密码的名称 | ||
--ssl-crl | 包含证书吊销列表的文件 | ||
--ssl-crlpath | 包含证书吊销列表文件的目录 | ||
--ssl-密钥 | 包含 X.509 密钥的文件 | ||
--ssl模式 | 连接到服务器的所需安全状态 | ||
--系统日志 | 将交互式 SQL 语句记录到系统日志记录工具 | 8.0.24 | |
--标签式 | 以制表符分隔格式显示输出 | ||
- 桌子 | 以表格格式显示输出 | ||
--tls-版本 | 加密连接允许的 TLS 协议 | ||
--uri | URI 格式的会话信息 | ||
- 用户 | 连接到服务器时使用的 MySQL 用户名(--dbuser 的别名) | ||
--冗长 | 激活控制台的详细输出 | 8.0.17 | |
- 版本 | 显示版本信息并退出 | ||
- 垂直的 | 垂直显示所有 SQL 结果 |
-
--help
,-?
显示帮助信息并退出。
-
标记 mysqlsh 选项列表的结尾和命令的开始及其用于 MySQL Shell 的 API 命令行集成的参数。您可以使用以下语法从命令行执行 MySQL Shell 全局对象的方法:
mysqlsh [options] -- object method [arguments]
有关详细信息,请参阅第 5.8 节 “API 命令行集成” 。
-
用于帐户的身份验证方法。取决于用于帐户密码的身份验证插件。对于使用经典 MySQL 协议的 MySQL Shell 连接,请指定身份验证插件的名称,例如
caching_sha2_password
。对于使用 X 协议的 MySQL Shell 连接,请指定以下选项之一:- 汽车
让图书馆选择身份验证方法。
- 倒退
让库选择认证方式,但不要使用任何不兼容MySQL 5.7的认证方式。
- FROM_CAPABILITIES
让库选择身份验证方法,使用服务器实例宣布的功能。
- MySQL41
使用MySQL 4.1及以后版本支持的质询-应答认证协议,不发送明文密码。
mysql_native_password
此选项与使用身份验证插件 的帐户兼容 。- 清楚的
发送明文密码进行身份验证。仅将此选项用于加密连接。
caching_sha2_password
如果存在 SSL 连接,此选项可用于对使用身份验证插件的帐户使用缓存的凭据进行 身份验证。请参阅 将 X 插件与缓存 SHA-2 身份验证插件一起使用。- SHA256_内存
使用存储在内存中的散列密码进行身份验证。此选项可用于使用缓存的凭据对使用
caching_sha2_password
身份验证插件的帐户进行身份验证,其中存在非 SSL 连接。请参阅 将 X 插件与缓存 SHA-2 身份验证插件一起使用。
对于使用经典 MySQL 协议的 MySQL Shell 连接,指定用户帐户使用的身份验证插件的名称,例如
caching_sha2_password
(这是在 MySQL 8.0 中创建的用户帐户的默认值)。MySQL Shell 使用 MySQL 客户端库对这些连接进行客户端身份验证。以下身份验证方法需要额外配置:- 明文密码
mysql_clear_password
客户端插件是简单 LDAP 身份验证所必需的 。它内置于 MySQL 客户端库中,但出于安全考虑,默认情况下未启用。从 MySQL Shell 8.0.27 开始,当您使用--auth-method=clear_text_password
连接选项指定它时,MySQL Shell 会启用并使用该插件。这种认证类型只适用于使用 SSL 或套接字的安全连接,因此您必须在使用前配置安全连接。请注意,使用选项ssl-mode=preferred
,不保证 SSL 连接,因此设置了此选项的连接不被视为 SSL 连接。有关详细信息,请参阅 第 4.3.3 节,“使用加密连接”。- authentication_ldap_sasl_client
authentication_ldap_sasl_client
客户端插件用于基于 SASL 的 LDAP 身份验证,包括 GSSAPI/Kerberos 身份验证 。它没有内置到 MySQL 客户端库中,而是包含在 MySQL 服务器包中。要加载它,您必须使用--mysql-plugin-dir
选项(可从 MySQL Shell 8.0.27 获得)指定 MySQL 服务器包中插件的路径。- authentication_kerberos_client
authentication_kerberos_client
客户端插件用于 Kerberos 身份验证 。它没有内置到 MySQL 客户端库中,而是包含在 MySQL 服务器包中。要加载它,您必须使用--mysql-plugin-dir
选项(可从 MySQL Shell 8.0.27 获得)指定 MySQL 服务器包中插件的路径。
--auth-method
当该选项用于指定authentication_ldap_sasl_client
或authentication_kerberos_client
插件,并且该--mysql-plugin-dir
选项用于提供插件路径 时,MySQL 8.0.27 支持用于 Kerberos 身份验证的缓存票证授予票证 (TGT) 。要使用缓存的 TGT,请不要在连接选项中指定用户和密码。当您指定这些插件之一并且不指定用户和密码时,MySQL Shell 不会提供系统用户名,不会提示输入密码,也不会尝试使用 Secret Store helper 来检索或存储凭据。有关详细信息,请参阅 第 4.3.4 节 “使用 LDAP 和 Kerberos 身份验证”。
-
确保目标服务器是 InnoDB 集群的一部分,如果是,则将
cluster
全局变量设置为集群对象。 -
在SQL模式下,在打印查询返回的结果集之前,打印结果集中每一列的元数据,例如列类型和排序规则。
列类型作为 MySQL Shell (
Type
) 使用的类型和原始数据库 (DBType
) 使用的类型返回。对于使用经典 MySQL 协议的 MySQL Shell 连接,DBType
由协议返回,对于 X 协议连接,DBType
从可用信息推断。列长度 (Length
) 以字节为单位返回。 -
--compress[={required|preferred|disabled}]
,-C [{required|preferred|disabled}]
控制使用此连接在客户端和服务器之间发送的信息的压缩。在 MySQL Shell 8.0.14 到 8.0.19 中,此选项仅适用于经典 MySQL 协议连接,不使用选项
required
、preferred
和disabled
。在这些版本中,当您指定 时--compress
,如果可能会激活压缩。从 MySQL Shell 8.0.20 开始,它也可用于 X 协议连接,您可以选择指定required
、preferred
或disabled
。当--compress
从 MySQL Shell 8.0.20 指定 just 时,意思是--compress=required
. 看 第 4.3.6 节,“使用压缩连接”获取有关在所有版本中使用 MySQL Shell 的压缩控制的信息。 -
配置 MySQL Shell 等待多长时间(以毫秒为单位)以建立通过命令行参数指定的全局会话。
-
--credential-store-helper=
helper
用于存储和检索密码的 Secret Store Helper。请参见 第 4.4 节 “可插入密码存储”。
-
--database=
,name
-D
name
要使用的默认架构。这是 的别名
--schema
。 -
在与 MySQL 5.7 服务器的连接上启用 X 插件,以便您可以使用 X 协议连接进行后续连接。需要使用经典 MySQL 协议的连接。与默认启用 X 插件的 MySQL 8.0 服务器无关。
-
记录由 AdminAPI 操作(不包括沙箱操作)执行的 SQL 语句。默认情况下,此类语句不会写入 MySQL Shell 应用程序日志文件或作为详细输出发送到控制台,即使设置了
--log-level
和--verbose
选项。该选项的值是0到2范围内的整数。0不记录或显示此类语句,如果不指定该选项,这是默认行为。1 记录由 AdminAPI 操作执行的 SQL 语句,SELECT
语句和SHOW
语句(如果您在没有值的情况下在命令行上指定选项,则这是默认设置)。2 完整记录由常规 AdminAPI 操作执行的 SQL 语句,包括SELECT
和SHOW
语句。有关详细信息,请参阅 第 12 章,MySQL Shell 日志记录和调试。 -
--log-sql[=off|error|on|unfiltered]
将MySQL Shell执行的所有SQL语句记录到MySQL Shell日志文件中,
mysqlsh.log
-
在 MySQL Shell 的 8.0.13 版中已弃用。改用 。
--password[=
password
] -
在 MySQL Shell 的 8.0.13 版中已弃用。改用 。
--user=
user_name
-
--execute=
,command
-e
command
使用当前活动的语言执行命令并退出。此选项与选项互斥 。
--file=
file_name
-
必须执行 FIDO 设备注册的一个或多个因素。此选项值必须是单个值,或以逗号分隔的两个值。每个值必须为 2 或 3,因此允许的选项值为“2”、“3”、“2,3”和“3,2”。例如:
mysqlsh --user=user_name --password1 --fido-register-factor=2 Enter password: (enter factor 1 password)
要注册无密码身份验证帐户,FIDO 设备是唯一的身份验证,您
--fido-register-factor=2
需要提供临时密码。服务器在注册成功后将FIDO认证移至第一因素。笔记如果您在连接到服务器时未指定密码,则 MySQL Shell 会提示输入密码。使用 FIDO 设备设置无密码身份验证后,使用以下方法之一在建立连接时绕过密码提示:
指定连接选项
--no-password
,或--password=
使用空值。在连接字符串中的用户名后放置一个冒号 (:),例如:
mysqlsh user_name:@localhost
出现密码提示时按 Enter。
MySQL Shell
--fido-register-factor
选项的工作方式与mysql 客户端选项相同。有关更多详细信息和说明,请参阅 FIDO 可插入身份验证。 -
--file=
,file_name
-f
file_name
指定要在批处理模式下处理的文件。在此之后指定的任何选项都用作已处理文件的参数。
-
即使发生错误,也可以在 SQL 和批处理模式下继续处理。
-
指定不添加到 MySQL Shell 历史记录中的字符串。字符串由冒号分隔。匹配不区分大小写,通配符 * 和 ? 可以使用。默认忽略的字符串指定为 “
*IDENTIFIED*:*PASSWORD*
”。请参阅第 5.5 节,“代码历史”。 -
--host=
,host_name
-h
host_name
连接到给定主机上的 MySQL 服务器。在 Windows 上,如果您指定
--host=.
或-h .
(将主机名作为句点),MySQL Shell 将使用默认命名管道(其名称为MySQL
)或您使用该--socket
选项指定的替代命名管道进行连接。 -
MySQL Shell 相当于
--get-server-public-key
.如果 给出并指定一个有效的公钥文件,它优先于 .
--server-public-key-path=
file_name
--get-server-public-key
重要的仅支持经典 MySQL 协议连接。
请参阅缓存 SHA-2 可插入身份验证。
-
使用 JSON 导入实用程序将 JSON 文档从文件或标准输入导入到 MySQL 服务器集合或关系表。有关说明,请参阅 第 11.2 节,“JSON 导入实用程序”。
-
在批处理模式下模拟交互模式。
-
--js
,--javascript
以 JavaScript 模式启动。
-
控制来自此会话的 MySQL Shell 输出的 JSON 包装。此选项旨在将 MySQL Shell 与其他程序连接起来,例如作为测试的一部分。要更改查询结果输出以使用 JSON 格式,请参阅
--result-format
。当该
--json
选项没有值或值的值时pretty
,输出将生成相当打印的JSON。值为 时raw
,输出以原始 JSON 格式生成。在任何这些情况下,--result-format
选项及其别名以及resultFormat
MySQL Shell 配置选项的值都将被忽略。值为 时,不进行 JSON 包装,结果集按选项或配置选项off
指定的格式正常输出 。--result-format
resultFormat
-
更改
mysqlsh.log
此 MySQL Shell 实例的 MySQL Shell 应用程序日志文件的位置。应用程序日志文件的默认位置是用户配置路径,默认%APPDATA%\MySQL\mysqlsh\
位于 Windows 或~/.mysqlsh/
Unix 上。您可以通过定义环境变量来覆盖所有 MySQL Shell 实例的用户配置路径MYSQLSH_USER_CONFIG_HOME
。该--log-file
选项适用于单个 MySQL Shell 实例,这意味着不同的实例可以写入不同的位置。 -
更改 MySQL Shell 应用程序日志文件的日志记录级别
mysqlsh.log
,或禁用该文件的日志记录。该选项需要一个值,该值可以是 1 到 8 范围内的整数,也可以是none
、internal
、error
、warning
、info
、debug
、debug2
或之一debug3
。指定 1 或none
禁用记录到应用程序日志文件。info
如果您不指定此选项,则级别 5 ( ) 是默认级别。请参阅 第 12 章,MySQL Shell 日志记录和调试。 -
在 MySQL Shell 的 8.0.13 版中已弃用。自动尝试使用 X 协议创建会话连接,如果 X 协议不可用,则回退到经典 MySQL 协议。
-
--mysql
,--mc
将启动时创建的全局会话设置为使用经典的 MySQL 协议连接。带有两个连字符的
--mc
选项替换了-mc
MySQL Shell 8.0.13 中以前的单个连字符选项。 -
通过覆盖设置的值来设置客户端身份验证插件的非持久路径
shell.options.mysqlPluginDir
。客户端插件在 MySQL 服务器包中提供,可以相对于 MySQL 基本目录(basedir
系统变量的值)定位。例如:C:\program files\mysql\mysql Server 8.0\lib\plugin
在 Windows 主机类型上/usr/local/mysql/lib/plugin
在 Linux 主机类型上
有关服务器附带的客户端身份验证插件的列表,请参阅 可用的身份验证插件。
-
--mysqlx
,--mx
将启动时创建的全局会话设置为使用 X 协议连接。带有两个连字符的
--mx
选项替换了-mx
MySQL Shell 8.0.13 中以前的单个连字符选项。 -
启用基于活动默认模式的表名自动加载。
-
--no-name-cache
,-A
基于活动的默认架构和 DevAPI
db
对象禁用自动完成的表名加载。用于\rehash
手动重新加载名称信息。 -
当连接到服务器时,如果用户有一个不安全且不推荐的无密码帐户,或者如果正在使用 socket peer-credential 身份验证(对于 Unix socket 连接),则必须使用
--no-password
明确指定不提供密码并且不需要密码提示。 -
--no-wizard
,-nw
dba.configureInstance()
禁用创建连接、 等操作提供的交互式向导
。当您想要编写 MySQL Shell 脚本并且不显示交互式提示时,请使用此选项。有关详细信息,请参阅 第 5.6 节“批处理代码执行”和 第 5.8 节“API 命令行集成”。Cluster
.rebootClusterFromCompleteOutage() -
MySQL Shell 使用的外部分页工具,用于显示在 SQL 模式下执行的语句和其他选定命令(如联机帮助)的文本输出。如果不设置寻呼机,
PAGER
则使用环境变量指定的寻呼机。请参见 第 4.6 节 “使用寻呼机”。 -
从标准输入而不是终端读取密码。此选项不会影响任何其他密码行为,例如密码提示。
-
--password[=
,password
]-p
password
连接到服务器时使用的密码。连接到 MySQL Shell 所接受的最大密码长度为 128 个字符。
-
--password=
( ) 的值提供用于连接的密码。对于长格式 ,您必须在选项及其值之间使用等号而不是空格。对于缩写形式,选项与其值之间不能有空格。如果在任何一种情况下都使用空格,则该值不会被解释为密码,而可能被解释为另一个连接参数。password
-p
password
--password=
-p
在命令行上指定密码应该被认为是不安全的。请参阅 密码安全的最终用户指南。您可以使用选项文件来避免在命令行中提供密码。
--password
没有值和等号,或-p
没有值,请求密码提示。--password=
具有空值与 具有相同的效果--no-password
,它指定用户在没有密码的情况下进行连接。当连接到服务器时,如果用户有一个不安全且不推荐的无密码帐户,或者如果正在使用套接字对等凭据身份验证(对于 Unix 套接字连接),则必须使用这些方法之一来显式指定不提供密码,不需要密码提示。
-
-
--password1
,--password2
和--password3
是用于需要多重身份验证的帐户的密码。您最多可以提供三个密码。选项与选项的工作方式相同--password
,并被--password1
视为等同于该选项。您可以在命令行上的选项后面指定一个密码值(这是不安全的),或者如果在没有密码值的情况下给出选项,MySQL Shell 会依次提示用户输入每个密码。这些选项可从 MySQL Shell 8.0.28 获得,它们仅支持使用命令行参数建立的经典 MySQL 协议连接。 -
需要多重身份验证的帐户的第二种身份验证方法的密码。请参阅
--password1
选项的说明。 -
需要多重身份验证的帐户的第三种身份验证方法的密码。请参阅
--password1
选项的说明。 -
--port=
,port_num
-P
port_num
用于连接的 TCP/IP 端口号。默认为端口 33060。
-
--py
,--python
以 Python 模式启动。
-
--pyc
-c
执行 Python 命令并退出。在此之后指定的任何选项都被视为已处理命令的参数。
-
在 MySQL Shell 的 Python 模式下将指定的 Python 模块作为脚本执行。
--pym
工作方式与 Python 的-m
命令行选项相同。此选项可从 MySQL Shell 8.0.22 获得。 -
开始时不打印介绍性信息。MySQL Shell 通常会打印有关产品的信息、有关会话的信息(例如默认架构和连接 ID)、警告消息以及在启动和连接期间返回的任何错误。当您指定
--quiet-start
没有值或值为 1 时,不打印有关 MySQL Shell 产品的信息,但会打印会话信息、警告和错误。值为 2 时,仅打印错误。 -
删除并重新创建在连接选项中指定的架构,作为类似 URI 的连接字符串的一部分或使用
--schema
、--database
或-D
选项。如果模式存在,则将其删除。 -
确保目标服务器是 InnoDB Cluster 或 InnoDB ReplicaSet 的一部分,如果它不是主服务器,则找到主服务器并连接到它。如果在使用此选项时出现以下任何情况,则 MySQL Shell 将退出并出错:
没有指定实例
在 InnoDB 集群上,组复制不活跃
InnoDB Cluster 元数据不存在
没有法定人数
-
确保目标服务器属于 InnoDB ReplicaSet,如果是,则使用
rs
InnoDB ReplicaSet 填充全局变量。然后,您可以使用全局变量管理 InnoDB ReplicaSetrs
,例如通过发出rs.status()
. -
确保目标服务器是单主 InnoDB Cluster 或 InnoDB ReplicaSet 的一部分,如果它不是辅助服务器,则找到辅助服务器并连接到它。如果在使用此选项时出现以下任何情况,则 MySQL Shell 将退出并出错:
在 InnoDB 集群上,组复制不活跃
InnoDB Cluster 元数据不存在
没有法定人数
集群不是单主集群,而是以多主模式运行
没有可用的辅助服务器,例如因为只有一个服务器实例
-
--result-format={table|tabbed|vertical|json|json/pretty|ndjson|json/raw|json/array}
resultFormat
为此会话 设置 MySQL Shell 配置选项的值。格式如下:- 桌子
交互模式的默认值,除非在配置文件中为配置选项永久设置了另一个值
resultFormat
,在这种情况下应用默认值。--table
也可以使用别名 。- 选项卡式
批处理模式的默认值,除非在配置文件中为配置选项永久设置了另一个值
resultFormat
,在这种情况下应用默认值。--tabbed
也可以使用别名 。- 垂直的
产生相当于
\G
SQL 查询终止符的输出。也可以使用 或--vertical
别名 。-E
- json 或 json/漂亮
生成漂亮的 JSON。
- ndjson 或 json/raw
生成由换行符分隔的原始 JSON。
- json/数组
生成包装在 JSON 数组中的原始 JSON。
如果
--json
命令行选项用于激活会话输出的 JSON 包装,则该--result-format
选项及其别名和resultFormat
配置选项的值将被忽略。 -
--save-passwords={always|prompt|never}
控制密码是否自动存储在秘密存储中。
always
意味着密码总是被存储,除非它们已经在商店中或服务器 URL 被过滤器排除。never
意味着永远不会存储密码。prompt
,这是默认设置,表示询问用户是否存储密码。请参见 第 4.4 节 “可插入密码存储”。 -
--schema=
,name
-D
name
要使用的默认模式。
-
--server-public-key-path=
file_name
MySQL Shell 相当于
--server-public-key-path
.如果 给出并指定一个有效的公钥文件,它优先于 .
--server-public-key-path=
file_name
--get-server-public-key
重要的仅支持经典 MySQL 协议连接。
请参阅
caching_sha2_password
插件 缓存 SHA-2 可插入身份验证。 -
当指定 true 时,这是默认值,在 SQL 模式下,MySQL Shell 在每个 SQL 语句之后显示警告(如果有的话)。如果指定 false,则不显示警告。
-
--socket[=
,path
]-S
[path]
在 Unix 上,当指定路径时,该路径是用于连接的 Unix 套接字文件的名称。如果您指定
--socket
没有值和等号,或者-S
没有值,则使用适当协议的默认 Unix 套接字文件。在 Windows 上,路径是用于连接的命名管道的名称。管道名称不区分大小写。在 Windows 上,您必须指定路径,并且该
--socket
选项仅适用于经典 MySQL 协议会话。如果指定端口或主机名而不是
localhost
Unix 或 Windows 上的句点 (.),则无法指定套接字。 -
以 SQL 模式启动,如果未将其指定为连接信息的一部分,则自动检测要使用的协议。当未指定要使用的协议时,默认为 X 协议连接,回退到经典的 MySQL 协议连接。要强制连接使用特定协议,请参阅
--sqlx
或--sqlc
选项。或者,指定一个协议以用作类似 URI 的连接字符串的一部分或使用该--port
选项。有关详细信息,请参阅 第 4.3 节,“MySQL Shell 连接”和 MySQL Shell 端口。 -
以 SQL 模式启动,强制连接使用经典的 MySQL 协议,例如在不支持 X 协议的服务器上使用 MySQL Shell。如果你没有指定端口作为连接的一部分,当你提供这个选项时,MySQL Shell 使用默认的经典 MySQL 协议端口,通常是 3306。你连接到的端口必须支持经典 MySQL 协议,所以例如如果连接您指定使用 X 协议默认端口 33060,连接失败并出现错误。有关详细信息,请参阅 第 4.3 节,“MySQL Shell 连接”和 MySQL Shell 端口。
-
以 SQL 模式启动,强制连接使用 X 协议。如果您没有将端口指定为连接的一部分,则当您提供此选项时,MySQL Shell 使用默认的 X 协议端口,通常为 33060。您要连接的端口必须支持 X 协议,例如,如果您指定的连接使用经典的MySQL协议默认端口3306,连接失败报错。有关详细信息,请参阅 第 4.3 节,“MySQL Shell 连接”和 MySQL Shell 端口。
-
创建一个 SSH 隧道,提供到 MySQL 服务器实例的加密连接。以 格式提供用于连接到 SSH 服务器的 URI
[user@]host[:port]
,例如:--ssh root@198.51.100.4:2222
使用此选项时,还必须指定
--user
、--host
和--port
选项或 URI,以连接到 MySQL 服务器实例。有关来自 MySQL Shell 的 SSH 隧道连接的信息,请参阅 第 4.3.5 节,“使用 SSH 隧道”。 -
指定用于连接 SSH 服务器的 SSH 配置文件的路径。
ssh.configFile
如果未指定此选项,则可以使用 MySQL Shell 配置选项将自定义文件设置为默认文件。如果ssh.configFile
没有设置,默认是标准的 SSH 配置文件~/.ssh/config
。如果您指定--ssh-config-file
一个空值,ssh.configFile
则忽略指定的默认文件,并~/.ssh/config
使用该文件代替。 -
指定用于连接到 SSH 服务器的身份文件的路径。
~/.ssh/id_rsa
如果未指定此选项,则默认为 SSH 配置文件夹 ( ) 中的标准私钥文件。 -
以 开头的选项
--ssl
指定是否使用 SSL 连接到服务器并指示在哪里可以找到 SSL 密钥和证书。mysqlsh SSL 选项的功能与 MySQL 服务器的 SSL 选项相同,有关更多信息,请参阅 加密连接的 命令选项。mysqlsh接受这些 SSL 选项:
--ssl-mode
,--ssl-ca
,--ssl-capath
,--ssl-cert
,--ssl-cipher
,--ssl-crl
,--ssl-crlpath
,--ssl-key
,--tls-version
。 -
将您在 MySQL Shell 的 SQL 模式下发出的 SQL 语句发送到操作系统的系统日志记录工具(
syslog
在 Unix 上,或 Windows 事件日志)。SQL 语句的系统日志记录仅在 MySQL Shell 以交互模式启动时发生,因此可以正常启动或使用--interactive
选项启动。--execute
如果在启动时使用或--file
选项以mysqlsh
批处理模式运行,则不会发生 。有关详细信息,请参阅 第 12.3 节,“用户 SQL 语句的系统日志记录”。 -
在交互模式下以制表符分隔格式显示结果。该模式的默认值为表格格式。该选项是该选项的别名
--result-format=tabbed
。 -
在批处理模式下以表格格式显示结果。该模式的默认值是制表符分隔格式。该选项是该选项的别名
--result-format=table
。 -
在启动时创建一个连接,在一个类似 URI 的字符串中指定连接选项,如 使用类似 URI 的字符串或键值对连接到服务器中所述。
-
--user=
,user_name
-u
user_name
连接到服务器时使用的 MySQL 用户名。
-
激活到控制台的详细输出并指定详细程度。该值为 0 到 4 范围内的整数。0 不显示任何消息,这是您未指定该选项时的默认详细设置。1 显示错误、警告和信息性消息(如果您在没有值的命令行上指定选项,则这是默认设置)。2、3 和 4 添加更高级别的调试消息。有关详细信息,请参阅 第 12 章,MySQL Shell 日志记录和调试。
-
--version
,-V
显示 MySQL Shell 的版本并退出。
-
--vertical
,-E
垂直显示结果,就像将
\G
终止符用于 SQL 查询时一样。该选项是该选项的别名--result-format=vertical
。