### 4.5.8 mysqlslap - 负载仿真客户端

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

[**mysqlslap**](mysqlslap.html)是一个诊断程序，旨在模拟 MySQL 服务器的客户端负载并报告每个阶段的时间。它就像多个客户端正在访问服务器一样工作。

调用[**mysqlslap**](mysqlslap.html)像这样：

```
mysqlslap [options]
```

一些选项，例如[`- 创建`](mysqlslap.html#option_mysqlslap_create)要么[`- 询问`](mysqlslap.html#option_mysqlslap_query)使您能够指定包含 SQL 语句的字符串或包含语句的文件。如果您指定一个文件，默认情况下它必须每行包含一个语句。（也就是说，隐式语句分隔符是换行符。）使用[`--分隔符`](mysqlslap.html#option_mysqlslap_delimiter)用于指定不同分隔符的选项，使您能够指定跨越多行的语句或将多个语句放在单行上。您不能在文件中包含注释；[**mysqlslap**](mysqlslap.html)不明白他们。

[**mysqlslap**](mysqlslap.html)分三个阶段运行：

1.  创建模式、表和可选的任何存储程序或数据以用于测试。此阶段使用单个客户端连接。

2.  运行负载测试。这个阶段可以使用许多客户端连接。

3.  清理（​​如果指定，断开连接，删除表）。此阶段使用单个客户端连接。

    例子：

    提供您自己的创建和查询 SQL 语句，有 50 个客户端查询和 200 个选择（在一行中输入命令）：


```
mysqlslap --delimiter=";"
  --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)"
  --query="SELECT * FROM a" --concurrency=50 --iterations=200
```

让[**mysqlslap**](mysqlslap.html)用一张两张表构建查询 SQL 语句[`INT`](integer-types.html)列和三个[`VARCHAR`](char.html)列。使用五个客户端，每个客户端查询 20 次。不要创建表或插入数据（即使用前面测试的模式和数据）：

```
mysqlslap --concurrency=5 --iterations=20
  --number-int-cols=2 --number-char-cols=3
  --auto-generate-sql
```

告诉程序从指定文件中加载创建、插入和查询 SQL 语句，其中`创建.sql`文件有多个表创建语句，由`';'`和多个由分隔的插入语句`';'`.这`- 询问`文件应包含多个查询，由`';'`.运行所有加载语句，然后使用五个客户端（每个五次）运行查询文件中的所有查询：

```
mysqlslap --concurrency=5
  --iterations=5 --query=query.sql --create=create.sql
  --delimiter=";"
```

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

[](<>)

**表 4.18 mysqlslap 选项**

| 选项名称 | 描述 | 介绍 | 已弃用 |
| ---- | --- | --- | --- |
| [--自动生成-sql](mysqlslap.html#option_mysqlslap_auto-generate-sql) | 当文件中未提供 SQL 语句或使用命令选项时自动生成 SQL 语句 |  |  |
| [--auto-generate-sql-add-autoincrement](mysqlslap.html#option_mysqlslap_auto-generate-sql-add-autoincrement) | 添加自动\_自动生成表的 INCREMENT 列 |  |  |
| [--auto-generate-sql-execute-number](mysqlslap.html#option_mysqlslap_auto-generate-sql-execute-number) | 指定自动生成多少查询 |  |  |
| [--auto-generate-sql-guid-primary](mysqlslap.html#option_mysqlslap_auto-generate-sql-guid-primary) | 向自动生成的表添加基于 GUID 的主键 |  |  |
| [--auto-generate-sql-load-type](mysqlslap.html#option_mysqlslap_auto-generate-sql-load-type) | 指定测试负载类型 |  |  |
| [--auto-generate-sql-secondary-indexes](mysqlslap.html#option_mysqlslap_auto-generate-sql-secondary-indexes) | 指定要添加到自动生成的表的二级索引的数量 |  |  |
| [--auto-generate-sql-unique-query-number](mysqlslap.html#option_mysqlslap_auto-generate-sql-unique-query-number) | 为自动测试生成多少个不同的查询 |  |  |
| [--auto-generate-sql-unique-write-number](mysqlslap.html#option_mysqlslap_auto-generate-sql-unique-write-number) | 为 --auto-generate-sql-write-number 生成多少个不同的查询 |  |  |
| [--auto-generate-sql-write-number](mysqlslap.html#option_mysqlslap_auto-generate-sql-write-number) | 每个线程要执行多少行插入 |  |  |
| [--犯罪](mysqlslap.html#option_mysqlslap_commit) | 提交前要执行多少条语句 |  |  |
| [--压缩](mysqlslap.html#option_mysqlslap_compress) | 压缩客户端和服务器之间发送的所有信息 |  | 8.0.18 |
| [--压缩算法](mysqlslap.html#option_mysqlslap_compression-algorithms) | 允许连接到服务器的压缩算法 | 8.0.18 |  |
| [--并发](mysqlslap.html#option_mysqlslap_concurrency) | 发出 SELECT 语句时要模拟的客户端数量 |  |  |
| [--创建](mysqlslap.html#option_mysqlslap_create) | 包含用于创建表的语句的文件或字符串 |  |  |
| [--创建模式](mysqlslap.html#option_mysqlslap_create-schema) | 运行测试的模式 |  |  |
| [--csv](mysqlslap.html#option_mysqlslap_csv) | 以逗号分隔值格式生成输出 |  |  |
| [--调试](mysqlslap.html#option_mysqlslap_debug) | 写调试日志 |  |  |
| [--调试检查](mysqlslap.html#option_mysqlslap_debug-check) | 程序退出时打印调试信息 |  |  |
| [--调试信息](mysqlslap.html#option_mysqlslap_debug-info) | 程序退出时打印调试信息、内存和 CPU 统计信息 |  |  |
| [--默认身份验证](mysqlslap.html#option_mysqlslap_default-auth) | 要使用的身份验证插件 |  |  |
| [--defaults-额外文件](mysqlslap.html#option_mysqlslap_defaults-extra-file) | 除了通常的选项文件外，还读取命名的选项文件 |  |  |
| [--默认文件](mysqlslap.html#option_mysqlslap_defaults-file) | 只读命名选项文件 |  |  |
| [--defaults-组后缀](mysqlslap.html#option_mysqlslap_defaults-group-suffix) | 选项组后缀值 |  |  |
| [--分隔符](mysqlslap.html#option_mysqlslap_delimiter) | 在 SQL 语句中使用的分隔符 |  |  |
| [--分离](mysqlslap.html#option_mysqlslap_detach) | 在每 N 个语句之后分离（关闭并重新打开）每个连接 |  |  |
| [--启用明文插件](mysqlslap.html#option_mysqlslap_enable-cleartext-plugin) | 启用明文身份验证插件 |  |  |
| [--引擎](mysqlslap.html#option_mysqlslap_engine) | 用于创建表的存储引擎 |  |  |
| [--get-server-public-key](mysqlslap.html#option_mysqlslap_get-server-public-key) | 从服务器请求 RSA 公钥 |  |  |
| [--帮助](mysqlslap.html#option_mysqlslap_help) | 显示帮助信息并退出 |  |  |
| [--主持人](mysqlslap.html#option_mysqlslap_host) | MySQL服务器所在的主机 |  |  |
| [--迭代](mysqlslap.html#option_mysqlslap_iterations) | 运行测试的次数 |  |  |
| [--登录路径](mysqlslap.html#option_mysqlslap_login-path) | 从 .mylogin.cnf 读取登录路径选项 |  |  |
| [--无默认值](mysqlslap.html#option_mysqlslap_no-defaults) | 不读取选项文件 |  |  |
| [--没有下降](mysqlslap.html#option_mysqlslap_no-drop) | 不要删除在测试运行期间创建的任何架构 |  |  |
| [--number-char-cols](mysqlslap.html#option_mysqlslap_number-char-cols) | 指定 --auto-generate-sql 时使用的 VARCHAR 列数 |  |  |
| [--number-int-cols](mysqlslap.html#option_mysqlslap_number-int-cols) | 指定 --auto-generate-sql 时使用的 INT 列数 |  |  |
| [--查询次数](mysqlslap.html#option_mysqlslap_number-of-queries) | 将每个客户端限制为大约此数量的查询 |  |  |
| [--仅打印](mysqlslap.html#option_mysqlslap_only-print) | 不要连接到数据库。mysqlslap 只打印它会做的事情 |  |  |
| [--密码](mysqlslap.html#option_mysqlslap_password) | 连接服务器时使用的密码 |  |  |
| [--密码1](mysqlslap.html#option_mysqlslap_password1) | 连接到服务器时使用的第一个多重身份验证密码 | 8.0.27 |  |
| [--密码2](mysqlslap.html#option_mysqlslap_password2) | 连接到服务器时使用的第二个多重身份验证密码 | 8.0.27 |  |
| [--密码3](mysqlslap.html#option_mysqlslap_password3) | 连接到服务器时使用的第三个多重身份验证密码 | 8.0.27 |  |
| [--管道](mysqlslap.html#option_mysqlslap_pipe) | 使用命名管道连接到服务器（仅限 Windows） |  |  |
| [--插件目录](mysqlslap.html#option_mysqlslap_plugin-dir) | 插件安装目录 |  |  |
| [--港口](mysqlslap.html#option_mysqlslap_port) | 用于连接的 TCP/IP 端口号 |  |  |
| [--后查询](mysqlslap.html#option_mysqlslap_post-query) | 包含测试完成后要执行的语句的文件或字符串 |  |  |
| [--后系统](mysqlslap.html#option_mysqlslap_post-system) | 测试完成后使用 system() 执行的字符串 |  |  |
| [--预查询](mysqlslap.html#option_mysqlslap_pre-query) | 包含在运行测试之前要执行的语句的文件或字符串 |  |  |
| [--预系统](mysqlslap.html#option_mysqlslap_pre-system) | 在运行测试之前使用 system() 执行的字符串 |  |  |
| [--打印默认值](mysqlslap.html#option_mysqlslap_print-defaults) | 打印默认选项 |  |  |
| [--协议](mysqlslap.html#option_mysqlslap_protocol) | 要使用的传输协议 |  |  |
| [--询问](mysqlslap.html#option_mysqlslap_query) | 包含用于检索数据的 SELECT 语句的文件或字符串 |  |  |
| [--服务器公钥路径](mysqlslap.html#option_mysqlslap_server-public-key-path) | 包含 RSA 公钥的文件的路径名 |  |  |
| [--shared-memory-base-name](mysqlslap.html#option_mysqlslap_shared-memory-base-name) | 共享内存连接的共享内存名称（仅限 Windows） |  |  |
| [--无声](mysqlslap.html#option_mysqlslap_silent) | 静音模式 |  |  |
| [--插座](mysqlslap.html#option_mysqlslap_socket) | 要使用的 Unix 套接字文件或 Windows 命名管道 |  |  |
| [--sql 模式](mysqlslap.html#option_mysqlslap_sql-mode) | 为客户端会话设置 SQL 模式 |  |  |
| [--ssl-ca](mysqlslap.html#option_mysqlslap_ssl) | 包含受信任 SSL 证书颁发机构列表的文件 |  |  |
| [--ssl-capath](mysqlslap.html#option_mysqlslap_ssl) | 包含受信任的 SSL 证书颁发机构证书文件的目录 |  |  |
| [--ssl 证书](mysqlslap.html#option_mysqlslap_ssl) | 包含 X.509 证书的文件 |  |  |
| [--ssl密码](mysqlslap.html#option_mysqlslap_ssl) | 连接加密的允许密码 |  |  |
| [--ssl-crl](mysqlslap.html#option_mysqlslap_ssl) | 包含证书吊销列表的文件 |  |  |
| [--ssl-crlpath](mysqlslap.html#option_mysqlslap_ssl) | 包含证书吊销列表文件的目录 |  |  |
| [--ssl-fips 模式](mysqlslap.html#option_mysqlslap_ssl-fips-mode) | 客户端是否开启 FIPS 模式 |  |  |
| [--ssl 密钥](mysqlslap.html#option_mysqlslap_ssl) | 包含 X.509 密钥的文件 |  |  |
| [--ssl 模式](mysqlslap.html#option_mysqlslap_ssl) | 连接到服务器的所需安全状态 |  |  |
| [--ssl 会话数据](mysqlslap.html#option_mysqlslap_ssl) | 包含 SSL 会话数据的文件 | 8.0.29 |  |
| [--ssl-session-data-continue-on-failed-reuse](mysqlslap.html#option_mysqlslap_ssl) | 会话重用失败时是否建立连接 | 8.0.29 |  |
| [--tls-密码套件](mysqlslap.html#option_mysqlslap_tls-ciphersuites) | 用于加密连接的允许 TLSv1.3 密码套件 | 8.0.16 |  |
| [--tls-版本](mysqlslap.html#option_mysqlslap_tls-version) | 加密连接的允许 TLS 协议 |  |  |
| [--用户](mysqlslap.html#option_mysqlslap_user) | 连接到服务器时使用的 MySQL 用户名 |  |  |
| [--详细](mysqlslap.html#option_mysqlslap_verbose) | 详细模式 |  |  |
| [--版本](mysqlslap.html#option_mysqlslap_version) | 显示版本信息并退出 |  |  |
| [--zstd-压缩级别](mysqlslap.html#option_mysqlslap_zstd-compression-level) | 与使用 zstd 压缩的服务器的连接的压缩级别 | 8.0.18 |  |

-   [](<>) [`- 帮助`](mysqlslap.html#option_mysqlslap_help), `-？`

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

    显示帮助信息并退出。

-   [](<>) [`--auto-generate-sql`](mysqlslap.html#option_mysqlslap_auto-generate-sql), `-一种`

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

    当文件中未提供 SQL 语句或使用命令选项时自动生成 SQL 语句。

-   [](<>) [`--auto-generate-sql-add-autoincrement`](mysqlslap.html#option_mysqlslap_auto-generate-sql-add-autoincrement)

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

    添加一个`自动递增`列到自动生成的表。

-   [](<>) [`--auto-generate-sql-execute-number=*`ñ`*`](mysqlslap.html#option_mysqlslap_auto-generate-sql-execute-number)

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

    指定要自动生成多少查询。

-   [](<>) [`--auto-generate-sql-guid-primary`](mysqlslap.html#option_mysqlslap_auto-generate-sql-guid-primary)

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

    将基于 GUID 的主键添加到自动生成的表中。

-   [](<>) [`--auto-generate-sql-load-type=*`类型`*`](mysqlslap.html#option_mysqlslap_auto-generate-sql-load-type)

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

    指定测试负载类型。允许的值为`读`（扫描表），`写`（插入表格），`钥匙`（读取主键），`更新`（更新主键），或`混合`（半插入，半扫描选择）。默认是`混合`.

-   [](<>) [`--auto-generate-sql-secondary-indexes=*`ñ`*`](mysqlslap.html#option_mysqlslap_auto-generate-sql-secondary-indexes)

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

    指定要添加到自动生成的表的二级索引。默认情况下，不添加任何内容。

-   [](<>) [`--auto-generate-sql-unique-query-number=*`ñ`*`](mysqlslap.html#option_mysqlslap_auto-generate-sql-unique-query-number)

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

    为自动测试生成多少个不同的查询。例如，如果您运行`钥匙`执行 1000 次选择的测试，您可以使用此选项，值为 1000 运行 1000 个唯一查询，或使用值为 50 来执行 50 个不同的选择。默认值为 10。

-   [](<>) [`--auto-generate-sql-unique-write-number=*`ñ`*`](mysqlslap.html#option_mysqlslap_auto-generate-sql-unique-write-number)

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

    生成多少个不同的查询[`--auto-generate-sql-write-number`](mysqlslap.html#option_mysqlslap_auto-generate-sql-write-number).默认值为 10。

-   [](<>) [`--auto-generate-sql-write-number=*`ñ`*`](mysqlslap.html#option_mysqlslap_auto-generate-sql-write-number)

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

    要执行多少行插入。默认值为 100。

-   [](<>) [`--提交=*`ñ`*`](mysqlslap.html#option_mysqlslap_commit)

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

    在提交之前要执行多少条语句。默认值为 0（不进行任何提交）。

-   [](<>) [`- 压缩`](mysqlslap.html#option_mysqlslap_compress),`-C`

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

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

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

-   [](<>) [`--压缩算法=*`价值`*`](mysqlslap.html#option_mysqlslap_compression-algorithms)

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

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

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

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

-   [](<>) [`--并发=*`ñ`*`](mysqlslap.html#option_mysqlslap_concurrency),`-c *`ñ`*`

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

    要模拟的并行客户端的数量。

-   [](<>) [`--创建=*`价值`*`](mysqlslap.html#option_mysqlslap_create)

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

    包含用于创建表的语句的文件或字符串。

-   [](<>) [`--create-schema=*`价值`*`](mysqlslap.html#option_mysqlslap_create-schema)

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

    运行测试的模式。

    笔记

    如果[`--auto-generate-sql`](mysqlslap.html#option_mysqlslap_auto-generate-sql)还给出了选项，[**mysqlslap**](mysqlslap.html)在测试运行结束时删除模式。为避免这种情况，请使用[`- 没有下降`](mysqlslap.html#option_mysqlslap_no-drop)选项也是如此。

-   [](<>) [`--csv[=*`文件名`*]`](mysqlslap.html#option_mysqlslap_csv)

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

    以逗号分隔值格式生成输出。输出到指定文件，如果没有给出文件，输出到标准输出。

-   [](<>) [`--调试[=*`调试选项`*]`](mysqlslap.html#option_mysqlslap_debug),`-# [*`调试选项`*]`

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

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

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

-   [](<>) [`--调试检查`](mysqlslap.html#option_mysqlslap_debug-check)

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

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

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

-   [](<>) [`- 调试信息`](mysqlslap.html#option_mysqlslap_debug-info),`-T`

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

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

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

-   [](<>) [`--default-auth=*`插入`*`](mysqlslap.html#option_mysqlslap_default-auth)

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

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

-   [](<>) [`--defaults-extra-file=*`文件名`*`](mysqlslap.html#option_mysqlslap_defaults-extra-file)

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

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

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

-   [](<>) [`--默认文件=*`文件名`*`](mysqlslap.html#option_mysqlslap_defaults-file)

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

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

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

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

-   [](<>) [`--defaults-group-suffix=*`字符串`*`](mysqlslap.html#option_mysqlslap_defaults-group-suffix)

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

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

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

-   [](<>) [`--分隔符=*`字符串`*`](mysqlslap.html#option_mysqlslap_delimiter),`-F *`字符串`*`

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

    在文件中提供或使用命令选项的 SQL 语句中使用的分隔符。

-   [](<>) [`--分离=*`ñ`*`](mysqlslap.html#option_mysqlslap_detach)

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

    在每个连接之后分离（关闭并重新打开）每个连接*`ñ`*陈述。默认值为 0（连接不分离）。

-   [](<>) [`--启用明文插件`](mysqlslap.html#option_mysqlslap_enable-cleartext-plugin)

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

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

-   [](<>) [`--引擎=*`引擎名称`*`](mysqlslap.html#option_mysqlslap_engine),`-e *`引擎名称`*`

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

    用于创建表的存储引擎。

-   [](<>) [`--get-server-public-key`](mysqlslap.html#option_mysqlslap_get-server-public-key)

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

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

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

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

-   [](<>) [`--主机=*`主机名`*`](mysqlslap.html#option_mysqlslap_host),`-h *`主机名`*`

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

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

-   [](<>) [`--迭代=*`ñ`*`](mysqlslap.html#option_mysqlslap_iterations),`-一世 *`ñ`*`

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

    运行测试的次数。

-   [](<>) [`--登录路径=*`姓名`*`](mysqlslap.html#option_mysqlslap_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).

-   [](<>) [`- 没有下降`](mysqlslap.html#option_mysqlslap_no-drop)

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

    避免[**mysqlslap**](mysqlslap.html)从删除它在测试运行期间创建的任何模式。

-   [](<>) [`--no-defaults`](mysqlslap.html#option_mysqlslap_no-defaults)

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

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

    唯一的例外是`.mylogin.cnf`如果文件存在，则在所有情况下都会读取文件。这允许以比在命令行上更安全的方式指定密码，即使在[`--no-defaults`](mysqlslap.html#option_mysqlslap_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).

-   [](<>) [`--number-char-cols=*`ñ`*`](mysqlslap.html#option_mysqlslap_number-char-cols),`-x *`ñ`*`

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

    的数量[`VARCHAR`](char.html)如果要使用的列[`--auto-generate-sql`](mysqlslap.html#option_mysqlslap_auto-generate-sql)被指定。

-   [](<>) [`--number-int-cols=*`ñ`*`](mysqlslap.html#option_mysqlslap_number-int-cols),`-y *`ñ`*`

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

    的数量[`INT`](integer-types.html)如果要使用的列[`--auto-generate-sql`](mysqlslap.html#option_mysqlslap_auto-generate-sql)被指定。

-   [](<>) [`--查询次数=*`ñ`*`](mysqlslap.html#option_mysqlslap_number-of-queries)

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

    将每个客户端限制为大约这么多查询。查询计数考虑到语句分隔符。例如，如果您调用[**mysqlslap**](mysqlslap.html)如下，`;`分隔符被识别，因此查询字符串的每个实例都算作两个查询。结果，插入了 5 行（不是 10 行）。

    ```
    mysqlslap --delimiter=";" --number-of-queries=10
              --query="use test;insert into t values(null)"
    ```

-   [](<>) [`--仅打印`](mysqlslap.html#option_mysqlslap_only-print)

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

    不要连接到数据库。[**mysqlslap**](mysqlslap.html)只打印它会做的事情。

-   [](<>) [`--密码[=*`密码`*]`](mysqlslap.html#option_mysqlslap_password),`-p[*`密码`*]`

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

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

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

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

-   [](<>) [`--密码1[=*`pass_val`*]`](mysqlslap.html#option_mysqlslap_password1)

    [](<>)

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

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

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

    [`--密码1`](mysqlslap.html#option_mysqlslap_password1)和[`- 密码`](mysqlslap.html#option_mysqlslap_password)是同义词[`--skip-password1`](mysqlslap.html#option_mysqlslap_password1)和[`--跳过密码`](mysqlslap.html#option_mysqlslap_password).

-   [](<>) [`--密码2[=*`pass_val`*]`](mysqlslap.html#option_mysqlslap_password2)

    [](<>)

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

-   [](<>) [`--密码3[=*`pass_val`*]`](mysqlslap.html#option_mysqlslap_password3)

    [](<>)

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

-   [](<>) [`- 管道`](mysqlslap.html#option_mysqlslap_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)系统变量。

-   [](<>) [`--插件目录=*`目录名`*`](mysqlslap.html#option_mysqlslap_plugin-dir)

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

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

-   [](<>) [`--端口=*`端口号`*`](mysqlslap.html#option_mysqlslap_port),`-P *`端口号`*`

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

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

-   [](<>) [`--post-query=*`价值`*`](mysqlslap.html#option_mysqlslap_post-query)

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

    包含在测试完成后要执行的语句的文件或字符串。此执行不计入计时目的。

-   [](<>) [`--post-system=*`字符串`*`](mysqlslap.html#option_mysqlslap_post-system)

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

    要执行的字符串`系统（）`测试完成后。此执行不计入计时目的。

-   [](<>) [`--预查询=*`价值`*`](mysqlslap.html#option_mysqlslap_pre-query)

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

    包含要在运行测试之前执行的语句的文件或字符串。此执行不计入计时目的。

-   [](<>) [`--预系统=*`字符串`*`](mysqlslap.html#option_mysqlslap_pre-system)

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

    要执行的字符串`系统（）`在运行测试之前。此执行不计入计时目的。

-   [](<>) [`--打印默认值`](mysqlslap.html#option_mysqlslap_print-defaults)

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

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

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

-   [](<>) [`--protocol={TCP|SOCKET|管道|内存}`](mysqlslap.html#option_mysqlslap_protocol)

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

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

-   [](<>) [`--查询=*`价值`*`](mysqlslap.html#option_mysqlslap_query),`-q *`价值`*`

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

    包含[`选择`](select.html)用于检索数据的语句。

-   [](<>) [`--server-public-key-path=*`文件名`*`](mysqlslap.html#option_mysqlslap_server-public-key-path)

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

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

    如果[`--server-public-key-path=*`文件名`*`](mysqlslap.html#option_mysqlslap_server-public-key-path)给出并指定一个有效的公钥文件，它优先于[`--get-server-public-key`](mysqlslap.html#option_mysqlslap_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=*`姓名`*`](mysqlslap.html#option_mysqlslap_shared-memory-base-name)

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

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

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

-   [](<>) [`- 无声`](mysqlslap.html#option_mysqlslap_silent),`-s`

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

    静音模式。没有输出。

-   [](<>) [`--socket=*`小路`*`](mysqlslap.html#option_mysqlslap_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)系统变量。

-   [](<>) [`--sql 模式=*`模式`*`](mysqlslap.html#option_mysqlslap_sql-mode)

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

    设置客户端会话的 SQL 模式。

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

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

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

-   [](<>) [`--ssl-fips-mode={OFF|ON|STRICT}`](mysqlslap.html#option_mysqlslap_ssl-fips-mode)

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

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

    这些[`--ssl-fips-模式`](mysqlslap.html#option_mysqlslap_ssl-fips-mode)允许的值：

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

    -   `在`：启用 FIPS 模式。

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

    笔记

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

-   [](<>) [`--tls-ciphersuites=*`密码套件列表`*`](mysqlslap.html#option_mysqlslap_tls-ciphersuites)

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

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

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

-   [](<>) [`--tls-版本=*`协议列表`*`](mysqlslap.html#option_mysqlslap_tls-version)

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

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

-   [](<>) [`--用户=*`用户名`*`](mysqlslap.html#option_mysqlslap_user),`-u *`用户名`*`

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

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

-   [](<>) [`--冗长的`](mysqlslap.html#option_mysqlslap_verbose),`-五`

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

    详细模式。打印有关程序功能的更多信息。此选项可多次使用以增加信息量。

-   [](<>) [`--版本`](mysqlslap.html#option_mysqlslap_version),`-五`

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

    显示版本信息并退出。

-   [](<>) [`--压缩级别=*`数量`*`](mysqlslap.html#option_mysqlslap_zstd-compression-level)

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

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

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

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