#### 4.5.1.1 mysql 客户端选项

[](<>)[](<>)[](<>)[](<>)

[**mysql**](mysql.html)支持以下选项，可以在命令行中指定，也可以在`[mysql]`和`[客户]`选项文件的组。有关 MySQL 程序使用的选项文件的信息，请参阅[第 4.2.2.2 节，“使用选项文件”](option-files.html).

[](<>)

**表 4.11 mysql 客户端选项**

| 选项名称 | 描述 | 介绍 | 已弃用 |
| ---- | --- | --- | --- |
| [--自动重新散列](mysql-command-options.html#option_mysql_auto-rehash) | 启用自动重新散列 |  |  |
| [--自动垂直输出](mysql-command-options.html#option_mysql_auto-vertical-output) | 启用自动垂直结果集显示 |  |  |
| [--批](mysql-command-options.html#option_mysql_batch) | 不要使用历史文件 |  |  |
| [--二进制作为十六进制](mysql-command-options.html#option_mysql_binary-as-hex) | 以十六进制表示法显示二进制值 |  |  |
| [--二进制模式](mysql-command-options.html#option_mysql_binary-mode) | 禁用\\r\\n - 到 -\\n 翻译和处理\\0 作为查询结束 |  |  |
| [--绑定地址](mysql-command-options.html#option_mysql_bind-address) | 使用指定的网络接口连接 MySQL Server |  |  |
| [--字符集目录](mysql-command-options.html#option_mysql_character-sets-dir) | 安装字符集的目录 |  |  |
| [--列名](mysql-command-options.html#option_mysql_column-names) | 在结果中写入列名 |  |  |
| [--列类型信息](mysql-command-options.html#option_mysql_column-type-info) | 显示结果集元数据 |  |  |
| [--注释](mysql-command-options.html#option_mysql_comments) | 是否保留或删除发送到服务器的语句中的注释 |  |  |
| [--压缩](mysql-command-options.html#option_mysql_compress) | 压缩客户端和服务器之间发送的所有信息 |  | 8.0.18 |
| [--压缩算法](mysql-command-options.html#option_mysql_compression-algorithms) | 允许连接到服务器的压缩算法 | 8.0.18 |  |
| [--连接过期密码](mysql-command-options.html#option_mysql_connect-expired-password) | 向服务器指示客户端可以处理过期密码沙盒模式 |  |  |
| [--连接超时](mysql-command-options.html#option_mysql_connect-timeout) | 连接超时前的秒数 |  |  |
| [--数据库](mysql-command-options.html#option_mysql_database) | 要使用的数据库 |  |  |
| [--调试](mysql-command-options.html#option_mysql_debug) | 编写调试日志；仅当 MySQL 构建时支持调试支持 |  |  |
| [--调试检查](mysql-command-options.html#option_mysql_debug-check) | 程序退出时打印调试信息 |  |  |
| [--调试信息](mysql-command-options.html#option_mysql_debug-info) | 程序退出时打印调试信息、内存和 CPU 统计信息 |  |  |
| [--默认身份验证](mysql-command-options.html#option_mysql_default-auth) | 要使用的身份验证插件 |  |  |
| [--默认字符集](mysql-command-options.html#option_mysql_default-character-set) | 指定默认字符集 |  |  |
| [--defaults-额外文件](mysql-command-options.html#option_mysql_defaults-extra-file) | 除了通常的选项文件外，还读取命名的选项文件 |  |  |
| [--默认文件](mysql-command-options.html#option_mysql_defaults-file) | 只读命名选项文件 |  |  |
| [--defaults-组后缀](mysql-command-options.html#option_mysql_defaults-group-suffix) | 选项组后缀值 |  |  |
| [--分隔符](mysql-command-options.html#option_mysql_delimiter) | 设置语句分隔符 |  |  |
| [--dns-srv 名称](mysql-command-options.html#option_mysql_dns-srv-name) | 使用 DNS SRV 查找主机信息 | 8.0.22 |  |
| [--启用明文插件](mysql-command-options.html#option_mysql_enable-cleartext-plugin) | 启用明文身份验证插件 |  |  |
| [--执行](mysql-command-options.html#option_mysql_execute) | 执行语句并退出 |  |  |
| [--fido 注册因子](mysql-command-options.html#option_mysql_fido-register-factor) | 必须进行注册的多因素身份验证因素 | 8.0.27 |  |
| [--力量](mysql-command-options.html#option_mysql_force) | 即使发生 SQL 错误也继续 |  |  |
| [--get-server-public-key](mysql-command-options.html#option_mysql_get-server-public-key) | 从服务器请求 RSA 公钥 |  |  |
| [--帮助](mysql-command-options.html#option_mysql_help) | 显示帮助信息并退出 |  |  |
| [--histignore](mysql-command-options.html#option_mysql_histignore) | 指定要忽略哪些语句以进行日志记录的模式 |  |  |
| [--主持人](mysql-command-options.html#option_mysql_host) | MySQL服务器所在的主机 |  |  |
| [--html](mysql-command-options.html#option_mysql_html) | 生成 HTML 输出 |  |  |
| [--忽略空格](mysql-command-options.html#option_mysql_ignore-spaces) | 忽略函数名后的空格 |  |  |
| [--init 命令](mysql-command-options.html#option_mysql_init-command) | 连接后执行的SQL语句 |  |  |
| [--行号](mysql-command-options.html#option_mysql_line-numbers) | 写出错误的行号 |  |  |
| [--load-data-local-dir](mysql-command-options.html#option_mysql_load-data-local-dir) | 在 LOAD DATA LOCAL 语句中命名的文件的目录 | 8.0.21 |  |
| [--local-infile](mysql-command-options.html#option_mysql_local-infile) | 启用或禁用 LOAD DATA 的 LOCAL 功能 |  |  |
| [--登录路径](mysql-command-options.html#option_mysql_login-path) | 从 .mylogin.cnf 读取登录路径选项 |  |  |
| [--max-allowed-packet](mysql-command-options.html#option_mysql_max-allowed-packet) | 发送到服务器或从服务器接收的最大数据包长度 |  |  |
| [--max-join-size](mysql-command-options.html#option_mysql_max-join-size) | 使用 --safe-updates 时自动限制连接中的行 |  |  |
| [--命名命令](mysql-command-options.html#option_mysql_named-commands) | 启用命名的 mysql 命令 |  |  |
| [--净缓冲区长度](mysql-command-options.html#option_mysql_net-buffer-length) | TCP/IP 和套接字通信的缓冲区大小 |  |  |
| [--网络命名空间](mysql-command-options.html#option_mysql_network-namespace) | 指定网络命名空间 | 8.0.22 |  |
| [--no-auto-rehash](mysql-command-options.html#option_mysql_no-auto-rehash) | 禁用自动重新散列 |  |  |
| [--没有哔哔声](mysql-command-options.html#option_mysql_no-beep) | 发生错误时不发出蜂鸣声 |  |  |
| [--无默认值](mysql-command-options.html#option_mysql_no-defaults) | 不读取选项文件 |  |  |
| [--一个数据库](mysql-command-options.html#option_mysql_one-database) | 忽略命令行中命名的默认数据库以外的语句 |  |  |
| [--寻呼机](mysql-command-options.html#option_mysql_pager) | 使用给定的命令进行分页查询输出 |  |  |
| [--密码](mysql-command-options.html#option_mysql_password) | 连接服务器时使用的密码 |  |  |
| [--密码1](mysql-command-options.html#option_mysql_password1) | 连接到服务器时使用的第一个多重身份验证密码 | 8.0.27 |  |
| [--密码2](mysql-command-options.html#option_mysql_password2) | 连接到服务器时使用的第二个多重身份验证密码 | 8.0.27 |  |
| [--密码3](mysql-command-options.html#option_mysql_password3) | 连接到服务器时使用的第三个多重身份验证密码 | 8.0.27 |  |
| [--管道](mysql-command-options.html#option_mysql_pipe) | 使用命名管道连接到服务器（仅限 Windows） |  |  |
| [--插件目录](mysql-command-options.html#option_mysql_plugin-dir) | 插件安装目录 |  |  |
| [--港口](mysql-command-options.html#option_mysql_port) | 用于连接的 TCP/IP 端口号 |  |  |
| [--打印默认值](mysql-command-options.html#option_mysql_print-defaults) | 打印默认选项 |  |  |
| [--迅速的](mysql-command-options.html#option_mysql_prompt) | 将提示设置为指定格式 |  |  |
| [--协议](mysql-command-options.html#option_mysql_protocol) | 要使用的传输协议 |  |  |
| [--快的](mysql-command-options.html#option_mysql_quick) | 不缓存每个查询结果 |  |  |
| [--生的](mysql-command-options.html#option_mysql_raw) | 写入列值而不进行转义转换 |  |  |
| [--重新连接](mysql-command-options.html#option_mysql_reconnect) | 如果与服务器的连接丢失，自动尝试重新连接 |  |  |
| [--安全更新](mysql-command-options.html#option_mysql_safe-updates), [——我是一个假人](mysql-command-options.html#option_mysql_safe-updates) | 仅允许指定键值的 UPDATE 和 DELETE 语句 |  |  |
| [--选择限制](mysql-command-options.html#option_mysql_select-limit) | 使用 --safe-updates 时 SELECT 语句的自动限制 |  |  |
| [--服务器公钥路径](mysql-command-options.html#option_mysql_server-public-key-path) | 包含 RSA 公钥的文件的路径名 |  |  |
| [--shared-memory-base-name](mysql-command-options.html#option_mysql_shared-memory-base-name) | 共享内存连接的共享内存名称（仅限 Windows） |  |  |
| [--显示警告](mysql-command-options.html#option_mysql_show-warnings) | 如果有任何语句，则在每个语句后显示警告 |  |  |
| [--signt-忽略](mysql-command-options.html#option_mysql_sigint-ignore) | 忽略 SIGINT 信号（通常是键入 Control+C 的结果） |  |  |
| [--无声](mysql-command-options.html#option_mysql_silent) | 静音模式 |  |  |
| [--skip-auto-rehash](mysql-command-options.html#option_mysql_auto-rehash) | 禁用自动重新散列 |  |  |
| [--跳过列名](mysql-command-options.html#option_mysql_skip-column-names) | 不要在结果中写列名 |  |  |
| [--跳过行号](mysql-command-options.html#option_mysql_skip-line-numbers) | 跳过错误的行号 |  |  |
| [--skip-named-commands](mysql-command-options.html#option_mysql_named-commands) | 禁用命名的mysql命令 |  |  |
| [--skip-pager](mysql-command-options.html#option_mysql_pager) | 禁用分页 |  |  |
| [--skip-reconnect](mysql-command-options.html#option_mysql_reconnect) | 禁用重新连接 |  |  |
| [--插座](mysql-command-options.html#option_mysql_socket) | 要使用的 Unix 套接字文件或 Windows 命名管道 |  |  |
| [--ssl-ca](mysql-command-options.html#option_mysql_ssl) | 包含受信任 SSL 证书颁发机构列表的文件 |  |  |
| [--ssl-capath](mysql-command-options.html#option_mysql_ssl) | 包含受信任的 SSL 证书颁发机构证书文件的目录 |  |  |
| [--ssl 证书](mysql-command-options.html#option_mysql_ssl) | 包含 X.509 证书的文件 |  |  |
| [--ssl密码](mysql-command-options.html#option_mysql_ssl) | 连接加密的允许密码 |  |  |
| [--ssl-crl](mysql-command-options.html#option_mysql_ssl) | 包含证书吊销列表的文件 |  |  |
| [--ssl-crlpath](mysql-command-options.html#option_mysql_ssl) | 包含证书吊销列表文件的目录 |  |  |
| [--ssl-fips 模式](mysql-command-options.html#option_mysql_ssl-fips-mode) | 客户端是否开启 FIPS 模式 |  |  |
| [--ssl 密钥](mysql-command-options.html#option_mysql_ssl) | 包含 X.509 密钥的文件 |  |  |
| [--ssl 模式](mysql-command-options.html#option_mysql_ssl) | 连接到服务器的所需安全状态 |  |  |
| [--ssl 会话数据](mysql-command-options.html#option_mysql_ssl) | 包含 SSL 会话数据的文件 | 8.0.29 |  |
| [--ssl-session-data-continue-on-failed-reuse](mysql-command-options.html#option_mysql_ssl) | 会话重用失败时是否建立连接 | 8.0.29 |  |
| [--系统日志](mysql-command-options.html#option_mysql_syslog) | 将交互式语句记录到 syslog |  |  |
| [--桌子](mysql-command-options.html#option_mysql_table) | 以表格格式显示输出 |  |  |
| [--球座](mysql-command-options.html#option_mysql_tee) | 将输出的副本附加到命名文件 |  |  |
| [--tls-密码套件](mysql-command-options.html#option_mysql_tls-ciphersuites) | 用于加密连接的允许 TLSv1.3 密码套件 | 8.0.16 |  |
| [--tls-版本](mysql-command-options.html#option_mysql_tls-version) | 加密连接的允许 TLS 协议 |  |  |
| [--无缓冲](mysql-command-options.html#option_mysql_unbuffered) | 每次查询后刷新缓冲区 |  |  |
| [--用户](mysql-command-options.html#option_mysql_user) | 连接到服务器时使用的 MySQL 用户名 |  |  |
| [--详细](mysql-command-options.html#option_mysql_verbose) | 详细模式 |  |  |
| [--版本](mysql-command-options.html#option_mysql_version) | 显示版本信息并退出 |  |  |
| [--垂直的](mysql-command-options.html#option_mysql_vertical) | 垂直打印查询输出行（每列值一行） |  |  |
| [--等待](mysql-command-options.html#option_mysql_wait) | 如果无法建立连接，请等待并重试，而不是中止 |  |  |
| [--xml](mysql-command-options.html#option_mysql_xml) | 生成 XML 输出 |  |  |
| [--zstd-压缩级别](mysql-command-options.html#option_mysql_zstd-compression-level) | 与使用 zstd 压缩的服务器的连接的压缩级别 | 8.0.18 |  |

-   [](<>) [`- 帮助`](mysql-command-options.html#option_mysql_help),`-？`

    [](<>)[](<>)

    显示帮助信息并退出。

-   [](<>) [`--auto-rehash`](mysql-command-options.html#option_mysql_auto-rehash)

    [](<>)[](<>)

    启用自动重新散列。此选项默认打开，它启用数据库、表和列名称完成。采用[`--disable-auto-rehash`](mysql-command-options.html#option_mysql_auto-rehash)禁用重新散列。这导致[**mysql**](mysql.html)启动更快，但您必须发出`重新散列`命令或其`\#`如果要使用名称完成，则为快捷方式。

    要完成名称，请输入第一部分并按 Tab。如果名字没有歧义，[**mysql**](mysql.html)完成它。否则，您可以再次按 Tab 键以查看以您迄今为止键入的内容开头的可能名称。如果没有默认数据库，则不会完成。

    笔记

    此功能需要使用编译的 MySQL 客户端**阅读线**图书馆。通常情况下，**阅读线**库在 Windows 上不可用。

-   [](<>) [`--自动垂直输出`](mysql-command-options.html#option_mysql_auto-vertical-output)

    [](<>)[](<>)

    如果结果集对于当前窗口来说太宽，则导致垂直显示，否则使用正常的表格格式。（这适用于由`;`要么`\G`.)

-   [](<>) [`- 批`](mysql-command-options.html#option_mysql_batch),`-B`

    [](<>)[](<>)

    使用制表符作为列分隔符打印结果，每行换行。有了这个选项，[**mysql**](mysql.html)不使用历史文件。

    批处理模式导致非表格输出格式和特殊字符转义。使用 raw 模式可以禁用转义；见说明[`- 生的`](mysql-command-options.html#option_mysql_raw)选项。

-   [](<>) [`--binary-as-hex`](mysql-command-options.html#option_mysql_binary-as-hex)

    [](<>)[](<>)

    当给出这个选项时，[**mysql**](mysql.html)使用十六进制表示法显示二进制数据 (`0x*`价值`*`）。无论整体输出显示格式是表格、垂直、HTML 还是 XML，都会发生这种情况。

    [`--binary-as-hex`](mysql-command-options.html#option_mysql_binary-as-hex)启用时会影响所有二进制字符串的显示，包括由函数返回的字符串，例如[`字符（）`](string-functions.html#function_char)和[`十六进制（）`](string-functions.html#function_unhex).以下示例使用 ASCII 代码演示了这一点`一种`（65 十进制，41 十六进制）：

    -   [`--binary-as-hex`](mysql-command-options.html#option_mysql_binary-as-hex)禁用：

        ```
        mysql> SELECT CHAR(0x41), UNHEX('41');
        +------------+-------------+
        | CHAR(0x41) | UNHEX('41') |
        +------------+-------------+
        | A          | A           |
        +------------+-------------+
        ```

    -   [`--binary-as-hex`](mysql-command-options.html#option_mysql_binary-as-hex)启用：

        ```
        mysql> SELECT CHAR(0x41), UNHEX('41');
        +------------------------+--------------------------+
        | CHAR(0x41)             | UNHEX('41')              |
        +------------------------+--------------------------+
        | 0x41                   | 0x41                     |
        +------------------------+--------------------------+
        ```

        编写二进制字符串表达式，使其无论是否显示为字符串[`--binary-as-hex`](mysql-command-options.html#option_mysql_binary-as-hex)已启用，请使用以下技术：

    -   这[`字符（）`](string-functions.html#function_char)函数有一个`使用 *`字符集`*`条款：

        ```
        mysql> SELECT CHAR(0x41 USING utf8mb4);
        +--------------------------+
        | CHAR(0x41 USING utf8mb4) |
        +--------------------------+
        | A                        |
        +--------------------------+
        ```

    -   更一般地，使用[`转变（）`](cast-functions.html#function_convert)将表达式转换为给定的字符集：

        ```
        mysql> SELECT CONVERT(UNHEX('41') USING utf8mb4);
        +------------------------------------+
        | CONVERT(UNHEX('41') USING utf8mb4) |
        +------------------------------------+
        | A                                  |
        +------------------------------------+
        ```

        从 MySQL 8.0.19 开始，当[**mysql**](mysql.html)在交互模式下运行，此选项默认启用。此外，从输出`状态`（要么`\s`) 命令在隐式或显式启用该选项时包含此行：

    ```
    Binary data as: Hexadecimal
    ```

    要禁用十六进制表示法，请使用[`--skip-binary-as-hex`](mysql-command-options.html#option_mysql_binary-as-hex)

-   [](<>) [`--二进制模式`](mysql-command-options.html#option_mysql_binary-mode)

    [](<>)[](<>)

    此选项有助于处理[**mysqlbinlog**](mysqlbinlog.html)可能包含的输出[`斑点`](blob.html)价值观。默认，[**mysql**](mysql.html)翻译`\r\n`在语句字符串中`\n`并解释`\0`作为语句终止符。[`--二进制模式`](mysql-command-options.html#option_mysql_binary-mode)禁用这两个功能。它还禁用所有[**mysql**](mysql.html)命令除了`字符集`和`分隔符`在非交互模式下（用于管道输入[**mysql**](mysql.html)或使用加载`资源`命令）。

-   [](<>) [`--绑定地址=*`IP地址`*`](mysql-command-options.html#option_mysql_bind-address)

    [](<>)[](<>)

    在具有多个网络接口的计算机上，使用此选项来选择用于连接 MySQL 服务器的接口。

-   [](<>) [`--字符集目录=*`目录名`*`](mysql-command-options.html#option_mysql_character-sets-dir)

    [](<>)[](<>)

    安装字符集的目录。看[第 10.15 节，“字符集配置”](charset-configuration.html).

-   [](<>) [`--列名`](mysql-command-options.html#option_mysql_column-names)

    [](<>)[](<>)

    在结果中写入列名。

-   [](<>) [`--列类型信息`](mysql-command-options.html#option_mysql_column-type-info)

    [](<>)[](<>)

    显示结果集元数据。该信息对应C API的内容`MYSQL_FIELD`数据结构。看[C API 基本数据结构](https://dev.mysql.com/doc/c-api/8.0/en/c-api-data-structures.html).

-   [](<>) [`- 注释`](mysql-command-options.html#option_mysql_comments),`-c`

    [](<>)[](<>)

    是否去除或保留发送到服务器的语句中的注释。默认是[`--skip-comments`](mysql-command-options.html#option_mysql_comments)（去除注释），启用[`- 注释`](mysql-command-options.html#option_mysql_comments)（保留评论）。

    笔记

    这[**mysql**](mysql.html)客户端总是将优化器提示传递给服务器，不管是否给出了这个选项。

    评论剥离已被弃用。预计此功能和控制它的选项将在未来的 MySQL 版本中删除。

-   [](<>) [`- 压缩`](mysql-command-options.html#option_mysql_compress),`-C`

    [](<>)[](<>)

    如果可能，压缩客户端和服务器之间发送的所有信息。看[第 4.2.8 节，“连接压缩控制”](connection-compression-control.html).

    从 MySQL 8.0.18 开始，此选项已弃用。期望它在 MySQL 的未来版本中被删除。看[配置旧版连接压缩](connection-compression-control.html#connection-compression-legacy-configuration).

-   [](<>) [`--压缩算法=*`价值`*`](mysql-command-options.html#option_mysql_compression-algorithms)

    [](<>)[](<>)

    连接到服务器的允许压缩算法。可用的算法与[`协议压缩算法`](server-system-variables.html#sysvar_protocol_compression_algorithms)系统变量。默认值为`未压缩`.

    有关详细信息，请参阅[第 4.2.8 节，“连接压缩控制”](connection-compression-control.html).

    此选项是在 MySQL 8.0.18 中添加的。

-   [](<>) [`--connect-expired-password`](mysql-command-options.html#option_mysql_connect-expired-password)

    [](<>)[](<>)

    如果用于连接的帐户的密码已过期，则向服务器指示客户端可以处理沙盒模式。这对于非交互式调用很有用[**mysql**](mysql.html)因为通常服务器会断开尝试使用具有过期密码的帐户进行连接的非交互式客户端。（看[第 6.2.16 节，“过期密码的服务器处理”](expired-password-handling.html).)

-   [](<>) [`--连接超时=*`价值`*`](mysql-command-options.html#option_mysql_connect-timeout)

    [](<>)[](<>)

    连接超时前的秒数。（默认值为`0`.)

-   [](<>) [`--数据库=*`数据库名称`*`](mysql-command-options.html#option_mysql_database),`-D *`数据库名称`*`

    [](<>)[](<>)

    要使用的数据库。这主要在选项文件中很有用。

-   [](<>) [`--调试[=*`调试选项`*]`](mysql-command-options.html#option_mysql_debug),`-# [*`调试选项`*]`

    [](<>)[](<>)

    编写调试日志。一个典型的*`调试选项`*字符串是`d:t:o,*`文件名`*`.默认是`d:t:o,/tmp/mysql.trace`.

    仅当 MySQL 是使用[`WITH_DEBUG`](source-configuration-options.html#option_cmake_with_debug).Oracle 提供的 MySQL 发行版二进制文件是*不是*使用此选项构建。

-   [](<>) [`--调试检查`](mysql-command-options.html#option_mysql_debug-check)

    [](<>)[](<>)

    程序退出时打印一些调试信息。

    仅当 MySQL 是使用[`WITH_DEBUG`](source-configuration-options.html#option_cmake_with_debug).Oracle 提供的 MySQL 发行版二进制文件是*不是*使用此选项构建。

-   [](<>) [`- 调试信息`](mysql-command-options.html#option_mysql_debug-info),`-T`

    [](<>)[](<>)

    程序退出时打印调试信息以及内存和 CPU 使用统计信息。

    仅当 MySQL 是使用[`WITH_DEBUG`](source-configuration-options.html#option_cmake_with_debug).Oracle 提供的 MySQL 发行版二进制文件是*不是*使用此选项构建。

-   [](<>) [`--default-auth=*`插入`*`](mysql-command-options.html#option_mysql_default-auth)

    [](<>)[](<>)

    关于使用哪个客户端身份验证插件的提示。看[第 6.2.17 节，“可插拔身份验证”](pluggable-authentication.html).

-   [](<>) [`--默认字符集=*`字符集名称`*`](mysql-command-options.html#option_mysql_default-character-set)

    [](<>)[](<>)

    采用*`字符集名称`*作为客户端和连接的默认字符集。

    如果操作系统使用一个字符集并且[**mysql**](mysql.html)客户端默认使用另一个。在这种情况下，输出的格式可能不正确。您通常可以通过使用此选项强制客户端使用系统字符集来解决此类问题。

    有关详细信息，请参阅[第 10.4 节，“连接字符集和排序规则”](charset-connection.html)， 和[第 10.15 节，“字符集配置”](charset-configuration.html).

-   [](<>) [`--defaults-extra-file=*`文件名`*`](mysql-command-options.html#option_mysql_defaults-extra-file)

    [](<>)[](<>)

    在全局选项文件之后但（在 Unix 上）在用户选项文件之前读取此选项文件。如果文件不存在或无法访问，则会发生错误。如果*`文件名`*不是绝对路径名，它是相对于当前目录解释的。

    有关此选项和其他选项文件选项的更多信息，请参阅[第 4.2.2.3 节，“影响选项文件处理的命令行选项”](option-file-options.html).

-   [](<>) [`--默认文件=*`文件名`*`](mysql-command-options.html#option_mysql_defaults-file)

    [](<>)[](<>)

    仅使用给定的选项文件。如果文件不存在或无法访问，则会发生错误。如果*`文件名`*不是绝对路径名，它是相对于当前目录解释的。

    例外：即使有[`--defaults 文件`](option-file-options.html#option_general_defaults-file), 客户端程序读取`.mylogin.cnf`.

    有关此选项和其他选项文件选项的更多信息，请参阅[第 4.2.2.3 节，“影响选项文件处理的命令行选项”](option-file-options.html).

-   [](<>) [`--defaults-group-suffix=*`字符串`*`](mysql-command-options.html#option_mysql_defaults-group-suffix)

    [](<>)[](<>)

    不仅可以读取通常的选项组，还可以读取具有通常名称和后缀的组*`字符串`*.例如，[**mysql**](mysql.html)通常读取`[客户]`和`[mysql]`团体。如果这个选项被给出为[`--defaults-group-suffix=_other`](mysql-command-options.html#option_mysql_defaults-group-suffix),[**mysql**](mysql.html)还读取`[client_other]`和`[mysql_other]`团体。

    有关此选项和其他选项文件选项的更多信息，请参阅[第 4.2.2.3 节，“影响选项文件处理的命令行选项”](option-file-options.html).

-   [](<>) [`--分隔符=*`字符串`*`](mysql-command-options.html#option_mysql_delimiter)

    [](<>)[](<>)

    设置语句分隔符。默认为分号字符 (`;`）。

-   [](<>) [`--禁用命名命令`](mysql-command-options.html#option_mysql_disable-named-commands)

    [](<>)[](<>)

    禁用命名命令。使用`\*`仅在形式上，或仅在以分号结尾的行的开头使用命名命令 (`;`）。[**mysql**](mysql.html)从此选项开始*启用*默认。但是，即使使用此选项，长格式命令仍然可以从第一行开始工作。看[第 4.5.1.2 节，“mysql 客户端命令”](mysql-commands.html).

-   [](<>) [`--dns-srv 名称=*`姓名`*`](mysql-command-options.html#option_mysql_dns-srv-name)

    [](<>)[](<>)[](<>)

    指定 DNS SRV 记录的名称，该记录确定用于建立与 MySQL 服务器的连接的候选主机。有关 MySQL 中的 DNS SRV 支持的信息，请参阅[第 4.2.6 节，“使用 DNS SRV 记录连接到服务器”](connecting-using-dns-srv.html).

    假设使用此 SRV 信息为 DNS 配置了`例子.com`领域：

    ```
    Name                     TTL   Class   Priority Weight Port Target
    _mysql._tcp.example.com. 86400 IN SRV  0        5      3306 host1.example.com
    _mysql._tcp.example.com. 86400 IN SRV  0        10     3306 host2.example.com
    _mysql._tcp.example.com. 86400 IN SRV  10       5      3306 host3.example.com
    _mysql._tcp.example.com. 86400 IN SRV  20       5      3306 host4.example.com
    ```

    要使用该 DNS SRV 记录，请调用[**mysql**](mysql.html)像这样：

    ```
    mysql --dns-srv-name=_mysql._tcp.example.com
    ```

    [**mysql**](mysql.html)然后尝试与组中的每个服务器建立连接，直到建立成功的连接。仅当无法与任何服务器建立连接时才会发生连接失败。DNS SRV 记录中的优先级和权重值决定了服务器的尝试顺序。

    调用时[`--dns-srv 名称`](mysql-command-options.html#option_mysql_dns-srv-name),[**mysql**](mysql.html)仅尝试建立 TCP 连接。

    这[`--dns-srv 名称`](mysql-command-options.html#option_mysql_dns-srv-name)选项优先于[`- 主持人`](mysql-command-options.html#option_mysql_host)如果两者都给出，则选项。[`--dns-srv 名称`](mysql-command-options.html#option_mysql_dns-srv-name)导致连接建立使用[`mysql_real_connect_dns_srv()`](https://dev.mysql.com/doc/c-api/8.0/en/mysql-real-connect-dns-srv.html)C API 函数而不是[`mysql_real_connect()`](https://dev.mysql.com/doc/c-api/8.0/en/mysql-real-connect.html).但是，如果`连接`命令随后在运行时使用并指定主机名参数，该主机名优先于任何[`--dns-srv 名称`](mysql-command-options.html#option_mysql_dns-srv-name)选项在[**mysql**](mysql.html)启动以指定 DNS SRV 记录。

    此选项是在 MySQL 8.0.22 中添加的。

-   [](<>) [`--启用明文插件`](mysql-command-options.html#option_mysql_enable-cleartext-plugin)

    [](<>)[](<>)

    启用`mysql_clear_password`明文身份验证插件。（看[第 6.4.1.4 节，“客户端明文可插入身份验证”](cleartext-pluggable-authentication.html).)

-   [](<>) [`--执行=*`陈述`*`](mysql-command-options.html#option_mysql_execute),`-e *`陈述`*`

    [](<>)[](<>)

    执行语句并退出。默认输出格式与使用[`- 批`](mysql-command-options.html#option_mysql_batch).看[第 4.2.2.1 节，“在命令行上使用选项”](command-line-options.html), 举一些例子。有了这个选项，[**mysql**](mysql.html)不使用历史文件。

-   [](<>) [`--fido 注册因子=*`价值`*`](mysql-command-options.html#option_mysql_fido-register-factor)

    [](<>)[](<>)

    必须执行 FIDO 设备注册的一个或多个因素。此选项值必须是单个值，或者是用逗号分隔的两个值。每个值必须是 2 或 3，因此允许的选项值是`'2'`,`'3'`,`'2,3'`和`'3,2'`.

    例如，需要注册第三个身份验证因素的帐户调用[**mysql**](mysql.html)客户端如下：

    ```
    mysql --user=user_name --fido-register-factor=3
    ```

    需要注册第二和第三身份验证因素的帐户调用[**mysql**](mysql.html)客户端如下：

    ```
    mysql --user=user_name --fido-register-factor=2,3
    ```

    如果注册成功，则建立连接。如果存在具有挂起注册的身份验证因素，则在尝试连接到服务器时将连接置于挂起注册模式。在这种情况下，断开并重新连接正确的[`--fido 注册因子`](mysql-command-options.html#option_mysql_fido-register-factor)值以完成注册。

    注册是一个两步过程，包括*开始注册*和*完成注册*脚步。启动注册步骤执行以下语句：

    ```
    ALTER USER user factor INITIATE REGISTRATION
    ```

    该语句返回一个包含 32 字节质询、用户名和信赖方 ID 的结果集（请参阅[`authentication_fido_rp_id`](pluggable-authentication-system-variables.html#sysvar_authentication_fido_rp_id)）。

    完成注册步骤执行此语句：

    ```
    ALTER USER user factor FINISH REGISTRATION SET CHALLENGE_RESPONSE AS 'auth_string'
    ```

    该语句完成注册并将以下信息发送到服务器作为*`auth_string`*: 认证器数据、X.509 格式的可选证明证书和签名。

    启动和注册步骤必须在单个连接中执行，因为客户端在启动步骤期间收到的质询会保存到客户端连接处理程序。如果注册步骤由不同的连接执行，则注册将失败。这[`--fido 注册因子`](mysql-command-options.html#option_mysql_fido-register-factor)选项同时执行启动和注册步骤，这避免了上述失败情况并避免必须执行[`更改用户`](alter-user.html)手动启动和注册语句。

    这[`--fido 注册因子`](mysql-command-options.html#option_mysql_fido-register-factor)选项仅适用于[**mysql**](mysql.html)客户。其他 MySQL 客户端程序不支持它。

    有关相关信息，请参阅[使用 FIDO 身份验证](fido-pluggable-authentication.html#fido-pluggable-authentication-usage).

-   [](<>) [`- 力量`](mysql-command-options.html#option_mysql_force),`-f`

    [](<>)[](<>)

    即使发生 SQL 错误也要继续。

-   [](<>) [`--get-server-public-key`](mysql-command-options.html#option_mysql_get-server-public-key)

    [](<>)[](<>)

    从服务器请求基于 RSA 密钥对的密码交换所需的公钥。此选项适用于通过`cache_sha2_password`身份验证插件。对于该插件，除非请求，否则服务器不会发送公钥。对于未使用该插件进行身份验证的帐户，此选项将被忽略。如果不使用基于 RSA 的密码交换，它也会被忽略，例如客户端使用安全连接连接到服务器的情况。

    如果[`--server-public-key-path=*`文件名`*`](mysql-command-options.html#option_mysql_server-public-key-path)给出并指定一个有效的公钥文件，它优先于[`--get-server-public-key`](mysql-command-options.html#option_mysql_get-server-public-key).

    有关信息`cache_sha2_password`插件，见[第 6.4.1.2 节，“缓存 SHA-2 可插入身份验证”](caching-sha2-pluggable-authentication.html).

-   [](<>) [`--histignore`](mysql-command-options.html#option_mysql_histignore)

    [](<>)[](<>)

    一个或多个以冒号分隔的模式的列表，指定要忽略以用于记录目的的语句。这些模式被添加到默认模式列表（`“*识别*：*密码*”`）。为该选项指定的值会影响写入历史文件的语句的日志记录，以及`系统日志`如果[`--系统日志`](mysql-command-options.html#option_mysql_syslog)给出了选项。有关详细信息，请参阅[第 4.5.1.3 节，“mysql 客户端日志记录”](mysql-logging.html).

-   [](<>) [`--主机=*`主机名`*`](mysql-command-options.html#option_mysql_host),`-h *`主机名`*`

    [](<>)[](<>)

    连接到给定主机上的 MySQL 服务器。

    这[`--dns-srv 名称`](mysql-command-options.html#option_mysql_dns-srv-name)选项优先于[`- 主持人`](mysql-command-options.html#option_mysql_host)如果两者都给出，则选项。[`--dns-srv 名称`](mysql-command-options.html#option_mysql_dns-srv-name)导致连接建立使用[`mysql_real_connect_dns_srv()`](https://dev.mysql.com/doc/c-api/8.0/en/mysql-real-connect-dns-srv.html)C API 函数而不是[`mysql_real_connect()`](https://dev.mysql.com/doc/c-api/8.0/en/mysql-real-connect.html).但是，如果`连接`命令随后在运行时使用并指定主机名参数，该主机名优先于任何[`--dns-srv 名称`](mysql-command-options.html#option_mysql_dns-srv-name)选项在[**mysql**](mysql.html)启动以指定 DNS SRV 记录。

-   [](<>) [`--html`](mysql-command-options.html#option_mysql_html),`-H`

    [](<>)[](<>)

    生成 HTML 输出。

-   [](<>) [`--忽略空格`](mysql-command-options.html#option_mysql_ignore-spaces),`-一世`

    [](<>)[](<>)

    忽略函数名称后的空格。其效果在讨论中描述[`忽略空格`](sql-mode.html#sqlmode_ignore_space)SQL 模式（请参阅[第 5.1.11 节，“服务器 SQL 模式”](sql-mode.html)）。

-   [](<>) [`--init-command=str`](mysql-command-options.html#option_mysql_init-command)

    [](<>)[](<>)

    连接到服务器后执行的 SQL 语句。如果启用了自动重新连接，则在重新连接发生后再次执行该语句。

-   [](<>) [`--行号`](mysql-command-options.html#option_mysql_line-numbers)

    [](<>)[](<>)

    写下错误的行号。禁用此功能[`--跳过行号`](mysql-command-options.html#option_mysql_skip-line-numbers).

-   [](<>) [`--load-data-local-dir=*`目录名`*`](mysql-command-options.html#option_mysql_load-data-local-dir)

    [](<>)[](<>)

    此选项影响客户端`当地的`能力[`加载数据`](load-data.html)操作。它指定在其中命名的文件的目录[`本地加载数据`](load-data.html)语句必须定位。的效果[`--load-data-local-dir`](mysql-command-options.html#option_mysql_load-data-local-dir)取决于是否`当地的`启用或禁用数据加载：

    -   如果`当地的`默认情况下，在 MySQL 客户端库中或通过指定启用数据加载[`--local-infile[=1]`](mysql-command-options.html#option_mysql_local-infile)， 这[`--load-data-local-dir`](mysql-command-options.html#option_mysql_load-data-local-dir)选项被忽略。

    -   如果`当地的`数据加载被禁用，默认情况下在 MySQL 客户端库中或通过指定[`--local-infile=0`](mysql-command-options.html#option_mysql_local-infile)， 这[`--load-data-local-dir`](mysql-command-options.html#option_mysql_load-data-local-dir)选项适用。

        什么时候[`--load-data-local-dir`](mysql-command-options.html#option_mysql_load-data-local-dir)适用时，选项值指定本地数据文件必须位于的目录。无论底层文件系统是否区分大小写，目录路径名和要加载文件的路径名的比较都是区分大小写的。如果选项值为空字符串，则不命名目录，结果不允许文件用于本地数据加载。

        例如，要显式禁用本地数据加载，除了位于`/我的/本地/数据`目录，调用[**mysql**](mysql.html)像这样：

    ```
    mysql --local-infile=0 --load-data-local-dir=/my/local/data
    ```

    当两个[`--local-infile`](mysql-command-options.html#option_mysql_local-infile)和[`--load-data-local-dir`](mysql-command-options.html#option_mysql_load-data-local-dir)给出，给出它们的顺序无关紧要。

    成功使用`当地的`内的加载操作[**mysql**](mysql.html)还要求服务器允许本地加载；看[第 6.1.6 节，“本地加载数据的安全注意事项”](load-data-local-security.html)

    这[`--load-data-local-dir`](mysql-command-options.html#option_mysql_load-data-local-dir)MySQL 8.0.21 中添加了选项。

-   [](<>) [`--local-infile[={0|1}]`](mysql-command-options.html#option_mysql_local-infile)

    [](<>)[](<>)

    默认，`当地的`能力[`加载数据`](load-data.html)由编译到 MySQL 客户端库中的默认值决定。启用或禁用`当地的`数据加载显式，使用[`--local-infile`](mysql-command-options.html#option_mysql_local-infile)选项。当没有给出值时，该选项启用`当地的`数据加载。当给定为[`--local-infile=0`](mysql-command-options.html#option_mysql_local-infile)要么[`--local-infile=1`](mysql-command-options.html#option_mysql_local-infile), 该选项禁用或启用`当地的`数据加载。

    如果`当地的`功能被禁用时，[`--load-data-local-dir`](mysql-command-options.html#option_mysql_load-data-local-dir)选项可用于允许限制本地加载位于指定目录中的文件。

    成功使用`当地的`内的加载操作[**mysql**](mysql.html)还要求服务器允许本地加载；看[第 6.1.6 节，“本地加载数据的安全注意事项”](load-data-local-security.html)

-   [](<>) [`--登录路径=*`姓名`*`](mysql-command-options.html#option_mysql_login-path)

    [](<>)[](<>)

    从命名登录路径中读取选项`.mylogin.cnf`登录路径文件。“登录路径”是一个选项组，其中包含指定要连接到哪个 MySQL 服务器以及要作为哪个帐户进行身份验证的选项。要创建或修改登录路径文件，请使用[**mysql\_配置\_编辑**](mysql-config-editor.html)效用。看[第 4.6.7 节，“mysql\_配置\_编辑器 — MySQL 配置实用程序”](mysql-config-editor.html).

    有关此选项和其他选项文件选项的更多信息，请参阅[第 4.2.2.3 节，“影响选项文件处理的命令行选项”](option-file-options.html).

-   [](<>) [`--max-allowed-packet=*`价值`*`](mysql-command-options.html#option_mysql_max-allowed-packet)

    [](<>)[](<>)

    客户端/服务器通信的缓冲区的最大大小。默认为 16MB，最大为 1GB。

-   [](<>) [`--max-join-size=*`价值`*`](mysql-command-options.html#option_mysql_max-join-size)

    [](<>)[](<>)

    使用时连接中行的自动限制[`--安全更新`](mysql-command-options.html#option_mysql_safe-updates).（默认值为 1,000,000。）

-   [](<>) [`--命名命令`](mysql-command-options.html#option_mysql_named-commands),`-G`

    [](<>)[](<>)

    启用命名[**mysql**](mysql.html)命令。允许使用长格式命令，而不仅仅是短格式命令。例如，`放弃`和`\q`两者都被认可。采用[`--skip-named-commands`](mysql-command-options.html#option_mysql_named-commands)禁用命名命令。看[第 4.5.1.2 节，“mysql 客户端命令”](mysql-commands.html).

-   [](<>) [`--net-buffer-length=*`价值`*`](mysql-command-options.html#option_mysql_net-buffer-length)

    [](<>)[](<>)

    TCP/IP 和套接字通信的缓冲区大小。（默认值为 16KB。）

-   [](<>) [`--网络命名空间=*`姓名`*`](mysql-command-options.html#option_mysql_network-namespace)

    [](<>)[](<>)

    用于 TCP/IP 连接的网络命名空间。如果省略，则连接使用默认（全局）命名空间。有关网络命名空间的信息，请参阅[第 5.1.14 节，“网络命名空间支持”](network-namespace-support.html).

    此选项是在 MySQL 8.0.22 中添加的。它仅在实现网络命名空间支持的平台上可用。

-   [](<>) [`--no-auto-rehash`](mysql-command-options.html#option_mysql_auto-rehash),`-一种`

    [](<>)[](<>)

    这与效果相同`--skip-auto-rehash`.请参阅说明[`--auto-rehash`](mysql-command-options.html#option_mysql_auto-rehash).

-   [](<>) [`--没有哔哔声`](mysql-command-options.html#option_mysql_no-beep),`-b`

    [](<>)[](<>)

    发生错误时不要发出蜂鸣声。

-   [](<>) [`--no-defaults`](mysql-command-options.html#option_mysql_no-defaults)

    [](<>)[](<>)

    不要读取任何选项文件。如果由于从选项文件中读取未知选项而导致程序启动失败，[`--no-defaults`](mysql-command-options.html#option_mysql_no-defaults)可以用来防止它们被读取。

    唯一的例外是`.mylogin.cnf`如果文件存在，则在所有情况下都会读取文件。这允许以比在命令行上更安全的方式指定密码，即使在[`--no-defaults`](mysql-command-options.html#option_mysql_no-defaults)用来。创造`.mylogin.cnf`， 使用[**mysql\_配置\_编辑**](mysql-config-editor.html)效用。看[第 4.6.7 节，“mysql\_配置\_编辑器 — MySQL 配置实用程序”](mysql-config-editor.html).

    有关此选项和其他选项文件选项的更多信息，请参阅[第 4.2.2.3 节，“影响选项文件处理的命令行选项”](option-file-options.html).

-   [](<>) [`--一个数据库`](mysql-command-options.html#option_mysql_one-database),`-o`

    [](<>)[](<>)

    忽略语句，除了那些在默认数据库是命令行上命名的数据库时发生的语句。此选项是基本的，应谨慎使用。语句过滤仅基于[`采用`](use.html)陈述。

    原来，[**mysql**](mysql.html)在输入中执行语句，因为指定了数据库*`数据库名称`*在命令行上相当于插入[`采用 *`数据库名称`*`](use.html)在输入的开头。然后，对于每个[`采用`](use.html)遇到的语句，[**mysql**](mysql.html)根据命名的数据库是否是命令行上的数据库，接受或拒绝以下语句。声明的内容无关紧要。

    假设[**mysql**](mysql.html)被调用来处理这组语句：

    ```
    DELETE FROM db2.t2;
    USE db2;
    DROP TABLE db1.t1;
    CREATE TABLE db1.t1 (i INT);
    USE db1;
    INSERT INTO t1 (i) VALUES(1);
    CREATE TABLE db2.t1 (j INT);
    ```

    如果命令行是[**mysql --force --one-database db1**](mysql.html),[**mysql**](mysql.html)处理输入如下：

    -   这[`删除`](delete.html)语句被执行，因为默认数据库是`db1`，即使该语句命名了不同数据库中的表。

    -   这[`删除表`](drop-table.html)和[`创建表`](create-table.html)由于默认数据库未执行，因此未执行语句`db1`, 即使语句在`db1`.

    -   这[`插入`](insert.html)和[`创建表`](create-table.html)执行语句是因为默认数据库是`db1`，即使[`创建表`](create-table.html)语句命名不同数据库中的表。

-   [](<>) [`--寻呼机[=*`命令`*]`](mysql-command-options.html#option_mysql_pager)

    [](<>)[](<>)

    使用给定的命令进行分页查询输出。如果省略该命令，则默认分页器是您的值`寻呼机`环境变量。有效的寻呼机是**较少的**,**更多的**,**猫[\>文件名]**，等等。此选项仅适用于 Unix 且仅在交互模式下有效。要禁用分页，请使用[`--skip-pager`](mysql-command-options.html#option_mysql_pager).[第 4.5.1.2 节，“mysql 客户端命令”](mysql-commands.html)，进一步讨论输出分页。

-   [](<>) [`--密码[=*`密码`*]`](mysql-command-options.html#option_mysql_password),`-p[*`密码`*]`

    [](<>)[](<>)

    用于连接服务器的 MySQL 帐户的密码。密码值是可选的。如果不给，[**mysql**](mysql.html)提示一个。如果给出，必须有*没有空间*之间[`--密码=`](mysql-command-options.html#option_mysql_password)要么`-p`和它后面的密码。如果未指定密码选项，则默认为不发送密码。

    在命令行上指定密码应该被认为是不安全的。为避免在命令行上提供密码，请使用选项文件。看[第 6.1.2.1 节，“最终用户密码安全指南”](password-security-user.html).

    明确指定没有密码并且[**mysql**](mysql.html)不应该提示输入一个，使用[`--跳过密码`](mysql-command-options.html#option_mysql_password)选项。

-   [](<>) [`--密码1[=*`pass_val`*]`](mysql-command-options.html#option_mysql_password1)

    [](<>)

    用于连接服务器的 MySQL 帐户的多重身份验证因素 1 的密码。密码值是可选的。如果不给，[**mysql**](mysql.html)提示一个。如果给出，必须有*没有空间*之间[`--密码1=`](mysql-command-options.html#option_mysql_password1)和它后面的密码。如果未指定密码选项，则默认为不发送密码。

    在命令行上指定密码应该被认为是不安全的。为避免在命令行上提供密码，请使用选项文件。看[第 6.1.2.1 节，“最终用户密码安全指南”](password-security-user.html).

    明确指定没有密码并且[**mysql**](mysql.html)不应该提示输入一个，使用[`--skip-password1`](mysql-command-options.html#option_mysql_password1)选项。

    [`--密码1`](mysql-command-options.html#option_mysql_password1)和[`- 密码`](mysql-command-options.html#option_mysql_password)是同义词[`--skip-password1`](mysql-command-options.html#option_mysql_password1)和[`--跳过密码`](mysql-command-options.html#option_mysql_password).

-   [](<>) [`--密码2[=*`pass_val`*]`](mysql-command-options.html#option_mysql_password2)

    [](<>)

    用于连接服务器的 MySQL 帐户的多重身份验证因子 2 的密码。此选项的语义类似于[`--密码1`](mysql-command-options.html#option_mysql_password1);有关详细信息，请参阅该选项的说明。

-   [](<>) [`--密码3[=*`pass_val`*]`](mysql-command-options.html#option_mysql_password3)

    [](<>)

    用于连接服务器的 MySQL 帐户的多重身份验证因子 3 的密码。此选项的语义类似于[`--密码1`](mysql-command-options.html#option_mysql_password1);有关详细信息，请参阅该选项的说明。

-   [](<>) [`- 管道`](mysql-command-options.html#option_mysql_pipe),`-W`

    [](<>)[](<>)

    在 Windows 上，使用命名管道连接到服务器。此选项仅适用于服务器以[`命名管道`](server-system-variables.html#sysvar_named_pipe)启用系统变量以支持命名管道连接。此外，建立连接的用户必须是由指定的 Windows 组的成员[`named_pipe_full_access_group`](server-system-variables.html#sysvar_named_pipe_full_access_group)系统变量。

-   [](<>) [`--插件目录=*`目录名`*`](mysql-command-options.html#option_mysql_plugin-dir)

    [](<>)[](<>)

    查找插件的目录。指定此选项，如果[`--default-auth`](mysql-command-options.html#option_mysql_default-auth)选项用于指定身份验证插件，但[**mysql**](mysql.html)没有找到它。看[第 6.2.17 节，“可插拔身份验证”](pluggable-authentication.html).

-   [](<>) [`--端口=*`端口号`*`](mysql-command-options.html#option_mysql_port),`-P *`端口号`*`

    [](<>)[](<>)[](<>)

    对于 TCP/IP 连接，要使用的端口号。

-   [](<>) [`--打印默认值`](mysql-command-options.html#option_mysql_print-defaults)

    [](<>)[](<>)

    打印程序名称和它从选项文件中获得的所有选项。

    有关此选项和其他选项文件选项的更多信息，请参阅[第 4.2.2.3 节，“影响选项文件处理的命令行选项”](option-file-options.html).

-   [](<>) [`--提示=*`格式字符串`*`](mysql-command-options.html#option_mysql_prompt)

    [](<>)[](<>)

    将提示设置为指定的格式。默认是`mysql>`.提示可以包含的特殊序列在[第 4.5.1.2 节，“mysql 客户端命令”](mysql-commands.html).

-   [](<>) [`--protocol={TCP|SOCKET|管道|内存}`](mysql-command-options.html#option_mysql_protocol)

    [](<>)[](<>)

    用于连接到服务器的传输协议。当其他连接参数通常导致使用您想要的协议以外的协议时，它很有用。有关允许值的详细信息，请参见[第 4.2.7 节，“连接传输协议”](transport-protocols.html).

-   [](<>) [`- 快的`](mysql-command-options.html#option_mysql_quick),`-q`

    [](<>)[](<>)

    不要缓存每个查询结果，在收到时打印每一行。如果输出被挂起，这可能会减慢服务器的速度。有了这个选项，[**mysql**](mysql.html)不使用历史文件。

-   [](<>) [`- 生的`](mysql-command-options.html#option_mysql_raw),`-r`

    [](<>)[](<>)

    对于表格输出，列周围的“装箱”可以将一个列值与另一列值区分开来。对于非表格输出（例如在批处理模式下或当[`- 批`](mysql-command-options.html#option_mysql_batch)要么[`- 无声`](mysql-command-options.html#option_mysql_silent)选项），特殊字符在输出中被转义，因此可以很容易地识别它们。换行符，制表符，`零`, 和反斜杠写成`\n`,`\t`,`\0`， 和`\\`.这[`- 生的`](mysql-command-options.html#option_mysql_raw)选项禁用此字符转义。

    以下示例演示了表格输出与非表格输出以及使用原始模式禁用转义：

    ```
    % mysql
    mysql> SELECT CHAR(92);
    +----------+
    | CHAR(92) |
    +----------+
    | \        |
    +----------+

    % mysql -s
    mysql> SELECT CHAR(92);
    CHAR(92)
    \\

    % mysql -s -r
    mysql> SELECT CHAR(92);
    CHAR(92)
    \
    ```

-   [](<>) [`--重新连接`](mysql-command-options.html#option_mysql_reconnect)

    [](<>)[](<>)

    如果与服务器的连接丢失，自动尝试重新连接。每次连接丢失时都会进行一次重新连接尝试。要抑制重新连接行为，请使用[`--skip-reconnect`](mysql-command-options.html#option_mysql_reconnect).

-   [](<>) [`--安全更新`](mysql-command-options.html#option_mysql_safe-updates),[`——我是一个假人`](mysql-command-options.html#option_mysql_safe-updates),`-U`

    [](<>)[](<>)[](<>)[](<>)

    如果启用此选项，[`更新`](update.html)和[`删除`](delete.html)不使用键的语句`在哪里`子句或`限制`子句产生错误。此外，还有限制[`选择`](select.html)产生（或估计产生）非常大的结果集的语句。如果您在选项文件中设置了此选项，则可以使用[`--skip-safe-updates`](mysql-command-options.html#option_mysql_safe-updates)在命令行上覆盖它。有关此选项的更多信息，请参阅[使用安全更新模式 (--safe-updates)](mysql-tips.html#safe-updates).

-   [](<>) [`--选择限制=*`价值`*`](mysql-command-options.html#option_mysql_select-limit)

    [](<>)[](<>)

    自动限制为[`选择`](select.html)使用时的陈述[`--安全更新`](mysql-command-options.html#option_mysql_safe-updates).（默认值为 1,000。）

-   [](<>) [`--server-public-key-path=*`文件名`*`](mysql-command-options.html#option_mysql_server-public-key-path)

    [](<>)[](<>)

    PEM 格式的文件的路径名，其中包含服务器基于 RSA 密钥对的密码交换所需的公钥的客户端副本。此选项适用于通过`sha256_password`要么`cache_sha2_password`身份验证插件。对于未使用这些插件之一进行身份验证的帐户，此选项将被忽略。如果不使用基于 RSA 的密码交换，它也会被忽略，例如客户端使用安全连接连接到服务器的情况。

    如果[`--server-public-key-path=*`文件名`*`](mysql-command-options.html#option_mysql_server-public-key-path)给出并指定一个有效的公钥文件，它优先于[`--get-server-public-key`](mysql-command-options.html#option_mysql_get-server-public-key).

    为了`sha256_password`, 此选项仅适用于使用 OpenSSL 构建 MySQL 的情况。

    有关信息`sha256_password`和`cache_sha2_password`插件，见[第 6.4.1.3 节，“SHA-256 可插入身份验证”](sha256-pluggable-authentication.html)， 和[第 6.4.1.2 节，“缓存 SHA-2 可插入身份验证”](caching-sha2-pluggable-authentication.html).

-   [](<>) [`--shared-memory-base-name=*`姓名`*`](mysql-command-options.html#option_mysql_shared-memory-base-name)

    [](<>)[](<>)

    在 Windows 上，用于使用共享内存与本地服务器建立连接的共享内存名称。默认值为`MYSQL`.共享内存名称区分大小写。

    此选项仅适用于服务器以[`共享内存`](server-system-variables.html#sysvar_shared_memory)启用系统变量以支持共享内存连接。

-   [](<>) [`--显示警告`](mysql-command-options.html#option_mysql_show-warnings)

    [](<>)[](<>)

    如果有任何语句，则在每个语句之后显示警告。此选项适用于交互和批处理模式。

-   [](<>) [`--sigint-忽略`](mysql-command-options.html#option_mysql_sigint-ignore)

    [](<>)[](<>)

    忽视`信号情报`信号（通常是打字的结果**控制+C**）。

    如果没有此选项，请键入**控制+C**如果有，则中断当前语句，否则取消任何部分输入行。

    [](<>)[](<>)[](<>)

-   [](<>) [`- 无声`](mysql-command-options.html#option_mysql_silent),`-s`

    [](<>)[](<>)

    静音模式。产生更少的输出。可以多次给出此选项以产生越来越少的输出。

    此选项导致非表格输出格式和特殊字符转义。使用 raw 模式可以禁用转义；见说明[`- 生的`](mysql-command-options.html#option_mysql_raw)选项。

-   [](<>) [`--skip-column-names`](mysql-command-options.html#option_mysql_skip-column-names),`-N`

    [](<>)[](<>)

    不要在结果中写入列名。

-   [](<>) [`--跳过行号`](mysql-command-options.html#option_mysql_skip-line-numbers),`-L`

    [](<>)[](<>)

    不要为错误写行号。当您想要比较包含错误消息的结果文件时很有用。

-   [](<>) [`--socket=*`小路`*`](mysql-command-options.html#option_mysql_socket),`-S *`小路`*`

    [](<>)[](<>)

    对于连接到`本地主机`，要使用的 Unix 套接字文件，或者在 Windows 上，要使用的命名管道的名称。

    在 Windows 上，此选项仅在服务器以[`命名管道`](server-system-variables.html#sysvar_named_pipe)启用系统变量以支持命名管道连接。此外，建立连接的用户必须是由指定的 Windows 组的成员[`named_pipe_full_access_group`](server-system-variables.html#sysvar_named_pipe_full_access_group)系统变量。

-   [](<>) `--ssl*`

    [](<>)[](<>)

    开头的选项`--ssl`指定是否使用加密连接到服务器并指示在哪里可以找到 SSL 密钥和证书。看[加密连接的命令选项](connection-options.html#encrypted-connection-options).

-   [](<>) [`--ssl-fips-mode={OFF|ON|STRICT}`](mysql-command-options.html#option_mysql_ssl-fips-mode)

    [](<>)[](<>)

    控制是否在客户端启用 FIPS 模式。这[`--ssl-fips-模式`](mysql-command-options.html#option_mysql_ssl-fips-mode)选项不同于其他`--ssl-*`xxx`*`选项，因为它不用于建立加密连接，而是影响允许哪些加密操作。看[第 6.8 节，“FIPS 支持”](fips-mode.html).

    这些[`--ssl-fips-模式`](mysql-command-options.html#option_mysql_ssl-fips-mode)允许的值：

    -   `离开`：禁用 FIPS 模式。

    -   `在`：启用 FIPS 模式。

    -   `严格的`：启用“严格”FIPS 模式。

    笔记

    如果 OpenSSL FIPS 对象模块不可用，则唯一允许的值为[`--ssl-fips-模式`](mysql-command-options.html#option_mysql_ssl-fips-mode)是`离开`.在这种情况下，设置[`--ssl-fips-模式`](mysql-command-options.html#option_mysql_ssl-fips-mode)到`在`要么`严格的`导致客户端在启动时产生警告并在非 FIPS 模式下运行。

-   [](<>) [`--系统日志`](mysql-command-options.html#option_mysql_syslog),`-j`

    [](<>)[](<>)

    此选项导致[**mysql**](mysql.html)将交互式语句发送到系统日志记录工具。在 Unix 上，这是`系统日志`;在 Windows 上，它是 Windows 事件日志。记录消息出现的目的地取决于系统。在 Linux 上，目的地通常是`/var/log/消息`文件。

    这是在 Linux 上使用生成的输出示例`--系统日志`.此输出经过格式化以提高可读性；每条记录的消息实际上只占一行。

    ```
    Mar  7 12:39:25 myhost MysqlClient[20824]:
      SYSTEM_USER:'oscar', MYSQL_USER:'my_oscar', CONNECTION_ID:23,
      DB_SERVER:'127.0.0.1', DB:'--', QUERY:'USE test;'
    Mar  7 12:39:28 myhost MysqlClient[20824]:
      SYSTEM_USER:'oscar', MYSQL_USER:'my_oscar', CONNECTION_ID:23,
      DB_SERVER:'127.0.0.1', DB:'test', QUERY:'SHOW TABLES;'
    ```

    有关详细信息，请参阅[第 4.5.1.3 节，“mysql 客户端日志记录”](mysql-logging.html).

-   [](<>) [`- 桌子`](mysql-command-options.html#option_mysql_table),`-t`

    [](<>)[](<>)

    以表格格式显示输出。这是交互式使用的默认设置，但可用于以批处理模式生成表输出。

-   [](<>) [`--三通=*`文件名`*`](mysql-command-options.html#option_mysql_tee)

    [](<>)[](<>)

    将输出副本附加到给定文件。此选项仅在交互模式下有效。[第 4.5.1.2 节，“mysql 客户端命令”](mysql-commands.html)，进一步讨论 tee 文件。

-   [](<>) [`--tls-ciphersuites=*`密码套件列表`*`](mysql-command-options.html#option_mysql_tls-ciphersuites)

    [](<>)[](<>)

    允许使用 TLSv1.3 的加密连接的密码套件。该值是一个或多个以冒号分隔的密码套件名称的列表。可以为此选项命名的密码套件取决于用于编译 MySQL 的 SSL 库。有关详细信息，请参阅[第 6.3.2 节，“加密连接 TLS 协议和密码”](encrypted-connection-protocols-ciphers.html).

    此选项是在 MySQL 8.0.16 中添加的。

-   [](<>) [`--tls-版本=*`协议列表`*`](mysql-command-options.html#option_mysql_tls-version)

    [](<>)[](<>)

    加密连接的允许 TLS 协议。该值是一个或多个逗号分隔的协议名称的列表。可以为此选项命名的协议取决于用于编译 MySQL 的 SSL 库。有关详细信息，请参阅[第 6.3.2 节，“加密连接 TLS 协议和密码”](encrypted-connection-protocols-ciphers.html).

-   [](<>) [`--无缓冲`](mysql-command-options.html#option_mysql_unbuffered),`-n`

    [](<>)[](<>)

    每次查询后刷新缓冲区。

-   [](<>) [`--用户=*`用户名`*`](mysql-command-options.html#option_mysql_user),`-u *`用户名`*`

    [](<>)[](<>)

    用于连接到服务器的 MySQL 帐户的用户名。

-   [](<>) [`--详细`](mysql-command-options.html#option_mysql_verbose),`-v`

    [](<>)[](<>)

    详细模式。产生更多关于程序做什么的输出。可以多次给出此选项以产生越来越多的输出。（例如，`-v -v -v`即使在批处理模式下也会产生表格输出格式。）

-   [](<>) [`- 版本`](mysql-command-options.html#option_mysql_version),`-V`

    [](<>)[](<>)

    显示版本信息并退出。

-   [](<>) [`- 垂直的`](mysql-command-options.html#option_mysql_vertical),`-E`

    [](<>)[](<>)

    垂直打印查询输出行（每列值一行）。如果没有此选项，您可以通过使用终止它们来指定单个语句的垂直输出`\G`.

-   [](<>) [`- 等待`](mysql-command-options.html#option_mysql_wait),`-w`

    [](<>)[](<>)

    如果无法建立连接，请等待并重试，而不是中止。

-   [](<>) [`--xml`](mysql-command-options.html#option_mysql_xml),`-X`

    [](<>)[](<>)

    生成 XML 输出。

    ```
    <field name="column_name">NULL</field>
    ```

    当输出[`--xml`](mysql-command-options.html#option_mysql_xml)与…连用[**mysql**](mysql.html)与[**mysqldump**](mysqldump.html) [`--xml`](mysqldump.html#option_mysqldump_xml)看见[第4.5.4节，“mysqldump-数据库备份程序”](mysqldump.html)，以获取详细信息。

    XML输出还使用XML名称空间，如下所示：

    ```
    $> mysql --xml -uroot -e "SHOW VARIABLES LIKE 'version%'"
    <?xml version="1.0"?>

    <resultset statement="SHOW VARIABLES LIKE 'version%'" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <row>
    <field name="Variable_name">version</field>
    <field name="Value">5.0.40-debug</field>
    </row>

    <row>
    <field name="Variable_name">version_comment</field>
    <field name="Value">Source distribution</field>
    </row>

    <row>
    <field name="Variable_name">version_compile_machine</field>
    <field name="Value">i686</field>
    </row>

    <row>
    <field name="Variable_name">version_compile_os</field>
    <field name="Value">suse-linux-gnu</field>
    </row>
    </resultset>
    ```

-   [](<>) [`--压缩级别=*`数量`*`](mysql-command-options.html#option_mysql_zstd-compression-level)

    [](<>)[](<>)

    用于连接到使用`zstd`压缩算法。允许的水平从1到22，较大的值表示压缩水平增加。默认值`zstd`压缩级别为3。压缩级别设置对不使用压缩级别的连接没有影响`zstd`压缩。

    有关更多信息，请参阅[第4.2.8节，“连接压缩控制”](connection-compression-control.html).

    这个选项是在MySQL 8.0.18中添加的。
