Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  mysqlslap — A Load Emulation Client

6.5.7 管理和实用程序

mysqlslap 是一个诊断程序,旨在模拟多个客户端对 MySQL 服务器的负载,并报告每个阶段的时间。它就像多个客户端一样访问服务器。

调用 mysqlslap 如下:

mysqlslap [options]

一些选项,如 --create--query 允许您指定一个包含 SQL 语句或文件的字符串。如果您指定的是文件,默认情况下,它必须包含一条语句每行。 (即,隐式语句分隔符是换行符。) 使用 --delimiter 选项可以指定不同的分隔符,这样就可以指定跨多行的语句或在单行上放置多个语句。您不能在文件中包含注释; mysqlslap 不理解它们。

mysqlslap 运行三个阶段:

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

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

  3. 清理(断开连接,若指定则删除表格)。这一阶段使用单个客户端连接。

示例:

提供自己的创建和查询 SQL 语句,带有 50 个客户端查询和每个 200 次 selects(在一行中输入命令):

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

mysqlslap 根据包含两个 INT 列和三个 VARCHAR 列的表格建造查询 SQL 语句。使用五个客户端查询,每次查询 20 次。不要创建表格或插入数据(即使用前一项测试的模式和数据):

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

告诉程序从指定文件中加载创建、插入和查询的 SQL 语句,其中 create.sql 文件包含多个表格创建语句,分隔符为 ',以及多个插入语句,分隔符为 '。查询文件应包含多个查询,分隔符为 '。运行所有负载语句,然后使用五个客户端(每次五次)运行查询文件中的所有查询:

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

mysqlslap 支持以下选项,可以在命令行或 [mysqlslap] 和 [client] 组中的选项文件中指定。有关 MySQL 程序使用的选项文件的信息,请参阅 第 6.2.2.2 节,“使用选项文件”

表格 6.16 mysqlslap 选项

Option Name Description
--auto-generate-sql 当不提供在文件或命令选项中指定的 SQL 语句时,自动生成 SQL 语句
--auto-generate-sql-add-autoincrement 在自动生成的表格中添加 AUTO_INCREMENT 列
--auto-generate-sql-execute-number 指定自动生成的查询数量
--auto-generate-sql-guid-primary 在自动生成的表格中添加基于 GUID 的主键
--auto-generate-sql-load-type 指定测试负载类型
--auto-generate-sql-secondary-indexes 在自动生成的表格中指定添加的次级索引数量
--auto-generate-sql-unique-query-number 生成自动测试的不同查询数量
--auto-generate-sql-unique-write-number 如何生成不同查询以供 --auto-generate-sql-write-number 使用
--auto-generate-sql-write-number 每个线程执行的行插入数量
--commit 在提交之前执行的语句数量
--compress 客户端和服务器之间发送的所有信息进行压缩
--compression-algorithms 允许的连接到服务器的压缩算法
--concurrency 模拟SELECT语句时的客户端数量
--create 用于创建表的SQL语句文件或字符串
--create-schema 运行测试的数据库架构
--csv 以逗号分隔值格式生成输出
--debug 写入调试日志
--debug-check 程序退出时打印调试信息
--debug-info 程序退出时打印调试信息、内存和CPU统计信息
--default-auth 使用的身份验证插件
--defaults-extra-file 读取额外选项文件
--defaults-file 只读指定的选项文件
--defaults-group-suffix 选项组后缀值
--delimiter SQL语句中的分隔符
--detach 每N个语句后断开并重新打开连接
--enable-cleartext-plugin 启用清文本身份验证插件
--engine 用于创建表的存储引擎
--get-server-public-key 从服务器请求RSA公钥
--help 显示帮助信息并退出
--host MySQL服务器所在主机
--iterations 运行测试的次数
--login-path 从~/.mylogin.cnf读取登录路径选项
--no-defaults 不读取任何选项文件
--no-drop 在测试运行期间不删除任何架构
--no-login-paths 不读取登录路径文件
--number-char-cols 如果使用--auto-generate-sql,则使用的VARCHAR列数
--number-int-cols 如果使用--auto-generate-sql,则使用的INT列数
--number-of-queries 限制每个客户端执行的查询数量
--only-print 不连接数据库。mysqlslap仅打印它将要做的事情
--password Password to use when connecting to server
--password1 First multifactor authentication password to use when connecting to server
--password2 第二个多因素认证密码,用于连接到服务器
--password3 第三个多因素认证密码,用于连接到服务器
--pipe 使用命名管道连接到服务器(仅限Windows)
--plugin-dir 插件安装目录
--port TCP/IP端口号,用于连接
--post-query 包含测试完成后执行的语句的文件或字符串
--post-system 在测试完成后使用system()执行的字符串
--pre-query 包含在运行测试前执行的语句的文件或字符串
--pre-system 在运行测试前使用system()执行的字符串
--print-defaults 打印默认选项
--protocol 使用的传输协议
--query 包含用于检索数据的SELECT语句的文件或字符串
--server-public-key-path 包含RSA公钥的文件路径
--shared-memory-base-name 用于共享内存连接的共享内存名称(仅限Windows)
--silent 静默模式
--socket 用于连接的Unix域套接字文件或Windows命名管道
--sql-mode 为客户端会话设置的SQL模式
--ssl-ca 包含信任SSL证书颁发机构列表的文件
--ssl-capath 包含信任SSL证书颁发机构证书文件的目录
--ssl-cert 包含X.509证书的文件
--ssl-cipher 用于连接加密的允许密码
--ssl-crl 包含证书吊销列表的文件
--ssl-crlpath 包含证书吊销-列表文件的目录
--ssl-fips-mode 是否启用FIPS模式
--ssl-key 包含X.509密钥的文件
--ssl-mode 连接到服务器时期望的安全状态
--ssl-session-data 包含SSL会话数据的文件
--ssl-session-data-continue-on-failed-reuse 是否在会话重用失败时建立连接
--tls-ciphersuites 用于加密连接的TLSv1.3密码套件
--tls-sni-servername 客户端提供的服务器名称
--tls-version 用于加密连接的TLS协议版本
--user 用于连接到服务器的MySQL用户名
--verbose 详细模式
--version 显示版本信息并退出
--zstd-compression-level 用于连接到服务器的ZSTD压缩级别

  • --help, -?

    Command-Line Format --help

    显示帮助信息并退出。

  • --auto-generate-sql, -a

    Command-Line Format --auto-generate-sql
    Type 布尔值
    Default Value FALSE

    自动生成SQL语句,当它们不在文件中提供或使用命令选项时。

  • --auto-generate-sql-add-autoincrement

    Command-Line Format --auto-generate-sql-add-autoincrement
    Type 布尔值
    Default Value FALSE

    在自动生成的表中添加一个AUTO_INCREMENT列。

  • --auto-generate-sql-execute-number=N

    Command-Line Format --auto-generate-sql-execute-number=#
    Type 数值

    指定自动生成的查询数量。

  • --auto-generate-sql-guid-primary

    Command-Line Format --auto-generate-sql-guid-primary
    Type 布尔值
    Default Value FALSE

    在自动生成的表中添加一个基于GUID的主键。

  • --auto-generate-sql-load-type=type

    Command-Line Format --auto-generate-sql-load-type=type
    Type 枚举值
    Default Value mixed
    Valid Values

    read

    write

    key

    update

    mixed

    指定测试负载类型。允许的值是read(扫描表)、write(插入到表中)、key(读取主键)或update(更新主键),或者是mixed(半个插入,半个扫描选择)。默认为mixed

  • --auto-generate-sql-secondary-indexes=N

    Command-Line Format --auto-generate-sql-secondary-indexes=#
    Type 数值
    Default Value 0

    指定自动生成表中添加的次级索引数量。默认情况下,不会添加任何次级索引。

  • --auto-generate-sql-unique-query_number=N

    Command-Line Format --auto-generate-sql-unique_query_number=#
    Type 数值
    Default Value 10

    自动生成的查询数量。例如,如果您运行一个key测试,该测试执行1000次选择操作,您可以使用此选项与值为1000来运行1000个唯一查询,或者使用值为50来执行50个不同的选择操作。默认值为10。

  • --auto-generate-sql-unique_write_number=N

    Command-Line Format --auto-generate-sql-unique_write_number=#
    Type 数值
    Default Value 10

    指定--auto-generate-sql-write-number生成的不同查询数量。默认为10。

  • --auto-generate-sql-write_number=N

    Command-Line Format --auto-generate-sql-write_number=#
    Type 数值
    Default Value 100

    要执行的行插入操作数。默认值是100。

  • --commit=N

    Command-Line Format --commit=#
    Type 数字
    Default Value 0

    在执行一定数量的语句后提交更改。默认值为0(不进行任何提交)。

  • --compress, -C

    Command-Line Format --compress[={OFF|ON}]
    Deprecated 是的
    Type 布尔值
    Default Value OFF

    如果可能,压缩客户端和服务器之间传输的所有信息。请参阅第6.2.8节,“连接压缩控制”

    此选项已被弃用。预计将在未来版本的MySQL中移除。请参阅配置遗留连接压缩

  • --compression-algorithms=value

    Command-Line Format --compression-algorithms=value
    Type 设置
    Default Value uncompressed
    Valid Values

    zlib

    zstd

    uncompressed

    用于连接到服务器的允许压缩算法。可用的算法与protocol_compression_algorithms系统变量相同。默认值为uncompressed

    更多信息,请参阅第6.2.8节,“连接压缩控制”

  • --concurrency=N, -c N

    Command-Line Format --concurrency=#
    Type 数字

    模拟的并发客户端数量。

  • --create=value

    Command-Line Format --create=value
    Type 字符串

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

  • --create-schema=value

    Command-Line Format --create-schema=value
    Type 字符串

    要在其中运行测试的模式。

    Note

    如果同时给出了--auto-generate-sql选项,mysqlslap在测试运行结束时会删除模式。为了避免这一点,请同时使用--no-drop选项。

  • --csv[=file_name]

    Command-Line Format --csv=[file]
    Type 文件名

    以逗号分隔值格式生成输出。输出将写入给定的文件或标准输出,如果未提供文件名。

  • --debug[=debug_options], -# [debug_options]

    Command-Line Format --debug[=debug_options]
    Type 字符串
    Default Value d:t:o,/tmp/mysqlslap.trace

    写入调试日志。一个典型的debug_options字符串是d:t:o,file_name。默认值为d:t:o,/tmp/mysqlslap.trace

    此选项仅在MySQL使用WITH_DEBUG时可用。Oracle提供的MySQL发布版本是使用该选项构建的。

  • --debug-check

    Command-Line Format --debug-check
    Type 布尔值
    Default Value FALSE

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

    这个选项只有在MySQL使用WITH_DEBUG进行编译时才可用。Oracle提供的MySQL发布版本是使用这个选项编译的。

  • --debug-info, -T

    Command-Line Format --debug-info
    Type 布尔值
    Default Value FALSE

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

    这个选项只有在MySQL使用WITH_DEBUG进行编译时才可用。Oracle提供的MySQL发布版本是使用这个选项编译的。

  • --default-auth=plugin

    Command-Line Format --default-auth=plugin
    Type 字符串

    一个提示,指示应该使用哪个客户端认证插件。请参阅第8.2.17节,“可插拔认证”

  • --defaults-extra-file=file_name

    Command-Line Format --defaults-extra-file=file_name
    Type 文件名

    在全局选项文件之后但在用户选项文件之前读取这个选项文件。如果文件不存在或无法访问,会发生错误。如果file_name不是一个绝对路径名,它将被解释为相对于当前目录的相对路径。

    关于这个和其他影响选项文件处理的命令行选项的更多信息,请参阅第6.2.2.3节,“影响选项文件处理的命令行选项”

  • --defaults-file=file_name

    Command-Line Format --defaults-file=file_name
    Type 文件名

    只使用给定的选项文件。如果文件不存在或无法访问,会发生错误。如果file_name不是一个绝对路径名,它将被解释为相对于当前目录的相对路径。

    例外情况:即使使用--defaults-file,客户端程序仍然读取.mylogin.cnf

    关于这个和其他影响选项文件处理的命令行选项的更多信息,请参阅第6.2.2.3节,“影响选项文件处理的命令行选项”

  • --defaults-group-suffix=str

    Command-Line Format --defaults-group-suffix=str
    Type 字符串

    不仅读取通常的选项组,还读取具有通常名称和后缀str的组。例如,mysqlslap 通常读取[client][mysqlslap]组。如果这个选项以--defaults-group-suffix=_other的形式给出,mysqlslap 也会读取[client_other][mysqlslap_other]组。

    关于这个和其他影响选项文件处理的命令行选项的更多信息,请参阅第6.2.2.3节,“影响选项文件处理的命令行选项”

  • --delimiter=str, -F str

    Command-Line Format --分隔符=字符串
    Type 字符串

    用于文件或命令选项中SQL语句的分隔符。

  • --detach=N

    Command-Line Format --detach=#
    Type 数字
    Default Value 0

    每执行N条语句后断开并重新打开连接。默认为0(不断开连接)。

  • --enable-cleartext-plugin

    Command-Line Format --enable-cleartext-plugin
    Type 布尔值
    Default Value FALSE

    启用mysql_clear_password明文身份验证插件。请参阅第8.4.1.4节,“客户端侧明文可插拔身份验证”

  • --engine=引擎名称, -e 引擎名称

    Command-Line Format --engine=engine_name
    Type 字符串

    用于创建表的存储引擎。

  • --get-server-public-key

    Command-Line Format --get-server-public-key
    Type 布尔值

    从服务器请求RSA公钥,该公钥用于基于密钥对的密码交换。这选项适用于连接到服务器并使用caching_sha2_password身份验证插件进行认证的客户端。对于使用该插件进行认证的连接,除非请求,否则服务器不会将公钥发送给客户端。如果RSA-基于密码交换不需要(例如,当客户端通过安全连接连接到服务器时),则选项被忽略。

    如果提供了--server-public-key-path=文件名并指定了一个有效的公钥文件,它将优先于--get-server-public-key

    有关caching_sha2_password插件的信息,请参阅第8.4.1.2节,“Caching SHA-2 Pluggable Authentication”

  • --host=主机名, -h 主机名

    Command-Line Format --host=host_name
    Type 字符串
    Default Value localhost

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

  • --iterations=N, -i N

    Command-Line Format --iterations=#
    Type 数字

    运行测试的次数。

  • --login-path=名称

    Command-Line Format --login-path=name
    Type 字符串

    从名为.mylogin.cnf的登录路径文件中读取选项。一个登录路径”是一个包含指定连接到哪个MySQL服务器以及以何种身份验证的选项组。在创建或修改登录路径文件时,请使用mysql_config_editor工具。请参阅第6.6.7节,“mysql_config_editor — MySQL Configuration Utility”

    有关此类以及其他选项文件选项的更多信息,请参阅第6.2.2.3节,“命令行选项影响选项文件处理”

  • --no-login-paths

    Command-Line Format --no-login-paths

    跳过从登录路径文件中读取选项。

    查看--login-path的相关信息。

    有关此和其他选项文件选项的更多信息,请参阅--no-drop

  • --no-drop

    Command-Line Format --no-drop
    Type 布尔值
    Default Value FALSE

    防止--no-defaults

  • --no-defaults

    Command-Line Format --no-defaults

    不要读取任何选项文件。如果程序启动失败,因为从选项文件中读取了未知选项,--no-...可以防止它们被读取。

    The exception is that the .mylogin.cnf file is read in all cases, if it exists. This permits passwords to be specified in a safer way than on the command line even when --no-defaults is used. To create .mylogin.cnf, use the mysql_config_editor utility. See Section 6.6.7, “mysql_config_editor — MySQL Configuration Utility”.

    For additional information about this and other option-file options, see Section 6.2.2.3, “Command-Line Options that Affect Option-File Handling”.

  • --number-char-cols=N, -x N

    Command-Line Format --number-char-cols=#
    Type 数值

    如果--auto-...指定,则使用的VARCHAR列数。

  • --number-int-cols=N, -y N

    Command-Line Format --number-int-cols=#
    Type 数值

    如果--auto-...指定,则使用的INT列数。

  • --number-of-queries=N

    Command-Line Format --number-of-queries=#
    Type 数值

    限制每个客户端大约执行此数量的查询。查询计数考虑了语句分隔符。例如,如果您以以下方式调用--only-print

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

    Command-Line Format --only-print
    Type 布尔值
    Default Value FALSE

    不要连接数据库。--password[=password]

  • --password[=password], -p[password]

    Command-Line Format --password[=password]
    Type 字符串

    MySQL服务器连接用的帐户密码。密码值是可选的。如果不给出,mysqlslap 会提示输入一个。如果给出,那么在--password=-p后面不能有空格。如果没有指定密码选项,默认情况下不会发送密码。

    在命令行上指定密码应该被认为是不安全的。为了避免在命令行上输入密码,使用选项文件。请参阅第8.1.2.1节,“End-User Guidelines for Password Security”

    要明确指定没有密码,并且mysqlslap 不会提示输入一个,使用--skip-password选项。

  • --password1[=pass_val]

    MySQL服务器连接用的帐户的多因素认证因子1的密码。密码值是可选的。如果不给出,mysqlslap 会提示输入一个。如果给出,那么在--password1=后面不能有空格。如果没有指定密码选项,默认情况下不会发送密码。

    在命令行上指定密码应该被认为是不安全的。为了避免在命令行上输入密码,使用选项文件。请参阅第8.1.2.1节,“End-User Guidelines for Password Security”

    要明确指定没有密码,并且mysqlslap 不会提示输入一个,使用--skip-password1选项。

    --password1--password是同义词,--skip-password1--skip-password也是同义词。

  • --password2[=pass_val]

    MySQL服务器连接用的帐户的多因素认证因子2的密码。这个选项的语义与--password1的语义相同;请参阅该选项的描述。

  • --password3[=pass_val]

    MySQL服务器连接用的帐户的多因素认证因子3的密码。这个选项的语义与--password1的语义相同;请参阅该选项的描述。

  • --pipe, -W

    Command-Line Format --pipe
    Type 字符串

    在Windows上,使用命名管道连接到服务器。这一选项仅适用于服务器以支持命名管道连接的方式启动,并且执行连接的用户必须是指定由named_ pipe系统变量启用的Windows组成员。

  • --plugin-dir=dir_name

    Command-Line Format --plugin-dir=dir_name
    Type 目录名称

    指定插件目录。只有当使用--default- auth选项来指定认证插件,但mysqlslap无法找到它时,需要指定这个选项。请参阅第8.2.17节,“可插拔认证”

  • --port=端口号, -P 端口号

    Command-Line Format --port=端口号
    Type 数字
    Default Value 3306

    用于TCP/IP连接的端口号。

  • --post-query=

    Command-Line Format --post-query=值
    Type 字符串

    包含测试完成后执行的语句的文件或字符串。这次执行不计入时间。

  • --post-system=字符串

    Command-Line Format --post-system=字符串
    Type 字符串

    在测试完成后使用system()执行的字符串。这次执行不计入时间。

  • --pre-query=

    Command-Line Format --pre-query=值
    Type 字符串

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

  • --pre-system=字符串

    Command-Line Format --pre-system=字符串
    Type 字符串

    在运行测试之前使用system()执行的字符串。这次执行不计入时间。

  • --print-defaults

    Command-Line Format --print-defaults

    打印程序名称及其来自选项文件的所有选项。

    有关此类以及其他影响选项文件处理的命令行选项的更多信息,请参阅第6.2.2.3节,“影响选项文件处理的命令行选项”

  • --protocol={TCP|SOCKET|PIPE|MEMORY}

    Command-Line Format --protocol=类型
    Type 字符串
    Default Value [see text]
    Valid Values

    TCP

    SOCKET

    PIPE

    MEMORY

    用于连接到服务器的传输协议。它在其他连接参数通常导致使用不同于您想要的协议时非常有用。在可接受值的详细信息上,请参阅第6.2.7节,“连接传输协议”

  • --query=, -q

    Command-Line Format --query=值
    Type 字符串

    包含用于检索数据的SELECT语句的文件或字符串。

  • --server-public-key-path=文件名

    Command-Line Format --server-public-key-path=文件名
    Type 文件名

    到一个包含服务器所需的客户端公钥副本的文件路径,该公钥用于RSA密钥对密码交换。这项选项适用于使用sha256_passwordcaching_sha2_password身份验证插件的客户端。对于不使用这些插件进行身份验证的账户,这项选项将被忽略。此外,如果客户端通过安全连接与服务器通信时不使用RSA密码交换,那么这项选项也会被忽略。

    如果给定--server-public-key-path=file_name并指定了一个有效的公钥文件,它将优先于--get-server-public-key

    对于sha256_password,这项选项仅适用于使用OpenSSL编译的MySQL版本。

    有关sha256_passwordcaching_sha2_password插件的信息,请参阅第8.4.1.3节,“SHA-256 Pluggable Authentication”第8.4.1.2节,“Caching SHA-2 Pluggable Authentication”

  • --shared-memory-base-name=name

    Command-Line Format --shared-memory-base-name=name
    Platform Specific Windows

    在Windows上,用于通过共享内存连接到本地服务器的共享内存名称。默认值为MYSQL。共享内存名称是大小写敏感的。

    这项选项仅适用于服务器以支持共享内存连接的方式启动时启用了shared_系统变量。

  • --silent, -s

    Command-Line Format --silent

    静默模式。没有输出。

  • --socket=path, -S path

    Command-Line Format --socket={file_name|pipe_name}
    Type 字符串

    对于localhost,要使用的Unix套接字文件路径,或在Windows上,要使用的命名管道名称。

    在Windows上,这项选项仅适用于服务器以支持命名管道连接的方式启动时启用了named_系统变量。此外,执行连接的用户必须是指定在named_pipe_full_access_group系统变量中定义的Windows组成员。

  • --sql-mode=mode

    Command-Line Format --sql-mode=mode
    Type 字符串

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

  • --ssl*

    --ssl开头的选项指定是否使用加密连接以及SSL密钥和证书的位置。请参阅命令行选项:加密连接

  • --ssl-fips-mode={OFF|ON|STRICT}

    Command-Line Format --ssl-fips-mode={OFF|ON|STRICT}
    Deprecated
    Type 枚举
    Default Value OFF
    Valid Values

    OFF

    ON

    STRICT

    控制是否在客户端上启用FIPS模式。与其他以--ssl-xxx开头的选项不同,--ssl-fips-mode用于控制哪些加密操作是允许的,而不是用于建立加密连接。请参阅第8.8节,“FIPS支持”

    以下是--ssl-fips-mode允许的值:

    • OFF: 禁用FIPS模式。

    • ON: 启用FIPS模式。

    • STRICT: 启用“严格”FIPS模式。

    Note

    如果OpenSSL FIPS对象模块不可用,唯一允许的值为--ssl-fips-modeOFF。在这种情况下,将--ssl-fips-mode设置为ONSTRICT将导致客户端在启动时产生警告,并以非FIPS模式运行。

    此选项已被弃用。预计它将在MySQL的未来版本中被移除。

  • --tls-ciphersuites=ciphersuite_list

    Command-Line Format --tls-ciphersuites=ciphersuite_list
    Type 字符串

    用于TLSv1.3加密连接的允许密码套件。值是一个或多个由冒号分隔的密码套件名称列表。可以为此选项命名的密码套件取决于用来编译MySQL的SSL库。有关详细信息,请参阅第8.3.2节,“加密连接TLS协议和密码”

  • --tls-sni-servername=server_name

    Command-Line Format --tls-sni-servername=server_name
    Type 字符串

    当指定时,该名称将传递给libmysqlclient C API库,使用mysql_options()MYSQL_OPT_TLS_SNI_SERVERNAME选项。服务器名称不区分大小写。要查看客户端为当前会话指定的服务器名称(如果有),请检查Tls_sni_server_name状态变量。

    Server Name Indication (SNI) 是TLS协议的一个扩展(OpenSSL必须使用TLS扩展编译,以便此选项可用)。MySQL对SNI的实现仅限于客户端侧。

  • --tls-version=protocol_list

    Command-Line Format --tls-version=protocol_list
    Type 字符串
    Default Value

    TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 (OpenSSL 1.1.1或更高版本)

    TLSv1, TLSv1.1, TLSv1.2 (否则)

    用于加密连接的允许TLS协议。值是一个或多个由逗号分隔的协议名称列表。可以为此选项命名的协议取决于用来编译MySQL的SSL库。有关详细信息,请参阅第8.3.2节,“加密连接TLS协议和密码”

  • --user=user_name, -u user_name

    Command-Line Format --user=user_ name,
    Type 字符串

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

  • --verbose, -v

    Command-Line Format --verbose

    详细模式。打印更多关于程序做什么的信息。这项选项可以重复使用以增加信息量。

  • --version, -V

    Command-Line Format --version

    显示版本信息并退出。

  • --zstd-compression-level=level

    Command-Line Format --zstd-compression-level=#
    Type 整数

    用于连接到服务器的zstd压缩算法的压缩级别。允许的级别从1到22,较大的值表示更高的压缩级别。默认的zstd压缩级别为3。压缩级别设置对不使用zstd压缩算法的连接无效。

    欲知更多信息,请参阅第6.2.8节,“连接压缩控制”