MySQL8-中文参考-七-

MySQL8 中文参考(七)

原文:docs.oracle.com/javase/tutorial/reallybigindex.html

6.6.7 mysql_config_editor — MySQL Configuration Utility

原文:dev.mysql.com/doc/refman/8.0/en/mysql-config-editor.html

mysql_config_editor 实用程序允许您将身份验证凭据存储在名为.mylogin.cnf的混淆登录路径文件中。在 Windows 上,文件位置是%APPDATA%\MySQL目录,在非 Windows 系统上是当前用户的主目录。稍后,MySQL 客户端程序可以读取该文件以获取连接到 MySQL 服务器的身份验证凭据。

.mylogin.cnf登录路径文件的未混淆格式由选项组组成,类似于其他选项文件。.mylogin.cnf中的每个选项组称为“登录路径”,这是一个仅允许特定选项的组:hostuserpasswordportsocket。将登录路径选项组视为一组指定连接到哪个 MySQL 服务器以及以哪个帐户进行身份验证的选项。以下是一个未混淆的示例:

[client]
user = mydefaultname
password = mydefaultpass
host = 127.0.0.1
[mypath]
user = myothername
password = myotherpass
host = localhost

当您调用客户端程序连接到服务器时,客户端将与其他选项文件一起使用.mylogin.cnf。它的优先级高于其他选项文件,但低于在客户端命令行上明确指定的选项。有关使用选项文件的顺序,请参阅第 6.2.2.2 节“使用选项文件”。

要指定替代的登录路径文件名,请设置MYSQL_TEST_LOGIN_FILE环境变量。此变量被mysql_config_editor、标准 MySQL 客户端(mysqlmysqladmin等)以及mysql-test-run.pl测试实用程序识别。

程序使用登录路径文件中的组如下:

  • mysql_config_editor 默认情况下在client登录路径上运行,如果您未指定--login-path=*name*选项来明确指示要使用哪个登录路径。

  • 如果没有--login-path选项,客户端程序将从登录路径文件中读取与从其他选项文件中读取的相同选项组。考虑以下命令:

    mysql
    

    默认情况下,mysql客户端从其他选项文件中读取[client][mysql]组,因此也从登录路径文件中读取它们。

  • 使用--login-path选项时,客户端程序还会从登录路径文件中读取指定的登录路径。从其他选项文件中读取的选项组保持不变。考虑以下命令:

    mysql --login-path=mypath
    

    mysql客户端从其他选项文件中读取[client][mysql],以及登录路径文件中的[client][mysql][mypath]

  • 即使使用--no-defaults选项,客户端程序也会读取登录路径文件,除非设置了--no-login-paths。这样即使存在--no-defaults,也可以以比在命令行上更安全的方式指定密码。

mysql_config_editor.mylogin.cnf文件进行混淆,以防止以明文形式读取,当客户端程序解密后仅在内存中使用其内容。这样,密码可以以非明文格式存储在文件中,并在以后使用而无需在命令行或环境变量中暴露。mysql_config_editor提供了一个print命令来显示登录路径文件的内容,但即使在这种情况下,密码值也会被掩盖,以便其他用户永远看不到它们。

mysql_config_editor使用的混淆方式防止密码以明文形式出现在.mylogin.cnf中,并通过防止密码意外暴露提供了一定的安全性。例如,如果在屏幕上显示一个常规的未混淆的my.cnf选项文件,其中包含的任何密码都会对任何人可见。但对于.mylogin.cnf,情况并非如此,但所使用的混淆方式不太可能阻止一个有决心的攻击者,你不应该认为它是无法破解的。一个能够获得系统管理权限以访问你的文件的用户可以通过一些努力来解密.mylogin.cnf文件。

登录路径文件必须对当前用户可读可写,对其他用户不可访问。否则,mysql_config_editor会忽略它,客户端程序也不会使用它。

像这样调用mysql_config_editor

mysql_config_editor [*program_options*] *command* [*command_options*]

如果登录路径文件不存在,mysql_config_editor会创建它。

命令参数如下所示:

  • program_options 包括一般的mysql_config_editor选项。

  • command 指示在.mylogin.cnf登录路径文件上执行的操作。例如,set将登录路径写入文件,remove删除登录路径,print显示登录路径内容。

  • command_options 表示特定于命令的任何其他选项,例如登录路径名称和在登录路径中使用的值。

命令名称在程序参数集中的位置很重要。例如,这些命令行具有相同的参数,但产生不同的结果:

mysql_config_editor --help set
mysql_config_editor set --help

第一条命令行显示一条一般的mysql_config_editor帮助消息,并忽略set命令。第二条命令行显示特定于set命令的帮助消息。

假设您想要建立一个定义默认连接参数的client登录路径,以及一个名为remote的额外登录路径,用于连接到主机remote.example.com���MySQL 服务器。您想要如下登录:

  • 默认情况下,使用用户名和密码localuserlocalpass连接到本地服务器

  • 使用用户名和密码remoteuserremotepass连接到远程服务器

要在.mylogin.cnf文件中设置登录路径,请使用以下set命令。每个命令都要单独输入一行,并在提示时输入适当的密码:

$> mysql_config_editor set --login-path=client
         --host=localhost --user=localuser --password
Enter password: *enter password "localpass" here*
$> mysql_config_editor set --login-path=remote
         --host=remote.example.com --user=remoteuser --password
Enter password: *enter password "remotepass" here*

mysql_config_editor默认使用client登录路径,因此第一个命令可以省略--login-path=client选项而不改变其效果。

要查看mysql_config_editor写入.mylogin.cnf文件的内容,请使用print命令:

$> mysql_config_editor print --all
[client]
user = localuser
password = *****
host = localhost
[remote]
user = remoteuser
password = *****
host = remote.example.com

print 命令将每个登录路径显示为一组以方括号中的登录路径名称开头的行,后跟登录路径的选项值。密码值被屏蔽,不会显示为明文。

如果您不指定--all以显示所有登录路径或--login-path=*name*以显示命名的登录路径,则print命令默认显示client登录路径(如果有)。

如前面的示例所示,登录路径文件可以包含多个登录路径。通过这种方式,mysql_config_editor可以轻松设置多个连接到不同 MySQL 服务器的“个性”,或者使用不同帐户连接到给定服务器。稍后可以通过名称使用--login-path选项选择其中任何一个连接到客户端程序。例如,要连接到远程服务器,请使用此命令:

mysql --login-path=remote

在这里,mysql 从其他选项文件中读取 [client][mysql] 选项组,从登录路径文件中读取 [client], [mysql][remote] 选项组。

要连接到本地服务器,请使用以下命令:

mysql --login-path=client

因为 mysql 默认读取 clientmysql 登录路径,所以在这种情况下 --login-path 选项不会添加任何内容。该命令等效于以下命令:

mysql

从登录路径文件中读取的选项优先于从其他选项文件中读取的选项。在登录路径文件中后出现的登录路径组的选项优先于文件中较早出现的组的选项。

mysql_config_editor 按照创建它们的顺序将登录路径添加到登录路径文件中,因此应该首先创建更通用的登录路径,然后再创建更具体的路径。如果需要在文件中移动登录路径,可以将其删除,然后重新创建以将其添加到末尾。例如,client 登录路径更通用,因为所有客户端程序都会读取它,而 mysqldump 登录路径仅被 mysqldump 读取。后面指定的选项会覆盖先前指定的选项,因此按照 client, mysqldump 的顺序放置登录路径使得 mysqldump 特定的选项能够覆盖 client 的选项。

当使用 set 命令与 mysql_config_editor 创建登录路径时,无需指定所有可能的选项值(主机名、用户名、密码、端口、套接字)。只有给定的值会被写入路径。稍后需要的任何缺失值可以在调用客户端路径连接到 MySQL 服务器时指定,无论是在其他选项文件中还是在命令行上。在命令行上指定的任何选项会覆盖登录路径文件或其他选项文件中指定的选项。例如,如果 remote 登录路径中的凭据也适用于主机 remote2.example.com,可以像这样连接到该主机的服务器:

mysql --login-path=remote --host=remote2.example.com

mysql_config_editor 通用选项

mysql_config_editor 支持以下通用选项,可用于在命令行上任何命令名称之前使用。有关特定命令选项的描述,请参见 mysql_config_editor 命令和特定命令选项。

表 6.21 mysql_config_editor 通用选项

选项名称 描述
--debug 写入调试日志
--help 显示帮助消息并退出
--verbose 详细模式
--version 显示版本信息并退出
  • --help, -?

    命令行格式 --help

    显示通用帮助消息并退出。

    要查看特定于命令的帮助消息,请按照以下方式调用mysql_config_editor,其中command是除help之外的命令:

    mysql_config_editor *command* --help
    
  • --debug[=*debug_options*], -# *debug_options*

    命令行格式 --debug[=debug_options]
    类型 字符串
    默认值 d:t:o

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

    此选项仅在使用WITH_DEBUG构建 MySQL 时可用。由 Oracle 提供的 MySQL 发布二进制文件使用此选项构建。

  • --verbose, -v

    命令行格式 --verbose

    详细模式。打印有关程序执行的更多信息。如果操作没有您期望的效果,此选项可能有助于诊断问题。

  • --version, -V

    命令行格式 --version

    显示版本信息并退出。

mysql_config_editor 命令和特定于命令的选项

本节描述了允许的mysql_config_editor命令,以及每个命令后面允许的特定于命令的选项。

此外,mysql_config_editor支持可用于在任何命令之前使用的通用选项。有关这些选项的描述,请参阅 mysql_config_editor 通用选项。

mysql_config_editor支持以下命令:

  • help

    显示通用帮助消息并退出。此命令不接受后续选项。

    要查看特定于命令的帮助消息,请按照以下方式调用mysql_config_editor,其中command是除help之外的命令:

    mysql_config_editor *command* --help
    
  • print [*options*]

    以未混淆形式打印登录路径文件的内容,密码显示为*****

    如果没有指定登录路径,则默认登录路径名称为client。如果同时给出--all--login-path,则--all优先。

    print命令允许在命令名称后面使用以下选项:

    • --help, -?

      显示print命令的帮助信息并退出。

      要查看通用帮助信息,请使用mysql_config_editor --help

    • --all

      打印登录路径文件中所有登录路径的内容。

    • --login-path=*name*, -G *name*

      打印指定名称登录路径的内容。

  • remove [*options*]

    从登录路径文件中移除登录路径,或通过移除选项来修改登录路径。

    此命令仅移除登录路径中指定的--host--password--port--socket--user选项。如果没有给出这些选项中的任何一个,remove将移除整个登录路径。例如,此命令仅从mypath登录路径中移除user选项,而不是整个mypath登录路径:

    mysql_config_editor remove --login-path=mypath --user
    

    此命令将移除整个mypath登录路径:

    mysql_config_editor remove --login-path=mypath
    

    remove命令允许在命令名称后面使用以下选项:

    • --help, -?

      显示remove命令的帮助信息并退出。

      要查看通用帮助信息,请使用mysql_config_editor --help

    • --host, -h

      从登录路径中移除主机名。

    • --login-path=*name*, -G *name*

      要移除或修改的登录路径。如果未给出此选项,则默认登录路径名称为client

    • --password, -p

      从登录路径中移除密码。

    • --port, -P

      从登录路径中移除 TCP/IP 端口号。

    • --socket, -S

      从登录路径中移除 Unix 套接字文件名。

    • --user, -u

      从登录路径中移除用户名。

    • --warn, -w

      如果尝试移除默认登录路径(client)且未指定--login-path=client,则警告并提示用户确认。此选项默认启用;使用--skip-warn来禁用。

  • reset [*options*]

    清空登录路径文件的内容。

    reset命令允许在命令名称后面使用以下选项:

    • --help, -?

      显示reset命令的帮助信息并退出。

      要查��通用帮助信息,请使用mysql_config_editor --help

  • set [*options*]

    将登录路径写入登录路径文件。

    此命令仅将--host--password--port--socket--user选项指定的选项写入登录路径。如果没有给出这些选项中的任何一个,mysql_config_editor将登录路径写入为空组。

    set命令允许在命令名称后面使用以下选项:

    • --help, -?

      显示set命令的帮助消息并退出。

      要查看一般帮助消息,请使用mysql_config_editor --help

    • --host=*host_name*, -h *host_name*

      写入登录路径的主机名。

    • --login-path=*name*, -G *name*

      要创建的登录路径。如果未提供此选项,则默认登录路径名称为client

    • --password, -p

      提示输入要写入登录路径的密码。在mysql_config_editor显示提示后,输入密码并按 Enter 键。为防止其他用户看到密码,mysql_config_editor不会回显密码。

      要指定空密码,请在密码提示处按 Enter 键。写入登录路径文件的结果包括如下一行:

      password =
      
    • --port=*port_num*, -P *port_num*

      写入登录路径的 TCP/IP 端口号。

    • --socket=*file_name*, -S *file_name*

      写入登录路径的 Unix 套接字文件名。

    • --user=*user_name*, -u *user_name*

      要写入登录路径的用户名。

    • --warn, -w

      如果命令尝试覆盖现有的登录路径,则警告并提示用户确认。此选项默认启用;使用--skip-warn来禁用它。

6.6.8 mysql_migrate_keyring — 密钥迁移实用程序

原文:dev.mysql.com/doc/refman/8.0/en/mysql-migrate-keyring.html

mysql_migrate_keyring实用程序在一个密钥环组件和另一个之间迁移密钥。它支持离线和在线迁移。

像这样调用mysql_migrate_keyring(在一行上输入命令):

mysql_migrate_keyring
  --component-dir=*dir_name*
  --source-keyring=*name*
  --destination-keyring=*name*
  [*other options*]

有关密钥迁移的信息以及使用mysql_migrate_keyring和其他方法执行它们的说明,请参见第 8.4.4.14 节,“在密钥环密钥存储之间迁移密钥”。

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

表 6.22 mysql_migrate_keyring 选项

选项名称 描述 引入 废弃
--component-dir 密钥环组件目录
--defaults-extra-file 除了通常的选项文件外,还读取命名选项文件
--defaults-file 仅读取命名选项文件
--defaults-group-suffix 选项组后缀值
--destination-keyring 目标密钥环组件名称
--destination-keyring-configuration-dir 目标密钥环组件配置目录
--get-server-public-key 从服务器请求 RSA 公钥
--help 显示帮助信息并退出
--host MySQL 服务器所在的主机
--login-path 从.mylogin.cnf 中读取登录路径选项
--no-defaults 不读取任何选项文件
--online-migration 迁移源是活动服务器
--password 连接到服务器时要使用的密码
--port 连接的 TCP/IP 端口号
--print-defaults 打印默认选项
--server-public-key-path 包含 RSA 公钥的文件路径名
--socket 要使用的 Unix 套接字文件或 Windows 命名管道
--source-keyring 源密钥环组件名称
--source-keyring-configuration-dir 源密钥环组件配置目录
--ssl-ca 包含受信任的 SSL 证书颁发机构列表的文件
--ssl-capath 包含受信任的 SSL 证书颁发机构证书文件的目录
--ssl-cert 包含 X.509 证书的文件
--ssl-cipher 连接加密的允许密码
--ssl-crl 包含证书吊销列表的文件
--ssl-crlpath 包含证书吊销列表文件的目录
--ssl-fips-mode 是否在客户端启用 FIPS 模式 8.0.34
--ssl-key 包含 X.509 密钥的文件
--ssl-mode 与服务器连接的期望安全状态
--ssl-session-data 包含 SSL 会话数据的文件 8.0.29
--ssl-session-data-continue-on-failed-reuse 如果会话重用失败是否建立连接 8.0.29
--tls-ciphersuites 加密连接的允许的 TLSv1.3 密码套件
--tls-version 加密连接的允许 TLS 协议
--user 连接到服务器时要使用的 MySQL 用户名
--verbose 详细模式
--version 显示版本信息并退出
选项名称 描述 引入 废弃
  • --help, -h

    命令行格式 --help

    显示帮助信息并退出。

  • --component-dir=*dir_name*

    命令行格式 --component-dir=dir_name
    类型 目录名

    存放关键环组件的目录。这通常是本地 MySQL 服务器的plugin_dir系统变量的值。

    注意

    对于由mysql_migrate_keyring执行的所有关键环迁移操作,--component-dir--source-keyring--destination-keyring是强制的。此外,源组件和目标组件必须不同,并且两个组件必须配置正确,以便mysql_migrate_keyring可以加载和使用它们。

  • --defaults-extra-file=*file_name*

    命令行格式 --defaults-extra-file=file_name
    类型 文件名

    在全局选项文件之后但(在 Unix 上)在用户选项文件之前读取此选项文件。如果文件不存在或无法访问,将会出现错误。如果file_name不是绝对路径名,则将其解释为相对于当前目录。

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

  • --defaults-file=*file_name*

    命令行格式 --defaults-file=file_name
    类型 文件名

    仅使用给定的选项文件。如果文件不存在或无法访问,将会出现错误。如果file_name不是绝对路径名,则将其解释为相对于当前目录。

    例外:即使使用--defaults-file,客户端程序也会读取.mylogin.cnf

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

  • --defaults-group-suffix=*str*

    命令行格式 --defaults-group-suffix=str
    类型 字符串

    不仅读取通常的选项组,还读取具有通常名称和后缀str的组。例如,mysql_migrate_keyring通常会读取[mysql_migrate_keyring]组。如果将此选项给定为--defaults-group-suffix=_othermysql_migrate_keyring还会读取[mysql_migrate_keyring_other]组。

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

  • --destination-keyring=*name*

    命令行格式 --destination-keyring=name
    类型 字符串

    用于密钥迁移的目标密钥环组件。选项值的格式和解释与--source-keyring选项描述的相同。

    注意

    --component-dir--source-keyring--destination-keyring对由mysql_migrate_keyring执行的所有密钥环迁移操作都是强制性的。此外,源组件和目标组件必须不同,并且两个组件必须配置正确,以便mysql_migrate_keyring可以加载和使用它们。

  • --destination-keyring-configuration-dir=*dir_name*

    命令行格式 --destination-keyring-configuration-dir=dir_name
    类型 目录名称

    仅当目标密钥环组件全局配置文件包含"read_local_config": true时,此选项才适用,表示组件配置包含在本地配置文件中。选项值指定包含该本地文件的目录。

  • --get-server-public-key

    命令行格式 --get-server-public-key
    类型 布尔值

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

    如果给定--server-public-key-path=*file_name*并指定有效的公钥文件,则优先于--get-server-public-key

    有关caching_sha2_password插件的信息,请参见第 8.4.1.2 节,“缓存 SHA-2 可插拔认证”。

  • --host=*host_name*-h *host_name*

    命令行格式 --host=host_name
    类型 字符串
    默认值 localhost

    当前正在使用其中一个密钥迁移密钥库的运行服务器的主机位置。迁移始终在本地主机上进行,因此该选项始终指定用于连接到本地服务器的值,例如localhost127.0.0.1::1或本地主机 IP 地址或主机名。

  • --login-path=*name*

    命令行格式 --login-path=name
    类型 字符串

    .mylogin.cnf登录路径文件中读取指定登录路径中的选项。 “登录路径”是一个包含指定要连接到哪个 MySQL 服务器以及要作为哪个帐户进行身份验证的选项的选项组。要创建或修改登录路径文件,请使用mysql_config_editor实用程序。请参见第 6.6.7 节,“mysql_config_editor — MySQL 配置实用程序”。

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

  • --no-defaults

    命令行格式 --no-defaults

    不要读取任何选项文件。如果由于从选项文件中读取未知选项而导致程序启动失败,可以使用--no-defaults来防止读取它们。

    例外情况是无论何种情况下都会读取.mylogin.cnf文件,如果存在的话。这允许以比在命令行上更安全的方式指定密码,即使使用--no-defaults也是如此。要创建.mylogin.cnf,请使用mysql_config_editor实用程序。请���见 第 6.6.7 节,“mysql_config_editor — MySQL 配置实用程序”。

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

  • --online-migration

    命令行格式 --online-migration
    类型 布尔值
    默认值 FALSE

    当运行服务器使用密钥环时,此选项是强制性的。它告诉mysql_migrate_keyring执行在线密钥迁移。该选项具有以下效果:

    • mysql_migrate_keyring 连接到服务器时使用指定的任何连接选项;否则这些选项将被忽略。

    • mysql_migrate_keyring连接到服务器后,它告诉服务器暂停密钥环操作。当密钥复制完成后,mysql_migrate_keyring告诉服务器可以在断开连接之前恢复密钥环操作。

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

    命令行格式 --password[=password]
    类型 字符串

    用于连接到当前使用密钥迁移密钥库的运行服务器的 MySQL 帐户的密码。密码值是可选的。如果未提供,mysql_migrate_keyring会提示输入密码。如果提供了密码选项,则--password=-p后面必须没有空格。如果未指定密码选项,则默认情况下不发送密码。

    在命令行上指定密码应被视为不安全。为了避免在命令行上输入密码,请使用一个选项文件。参见第 8.1.2.1 节,“密码安全的最终用户指南”。

    明确指定没有密码,并且mysql_migrate_keyring不应提示密码,使用--skip-password选项。

  • --port=*port_num*, -P *port_num*

    命令行格式 --port=port_num
    类型 数值
    默认值 0

    对于 TCP/IP 连接,用于连接到当前使用其中一个密钥迁移密钥库的运行服务器的端口号。

  • --print-defaults

    命令行格式 --print-defaults

    打印程序名称以及从选项文件获取的所有选项。

    有关此选项和其他选项文件选项的附加信息,请参见第 6.2.2.3 节,“影响选项文件处理的命令行选项”。

  • --server-public-key-path=*file_name*

    命令行格式 --server-public-key-path=file_name
    类型 文件名

    PEM 格式文件的路径名,其中包含服务器所需的用于 RSA 密钥对密码交换的客户端端公钥的副本。此选项适用于使用sha256_passwordcaching_sha2_password认证插件进行身份验证的客户端。对于不使用这些插件进行身份验证的帐户,此选项将被忽略。如果不使用基于 RSA 的密码交换,即当客户端使用安全连接连接到服务器时,此选项也将被忽略。

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

    对于sha256_password,此选项仅在 MySQL 使用 OpenSSL 构建时适用。

    有关sha256_passwordcaching_sha2_password插件的信息,请参见第 8.4.1.3 节,“SHA-256 可插拔认证”和第 8.4.1.2 节,“缓存 SHA-2 可插拔认证”。

  • --socket=*path*, -S *path*

    命令行格式 --socket={file_name|pipe_name}
    类型 字符串

    对于 Unix 套接字文件或 Windows 命名管道连接,用于连接到当前使用其中一个密钥迁移密钥库的运行服务器的套接字文件或命名管道。

    在 Windows 上,只有在服务器启动时启用了named_pipe系统变量以支持命名管道连接时,此选项才会生效。此外,进行连接的用户必须是由named_pipe_full_access_group系统变量指定的 Windows 组的成员。

  • --source-keyring=*name*

    命令行格式 --source-keyring=name
    类型 字符串

    用于密钥迁移的源密钥环组件。这是指定的组件库文件名,不带任何平台特定扩展名,如.so.dll。例如,要使用库文件为component_keyring_file.so的组件,请将选项指定为--source-keyring=component_keyring_file

    注意

    --component-dir--source-keyring--destination-keyring对于由mysql_migrate_keyring执行的所有密钥环迁移操作都是强制性的。此外,源组件和目标组件必须不同,并且两个组件必须正确配置,以便mysql_migrate_keyring可以加载和使用它们。

  • --source-keyring-configuration-dir=*dir_name*

    命令行格式 --source-keyring-configuration-dir=dir_name
    类型 目录名称

    此选项仅在源密钥环组件全局配置文件包含"read_local_config": true时才生效,表示组件配置包含在本地配置文件中。选项值指定包含该本地文件的目录。

  • --ssl*

    --ssl开头的选项指定是否使用加密连接到服务器,并指示 SSL 密钥和证书的位置。请参阅加密连接的命令选项。

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

    命令行格式 --ssl-fips-mode={OFF|ON|STRICT}
    已弃用 8.0.34
    类型 枚举
    默认值 OFF
    有效值 OFF``ON``STRICT

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

    允许的--ssl-fips-mode 值为:

    • OFF:禁用 FIPS 模式。

    • ON:启用 FIPS 模式。

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

    注意

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

    从 MySQL 8.0.34 开始,此选项已弃用。预计在将来的 MySQL 版本中将其移除。

  • --tls-ciphersuites=*ciphersuite_list*

    命令行格式 --tls-ciphersuites=ciphersuite_list
    类型 字符串

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

  • --tls-version=*protocol_list*

    命令行格式 --tls-version=protocol_list
    类型 字符串
    默认值 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*

    命令行格式 --user=user_name
    类型 字符串

    用于连接到当前使用其中一个密钥迁移密钥库的运行服务器的 MySQL 帐户的用户名。

  • --verbose, -v

    命令行格式 --verbose

    详细模式。输出关于程序操作的更多信息。

  • --version, -V

    命令行格式 --version

    显示版本信息并退出。

6.6.9 mysqlbinlog — 用于处理二进制日志文件的实用程序

原文:dev.mysql.com/doc/refman/8.0/en/mysqlbinlog.html

6.6.9.1 mysqlbinlog 十六进制转储格式

6.6.9.2 mysqlbinlog 行事件显示

6.6.9.3 使用 mysqlbinlog 备份二进制日志文件

6.6.9.4 指定 mysqlbinlog 服务器 ID

服务器的二进制日志由包含描述数据库内容修改的“事件”的文件组成。服务器以二进制格式编写这些文件。要以文本格式显示它们的内容,请使用mysqlbinlog实用程序。您还可以使用mysqlbinlog来显示由复制设置中的副本服务器写入的中继日志文件的内容,因为中继日志与二进制日志具有相同的格式。有关二进制日志和中继日志的进一步讨论,请参见第 7.4.4 节,“二进制日志”和第 19.2.4 节,“中继日志和复制元数据存储库”。

调用mysqlbinlog的方法如下:

mysqlbinlog [*options*] *log_file* ...

例如,要显示名为binlog.000003的二进制日志文件的内容,请使用以下命令:

mysqlbinlog binlog.000003

输出包括binlog.000003中包含的事件。对于基于语句的日志记录,事件信息包括 SQL 语句、执行该语句的服务器 ID、执行语句时的时间戳、花费的时间等。对于基于行的日志记录,事件指示的是行更改而不是 SQL 语句。有关日志记录模式的信息,请参见第 19.2.1 节,“复制格式”。

事件前面有提供额外信息的头部注释。例如:

# at 141
#100309  9:28:36 server id 123  end_log_pos 245
  Query thread_id=3350  exec_time=11  error_code=0

在第一行中,at后面的数字表示二进制日志文件中事件的文件偏移量或起始位置。

第二行以日期和时间开头,指示语句在事件发生的服务器上开始执行的时间。对于复制,此时间戳会传播到副本服务器。server id是事件发生的服务器的server_id值。end_log_pos指示下一个事件从哪里开始(即,当前事件的结束位置+1)。thread_id指示执行事件的线程。exec_time是在复制源服务器上执行事件所花费的时间。在副本上,它是副本上结束执行时间减去源上开始执行时间的差值。这个差值作为指示复制滞后源的指标。error_code指示执行事件的结果。零表示没有发生错误。

注意

在使用事件组时,事件的文件偏移量可能会被分组在一起,事件的注释可能会被分组在一起。不要将这些分组事件误认为是空白文件偏移量。

mysqlbinlog的输出可以重新执行(例如,通过将其用作mysql的输入)以重做日志中的语句。这对于意外服务器退出后的恢复操作非常有用。有关其他用法示例,请参见本节后面的讨论以及第 9.5 节,“时间点(增量)恢复”。要执行mysqlbinlog使用的内部使用BINLOG语句,用户需要BINLOG_ADMIN权限(或已弃用的SUPER权限),或者REPLICATION_APPLIER权限加上��行每个日志事件所需的适当权限。

你可以使用mysqlbinlog直接读取二进制日志文件并将其应用于本地 MySQL 服务器。您还可以通过使用--read-from-remote-server选项从远程服务器读取二进制日志。要读取远程二进制日志,可以提供连接参数选项以指示如何连接到服务器。这些选项是--host--password--port--protocol--socket--user

当二进制日志文件已加密时,可以从 MySQL 8.0.14 开始执行,mysqlbinlog 无法直接读取它们,但可以使用--read-from-remote-server选项从服务器读取它们。当服务器的binlog_encryption系统变量设置为ON时,二进制日志文件会被加密。SHOW BINARY LOGS 语句显示特定二进制日志文件是加密还是未加密。加密和未加密的二进制日志文件也可以通过加密日志文件头部的魔数来区分(加密日志文件为0xFD62696E,与未加密日志文件使用的不同为0xFE62696E)。请注意,从 MySQL 8.0.14 开始,mysqlbinlog 如果尝试直接读取加密的二进制日志文件,则会返回适当的错误,但旧版本的mysqlbinlog 完全不会将文件识别为二进制日志文件。有关二进制日志加密的更多信息,请参见 Section 19.3.2, “Encrypting Binary Log Files and Relay Log Files”。

当二进制日志事务负载已经被压缩时,可以从 MySQL 8.0.20 开始执行,mysqlbinlog 版本从该版本开始会自动解压缩和解码事务负载,并将其打印为未压缩事件。旧版本的mysqlbinlog 无法读取压缩的事务负载。当服务器的binlog_transaction_compression系统变量设置为ON时,事务负载会被压缩,然后作为单个事件(Transaction_payload_event)写入服务器的二进制日志文件。使用--verbose选项,mysqlbinlog 添加注释,说明使用的压缩算法,最初接收到的压缩负载大小,以及解压缩后的负载大小。

注意

mysqlbinlog 对于作为压缩事务负载的一部分的单个事件所述的结束位置(end_log_pos)与原始压缩负载的结束位置相同。因此,多个解压缩事件可能具有相同的结束位置。

mysqlbinlog自身的连接压缩如果事务负载已经被压缩,则效果较小,但仍会对未压缩的事务和标头进行操作。

有关二进制日志事务压缩的更多信息,请参见第 7.4.4.5 节,“二进制日志事务压缩”。

运行mysqlbinlog时,针对大型二进制日志,请注意文件系统是否有足够的空间来存储生成的文件。要配置mysqlbinlog用于临时文件的目录,请使用TMPDIR环境变量。

mysqlbinlog 在执行任何 SQL 语句之前将pseudo_replica_modepseudo_slave_mode的值设置为 true。此系统变量影响 XA 事务的处理,original_commit_timestamp复制延迟时间戳和original_server_version系统变量以及不受支持的 SQL 模式。

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

表 6.23 mysqlbinlog ���项

选项名称 描述 引入 废弃
--base64-output 使用 base-64 编码打印二进制日志条目
--bind-address 使用指定的网络接口连接到 MySQL 服务器
--binlog-row-event-max-size 二进制日志最大事件大小
--character-sets-dir 安装字符集的目录
--compress 压缩客户端和服务器之间发送的所有信息 8.0.17 8.0.18
--compression-algorithms 连接到服务器的允许的压缩算法 8.0.18
--connection-server-id 用于测试和调试。有关适用的默认值和其他详细信息,请参阅文本
--database 仅列出此数据库的条目
--debug 写入调试日志
--debug-check 在程序退出时打印调试信息
--debug-info 在程序退出时打印调试信息、内存和 CPU 统计信息
--default-auth 要使用的认证插件
--defaults-extra-file 除了通常的选项文件外,读取指定的命名选项文件
--defaults-file 仅读取指定的选项文件
--defaults-group-suffix 选项组后缀值
--disable-log-bin 禁用二进制日志记录
--exclude-gtids 不显示提供的 GTID 集合中的任何组
--force-if-open 即使打开或未正确关闭,也读取二进制日志文件
--force-read 如果 mysqlbinlog 读取一个无法识别的��进制日志事件,它会打印警告
--get-server-public-key 从服务器请求 RSA 公钥
--help 显示帮助消息并退出
--hexdump 在注释中显示日志的十六进制转储
--host MySQL 服务器所在的主机
--idempotent 使服务器在仅从此会话处理二进制日志更新时使用幂等模式
--include-gtids 仅显示提供的 GTID 集合中的组
--local-load 在指定目录为 LOAD DATA 准备本地临时文件
--login-path 从.mylogin.cnf 中读取登录路径选项
--no-defaults 不读取任何选项文件
--offset 跳过日志中的前 N 个条目
--password 连接到服务器时使用的密码
--plugin-dir 安装插件的目录
--port 连接的 TCP/IP 端口号
--print-defaults 打印默认选项
--print-table-metadata 打印表元数据
--protocol 使用的传输协议
--raw 将事件以原始(二进制)格式写入输出文件
--read-from-remote-master 从 MySQL 复制源服务器读取二进制日志,而不是读取本地日志文件 8.0.26
--read-from-remote-server 从 MySQL 服务器读取二进制日志,而不是本地日志文件
--read-from-remote-source 从 MySQL 复制源服务器读取二进制日志,而不是读取本地日志文件 8.0.26
--require-row-format 要求行级二进制日志格式 8.0.19
--result-file 将输出直接定向到指定文件
--rewrite-db 在以行格式编写的日志中回放时为数据库创建重写规则。可以多次使用
--server-id 仅提取由具有给定服务器 ID 的服务器创建的事件
--server-id-bits 告诉 mysqlbinlog 如何解释二进制日志中的服务器 ID,当日志由将其 server-id-bits 设置为小于最大值的 mysqld 编写时;仅由 MySQL Cluster 版本的 mysqlbinlog 支持
--server-public-key-path 包含 RSA 公钥的文件路径名
--set-charset 在输出中添加一个 SET NAMES charset_name 语句
--shared-memory-base-name 共享内存连接的共享内存名称(仅限 Windows)
--short-form 仅显示日志中包含的语句
--skip-gtids 在输出转储文件中不包括二进制日志文件中的 GTID
--socket 要使用的 Unix 套接字文件或 Windows 命名管道
--ssl-ca 包含受信任 SSL 证书颁发机构列表的文件
--ssl-capath 包含受信任 SSL 证书颁发机构证书文件的目录
--ssl-cert 包含 X.509 证书的文件
--ssl-cipher 连接加密的允许密码
--ssl-crl 包含证书吊销列表的文件
--ssl-crlpath 包含证书吊销列表文件的目录
--ssl-fips-mode 是否在客户端启用 FIPS 模式 8.0.34
--ssl-key 包含 X.509 密钥的文件
--ssl-mode 与服务器连接的期望安全状态
--ssl-session-data 包含 SSL 会话数据的文件 8.0.29
--ssl-session-data-continue-on-failed-reuse 是否在会话重用失败时建立连接 8.0.29
--start-datetime 从时间戳等于或晚于日期时间参数的第一个事件读取二进制日志
--start-position 从位置等于或大于参数的第一个事件解码二进制日志
--stop-datetime 在时间戳等于或大于日期时间参数的第一个事件处停止读取二进制日志
--stop-never 在读取最后一个二进制日志文件后保持与服务器的连接
--stop-never-slave-server-id 连接到服务器时报告的从服务器 ID
--stop-position 在位置等于或大于参数的第一个事件处停止解码二进制日志
--tls-ciphersuites 用于加密连接的允许的 TLSv1.3 密码套件 8.0.16
--tls-version 用于加密连接的允许的 TLS 协议
--to-last-log 不要在从 MySQL 服务器请求的二进制日志末尾停止,而是继续打印到最后一个二进制日志的末尾
--user 连接到服务器时要使用的 MySQL 用户名
--verbose 将行事件重构为 SQL 语句
--verify-binlog-checksum 验证二进制日志中的校验和
--version 显示版本信息并退出
--zstd-compression-level 用于使用 zstd 压缩连接的服务器的压缩级别 8.0.18
选项名称 描述 引入 废弃
  • --help-?

    命令行格式 --help

    显示帮助消息并退出。

  • --base64-output=*value*

    命令行格式 --base64-output=value
    类型 字符串
    默认值 AUTO
    有效值 AUTO``NEVER``DECODE-ROWS

    此选项确定何时应使用BINLOG语句将事件显示为经过 base-64 编码的字符串。该选项具有以下可允许的值(不区分大小写):

    • AUTO("自动")或UNSPEC("未指定")在必要时自动显示BINLOG语句(即,用于格式描述事件和行事件)。如果没有给出--base64-output选项,则效果与--base64-output=AUTO相同。

      注意

      如果您打算使用mysqlbinlog的输出重新执行二进制日志文件内容,则自动显示BINLOG是唯一安全的行为。其他选项值仅用于调试或测试目的,因为它们可能生成不包含所有事件的可执行形式的输出。

    • NEVER导致不显示BINLOG语句。如果发现必须使用BINLOG显示的行事件,则mysqlbinlog将退出并显示错误。

    • DECODE-ROWS 指定给 mysqlbinlog,你打算将行事件解码并显示为注释的 SQL 语句,同时还要指定 --verbose 选项。与 NEVER 类似,DECODE-ROWS 抑制显示 BINLOG 语句,但与 NEVER 不同的是,如果找到行事件,它不会因错误而退出。

    有关 --base64-output--verbose 对行事件输出的影响的示例,请参见第 6.6.9.2 节,“mysqlbinlog 行事件显示”。

  • --bind-address=*ip_address*

    命令行格式 --bind-address=ip_address

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

  • --binlog-row-event-max-size=*N*

    命令行格式 --binlog-row-event-max-size=#
    类型 数字
    默认值 4294967040
    最小值 256
    最大值 18446744073709547520

    指定基于行的二进制日志事件的最大大小,以字节为单位。如果可能,将行分组为小于此大小的事件。该值应为 256 的倍数。默认值为 4GB。

  • --character-sets-dir=*dir_name*

    命令行格式 --character-sets-dir=dir_name
    类型 目录名称

    安装字符集的目录。参见第 12.15 节,“字符集配置”。

  • --compress

    命令行格式 --compress[={OFF|ON}]
    引入版本 8.0.17
    已弃用 8.0.18
    类型 布尔值
    默认值 OFF

    尽可能压缩客户端和服务器之间发送的所有信息。参见第 6.2.8 节,“连接压缩控制”。

    此选项在 MySQL 8.0.17 版本中添加。截至 MySQL 8.0.18 版本,该选项已被弃用。预计在未来的 MySQL 版本中将会移除。参见配置传统连接压缩。

  • --compression-algorithms=*value*

    命令行格式 --compression-algorithms=value
    引入版本 8.0.18
    类型 集合
    默认值 uncompressed
    有效值 zlib``zstd``uncompressed

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

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

    此选项在 MySQL 8.0.18 中添加。

  • --connection-server-id=*server_id*

    命令行格式 --connection-server-id=#]
    类型 整数
    默认值 0 (1)
    最小值 0 (1)
    最大值 4294967295

    --connection-server-id指定mysqlbinlog连接到服务器时报告的服务器 ID。它可用于避免与复制服务器或另一个mysqlbinlog进程的 ID 冲突。

    如果指定了--read-from-remote-server选项,mysqlbinlog报告服务器 ID 为 0,告诉服务器在发送最后一个日志文件后断开连接(非阻塞行为)。如果还指定了--stop-never选项以保持与服务器的连接,mysqlbinlog默认报告服务器 ID 为 1 而不是 0,并且如果需要,可以使用--connection-server-id替换该服务器 ID。参见第 6.6.9.4 节,“指定 mysqlbinlog 服务器 ID”。

  • --database=*db_name*, -d *db_name*

    命令行格式 --database=db_name
    类型 字符串

    此选项导致mysqlbinlog输出二进制日志(仅本地日志)中在db_name被选择为默认数据库时发生的条目,USE语句。

    mysqlbinlog--database选项类似于mysqld--binlog-do-db选项,但只能用于指定一个数据库。如果--database被多次给出,只有最后一个实例会被使用。

    此选项的效果取决于是否使用基于语句或基于行的日志格式,就像--binlog-do-db的效果取决于是否使用基于语句或基于行的日志一样。

    基于语句的日志记录。 --database选项的工作方式如下:

    • db_name是默认数据库时,无论是修改db_name中的表还是其他数据库中的表,语句都会输出。

    • 除非db_name被选为默认数据库,否则不会输出语句,即使它们修改了db_name中的表。

    • 对于CREATE DATABASEALTER DATABASEDROP DATABASE有一个例外。在确定是否输出语句时,被创建、修改或删除的数据库被视为默认数据库。

    假设二进制日志是通过使用基于语句记录执行这些语句创建的:

    INSERT INTO test.t1 (i) VALUES(100);
    INSERT INTO db2.t2 (j)  VALUES(200);
    USE test;
    INSERT INTO test.t1 (i) VALUES(101);
    INSERT INTO t1 (i)      VALUES(102);
    INSERT INTO db2.t2 (j)  VALUES(201);
    USE db2;
    INSERT INTO test.t1 (i) VALUES(103);
    INSERT INTO db2.t2 (j)  VALUES(202);
    INSERT INTO t2 (j)      VALUES(203);
    

    mysqlbinlog --database=test 不会输出前两个INSERT语句,因为没有默认数据库。它会输出USE test后面的三个INSERT语句,但不会输出USE db2后面的三个INSERT语句。

    mysqlbinlog --database=db2 不会输出前两个INSERT语句,因为没有默认数据库。它不会输出USE test后面的三个INSERT语句,但会输出USE db2后面的三个INSERT语句。

    基于行的日志记录。 mysqlbinlog 仅输出更改属于db_name的表的条目。默认数据库对此没有影响。假设刚才描述的二进制日志是使用基于行的日志记录而不是基于语句的日志记录创建的。mysqlbinlog --database=test 仅输出修改测试数据库中的t1的条目,无论是否发出了USE或默认数据库是什么。

    如果服务器正在以MIXED设置binlog_format运行,并且您希望能够使用mysqlbinlog--database选项,则必须确保被修改的表位于由USE选择的数据库中。(特别是,不应使用跨数据库更新。)

    --rewrite-db选项一起使用时,--rewrite-db选项首先应用;然后应用--database选项,使用重写后的数据库名称。在提供选项的顺序方面没有任何区别。

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

    命令行格式 --debug[=debug_options]
    类型 字符串
    默认值 d:t:o,/tmp/mysqlbinlog.trace

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

    此选项仅在使用WITH_DEBUG构建 MySQL 时可用。由 Oracle 提供的 MySQL 发布二进制文件使用此选项构建。

  • --debug-check

    命令行格式 --debug-check
    类型 布尔值
    默认值 FALSE

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

    此选项仅在使用WITH_DEBUG构建 MySQL 时可用。由 Oracle 提供的 MySQL 发布二进制文件使用此选项构建。

  • --debug-info

    命令行格式 --debug-info
    类型 布尔值
    默认值 FALSE

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

    此选项仅在使用WITH_DEBUG构建 MySQL 时可用。由 Oracle 提供的 MySQL 发布二进制文件使用此选项构建。

  • --default-auth=*plugin*

    命令行格式 --default-auth=plugin
    类型 字符串

    关于要使用哪个客户端端身份验证插件的提示。请参见第 8.2.17 节,“可插拔身份验证”。

  • --defaults-extra-file=*file_name*

    命令行格式 --defaults-extra-file=file_name
    类型 文件名

    在全局选项文件之后但在用户选项文件之前读取此选项文件。如果文件不存在或无法访问,将会出现错误。如果file_name不是绝对路径名,则将其解释为相对于当前目录。

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

  • --defaults-file=*file_name*

    命令行格式 --defaults-file=file_name
    类型 文件名

    仅使用给定的选项文件。如果文件不存在或无法访问,将会出现错误。如果file_name不是绝对路径名,则将其解释为相对于当前目录。

    例外:即使使用--defaults-file,客户端程序也会读取.mylogin.cnf

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

  • --defaults-group-suffix=*str*

    命令行格式 --defaults-group-suffix=str
    类型 字符串

    不仅读取通常的选项组,还读取具有通常名称和后缀str的组。例如,mysqlbinlog通常会读取[client][mysqlbinlog]组。如果给定此选项作为--defaults-group-suffix=_othermysqlbinlog还会读取[client_other][mysqlbinlog_other]组。

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

  • --disable-log-bin, -D

    命令行格式 --disable-log-bin

    禁用二进制日志记录。如果您使用--to-last-log选项并将输出发送到同一 MySQL 服务器,这对于避免无限循环很有用。此选项在意外退出后进行恢复时也很有用,以避免重复记录的语句。

    此选项会导致mysqlbinlog在输出中包含一个SET sql_log_bin = 0语句,以禁用剩余输出的二进制日志记录。操纵sql_log_bin系统变量的会话值是一项受限操作,因此此选项要求您具有足够权限设置受限会话变量。请参阅 Section 7.1.9.1, “System Variable Privileges”。

  • --exclude-gtids=*gtid_set*

    命令行格式 --exclude-gtids=gtid_set
    类型 字符串
    默认值

    不显示gtid_set中列出的任何组。

  • --force-if-open, -F

    命令行格式 --force-if-open

    读取二进制日志文件,即使它们是打开的或未正确关闭(IN_USE标志已设置);如果文件以截断事件结束,则不会失败。

    IN_USE标志仅针对当前由服务器写入的二进制日志设置;如果服务器崩溃,该标志将保持设置,直到服务器再次启动并恢复二进制日志。没有此选项,mysqlbinlog拒绝处理具有此标志设置的文件。由于服务器可能正在写入文件,因此截断最后一个事件被视为正常。

  • --force-read, -f

    命令行格式 --force-read

    使用此选项,如果mysqlbinlog读取一个无法识别的二进制日志事件,它会打印警告,忽略该事件并继续。如果没有此选项,mysqlbinlog会在读取此类事件时停止。

  • --get-server-public-key

    命令行格式 --get-server-public-key
    类型 布尔值

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

    如果提供了--server-public-key-path=*file_name*并指定了有效的公钥文件,则它优先于--get-server-public-key

    有关caching_sha2_password插件的信息,请参阅第 8.4.1.2 节,“缓存 SHA-2 可插拔认证”。

  • --hexdump, -H

    命令行格式 --hexdump

    在注释中显示日志的十六进制转储,如第 6.6.9.1 节,“mysqlbinlog 十六进制转储格式”所述。十六进制输出对于复制调试可能很有帮助。

  • --host=*host_name*, -h *host_name*

    命令行格式 --host=host_name
    类型 字符串
    默认值 localhost

    从给定主机的 MySQL 服务器获取二进制日志。

  • --幂等

    命令行格式 --幂等
    类型 布尔值
    默认值 true

    告诉 MySQL 服务器在处理更新时使用幂等模式;这会导致服务器在处理更新时遇到当前会话中的任何重复键或找不到键错误时进行抑制。每当需要或必须重放一个或多个二进制日志到可能不包含日志所指数据的 MySQL 服务器时,此选项可能会很有用。

    此选项的影响范围仅包括当前的mysqlbinlog客户端和会话。

  • --include-gtids=*gtid_set*

    命令行格式 --include-gtids=gtid_set
    类型 字符串
    默认值

    仅显示gtid_set中列出的组。

  • --local-load=*dir_name*, -l *dir_name*

    命令行格式 --local-load=dir_name
    类型 目录名称

    对应于LOAD DATA语句的数据加载操作,mysqlbinlog从二进制日志事件中提取文件,将它们写入本地文件系统作为临时文件,并写入LOAD DATA LOCAL语句以导入文件。 默认情况下,mysqlbinlog将这些临时文件写入操作系统特定的目录。 可以使用--local-load选项来明确指定mysqlbinlog应准备本地临时文件的目录。

    因为其他进程可以将文件写入默认的操作系统特定目录,建议使用--local-load选项来指定mysqlbinlog的不同目录用于数据文件,并在处理来自mysqlbinlog输出时通过指定--load-data-local-dir选项来指定相同目录给mysql。 例如:

    mysqlbinlog --local-load=/my/local/data ...
        | mysql --load-data-local-dir=/my/local/data ...
    

    重要提示

    这些临时文件不会被mysqlbinlog或任何其他 MySQL 程序自动删除。

  • --login-path=*name*

    命令行格式 --login-path=name
    类型 字符串

    .mylogin.cnf登录路径文件中读取指定登录路径中的选项。 “登录路径”是一个包含指定要连接的 MySQL 服务器和要进行身份验证的帐户的选项的选项组。 要创建或修改登录路径文件,请使用mysql_config_editor实用程序。 请参阅第 6.6.7 节,“mysql_config_editor — MySQL 配置实用程序”。

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

  • --no-defaults

    命令行格式 --no-defaults

    不要读取任何选项文件。如果由于从选项文件中读取未知选项而导致程序启动失败,可以使用--no-defaults来防止读取它们。

    例外情况是无论何种情况下都会读取.mylogin.cnf文件,如果存在的话。这允许以比在命令行上更安全的方式指定密码,即使使用了--no-defaults。要创建.mylogin.cnf,请使用mysql_config_editor实用程序。参见第 6.6.7 节,“mysql_config_editor — MySQL 配置实用程序”。

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

  • --offset=*N*, -o *N*

    命令行格式 --offset=#
    类型 数字

    跳过日志中的第N条目。

  • --open-files-limit=*N*

    命令行格式 --open-files-limit=#
    类型 数字
    默认值 8
    最小值 1
    最大值 [依赖于平台]

    指定要保留的打开文件描述符的数量。

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

    命令行格式 --password[=password]
    类型 字符串

    用于连接到服务器的 MySQL 帐户的密码。密码值是可选的。如果未提供,mysqlbinlog会提示输入密码。如果提供了密码,则--password=-p后面不能有空格。如果未指定密码选项,则默认不发送密码。

    在命令行上指定密码应被视为不安全。为了避免在命令行上提供密码,请使用一个选项文件。参见第 8.1.2.1 节,“密码安全的最终用户指南”。

    要明确指定没有密码,并且mysqlbinlog不应提示输入密码,请使用--skip-password选项。

  • --plugin-dir=*dir_name*

    命令行格式 --plugin-dir=dir_name
    类型 目录名称

    查找插件的目录。如果使用--default-auth选项指定身份验证插件但mysqlbinlog找不到它,请指定此选项。请参阅第 8.2.17 节,“可插拔认证”。

  • --port=*port_num*, -P *port_num*

    命令行格式 --port=port_num
    类型 数值
    默认值 3306

    用于连接到远程服务器的 TCP/IP 端口号。

  • --print-defaults

    命令行格式 --print-defaults

    打印程序名称以及从选项文件获取的所有选项。

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

  • --print-table-metadata

    命令行格式 --print-table-metadata

    从二进制日志中打印与表相关的元数据。使用binlog-row-metadata配置二进制日志中记录的表相关元数据的数量。

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

    命令行格式 --protocol=type
    类型 字符串
    默认值 [查看文本]
    有效值 TCP``SOCKET``PIPE``MEMORY

    用于连接到服务器的传输协议。当其他连接参数通常导致使用您不想要的协议时,这很有用。有关允许值的详细信息,请参见第 6.2.7 节,“连接传输协议”。

  • --raw

    命令行格式 --raw
    类型 布尔值
    默认值 FALSE

    默认情况下,mysqlbinlog 读取二进制日志文件并以文本格式写入事件。--raw 选项告诉 mysqlbinlog 以原始二进制格式写入它们。其使用需要同时使用 --read-from-remote-server,因为文件是从服务器请求的。mysqlbinlog 为从服务器读取的每个文件写入一个输出文件。--raw 选项可用于备份服务器的二进制日志。使用 --stop-never 选项,备份是“实时”的,因为 mysqlbinlog 保持与服务器的连接。默认情况下,输出文件写入当前目录,与原始日志文件具有相同的名称。可以使用 --result-file 选项修改输出文件名。有关更多信息,请参见 Section 6.6.9.3, “Using mysqlbinlog to Back Up Binary Log Files”。

  • --read-from-remote-source=*type*

    命令行格式 --read-from-remote-source=type
    引入版本 8.0.26

    从 MySQL 8.0.26 开始,使用 --read-from-remote-source,在 MySQL 8.0.26 之前,使用 --read-from-remote-master。这两个选项具有相同的效果。这些选项通过将选项值设置为 BINLOG-DUMP-NON-GTIDSBINLOG-DUMP-GTIDS,使用 COM_BINLOG_DUMPCOM_BINLOG_DUMP_GTID 命令从 MySQL 服务器读取二进制日志。如果 --read-from-remote-source=BINLOG-DUMP-GTIDS--read-from-remote-master=BINLOG-DUMP-GTIDS--exclude-gtids 结合使用,可以在源端过滤事务,避免不必要的网络流量。

    连接参数选项与这些选项或--read-from-remote-server选项一起使用。这些选项是--host--password--port--protocol--socket--user。如果没有指定任何远程选项,则连接参数选项将被忽略。

    使用这些选项需要REPLICATION SLAVE权限。

  • --read-from-remote-master=*type*

    命令行格式 --read-from-remote-master=type
    已弃用 8.0.26

    在 MySQL 8.0.26 之前,请使用此选项,而不是--read-from-remote-source。这两个选项具有相同的效果。

  • --read-from-remote-server=*file_name*, -R

    命令行格式 --read-from-remote-server=file_name

    从 MySQL 服务器读取二进制日志,而不是读取本地日志文件。此选项要求远程服务器正在运行。它仅适用于远程服务器上的二进制日志文件,而不适用于中继日志文件。它接受二进制日志文件名(包括数字后缀),不包括文件路径。

    连接参数选项与此选项或--read-from-remote-master选项一起使用。这些选项是--host--password--port--protocol--socket--user。如果没有指定任何远程选项,则连接参数选项将被忽略。

    使用此选项需要REPLICATION SLAVE权限。

    此选项类似于--read-from-remote-master=BINLOG-DUMP-NON-GTIDS

  • --result-file=*name*, -r *name*

    命令行格式 --result-file=name

    没有使用--raw选项,此选项表示mysqlbinlog写入文本输出的文件。使用--rawmysqlbinlog为从服务器传输的每个日志文件写入一个二进制输出文件,默认情况下将它们写入当前目录,使用与原始日志文件相同的名称。在这种情况下,--result-file选项值被视为修改输出文件名的前缀。

  • --require-row-format

    命令行格式 --require-row-format
    引入版本 8.0.19
    类型 布尔值
    默认值 false

    要求事件使用基于行的二进制日志格式。此选项强制mysqlbinlog输出使用基于行的复制事件。使用此选项生成的事件流将被使用REQUIRE_ROW_FORMAT选项的CHANGE REPLICATION SOURCE TO语句(从 MySQL 8.0.23 开始)或CHANGE MASTER TO语句(在 MySQL 8.0.23 之前)保护的复制通道接受。必须在写入二进制日志的服务器上设置binlog_format=ROW。当指定此选项时,mysqlbinlog在遇到任何不符合REQUIRE_ROW_FORMAT限制的事件时会停止,并打印错误消息,包括LOAD DATA INFILE指令,创建或删除临时表,INTVARRANDUSER_VAR事件,以及在 DML 事务中的非基于行的事件。mysqlbinlog还会在输出开头打印一个SET @@session.require_row_format语句,以在执行输出时应用限制,并不打印SET @@session.pseudo_thread_id语句。

    此选项在 MySQL 8.0.19 中添加。

  • --rewrite-db='*from_name*->*to_name*'

    命令行格式 --rewrite-db='oldname->newname'
    类型 字符串
    默认值 [none]

    当从基于行或基于语句的日志中读取时,请将所有出现的from_name重写为to_name。对于基于行的日志,重写是在行上进行的,对于基于语句的日志,重写是在USE子句上进行的。

    警告

    使用此选项时,带有数据库名称限定的表名的语句不会被重写以使用新名称。

    作为此选项值的重写规则是一个字符串,其形式为'*from_name*->*to_name*',如前所示,因此必须用引号括起来。

    要使用多个重写规则,请多次指定该选项,如下所示:

    mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \
        binlog.00001 > /tmp/statements.sql
    

    --database 选项一起使用时,--rewrite-db 选项首先应用;然后使用重写后的数据库名称应用 --database 选项。在这方面,提供选项的顺序不会有任何影响。

    这意味着,例如,如果使用 --rewrite-db='mydb->yourdb' --database=yourdb 启动 mysqlbinlog,那么所有对数据库 mydbyourdb 中任何表的更新都包含在输出中。另一方面,如果使用 --rewrite-db='mydb->yourdb' --database=mydb 启动,则 mysqlbinlog 根本不输出任何语句:因为所有对 mydb 的更新首先被重写为对 yourdb 的更新,然后应用 --database 选项,因此没有与 --database=mydb 匹配的更新。

  • --server-id=*id*

    命令行格式 --server-id=id
    类型 数字

    仅显示由具有给定服务器 ID 的服务器创建的事件。

  • --server-id-bits=*N*

    命令行格式 --server-id-bits=#
    类型 数字
    默认值 32
    最小值 7
    最大值 32

    仅使用server_id的前 N 位来标识服务器。如果二进制日志是由将 server-id-bits 设置为小于 32 并且用户数据存储在最高位的 mysqld 写入的,则运行 mysqlbinlog 并将 --server-id-bits 设置为 32 可以查看此数据。

    此选项仅由 NDB Cluster 分发的 mysqlbinlog 版本或带有 NDB Cluster 支持构建的版本支持。

  • --server-public-key-path=*file_name*

    命令行格式 --server-public-key-path=file_name
    类型 文件名

    以 PEM 格式包含服务器所需的公钥的客户端端副本的文件路径名,用于基于 RSA 密钥对的密码交换。此选项适用于使用sha256_passwordcaching_sha2_password认证插件进行身份验证的客户端。对于不使用这些插件进行身份验证的帐户,此选项将被忽略。如果不使用基于 RSA 的密码交换,例如客户端使用安全连接连接到服务器时,此选项也将被忽略。

    如果提供了--server-public-key-path=*file_name*并指定了有效的公钥文件,则它优先于--get-server-public-key

    对于sha256_password,此选项仅在 MySQL 使用 OpenSSL 构建时适用。

    有关sha256_passwordcaching_sha2_password插件的信息,请参见 Section 8.4.1.3, “SHA-256 Pluggable Authentication”和 Section 8.4.1.2, “Caching SHA-2 Pluggable Authentication”。

  • --set-charset=*charset_name*

    命令行格式 --set-charset=charset_name
    类型 字符串

    向输出添加一个SET NAMES *charset_name*语句,指定用于处理日志文件的字符集。

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

    命令行格式 --shared-memory-base-name=name
    平台特定 Windows

    在 Windows 上,用于使用共享内存连接到本地服务器的共享内存名称。默认值为MYSQL。共享内存名称区分大小写。

    仅当服务器启用了shared_memory系统变量以支持共享内存连接时,此选项才适用。

  • --short-form, -s

    命令行格式 --short-form

    仅显示日志中包含的语句,不包含任何额外信息或基于行的事件。仅用于测试,不应在生产系统中使用。已弃用,预计将在将来的版本中删除。

  • --skip-gtids[=(true|false)]

    命令行格式 --skip-gtids[=true|false]
    类型 布尔值
    默认值 false

    不要在输出转储文件中包含二进制日志文件中的 GTIDs。例如:

    mysqlbinlog --skip-gtids binlog.000001 >  /tmp/dump.sql
    mysql -u root -p -e "source /tmp/dump.sql"
    

    通常不应在生产环境或恢复中使用此选项,除非在特定且罕见的情况下不需要 GTID。例如,管理员可能希望从一个部署复制选定的事务(如表定义)到另一个不相关的部署,该部署不会与原始部署进行复制。在这种情况下,--skip-gtids 可用于使管理员能够将事务应用为新事务,并确保部署保持不相关。但是,只有在 GTID 的包含对您的用例造成已知问题时才应使用此选项。

  • --socket=*路径*, -S *路径*

    命令行格式 --socket={file_name|pipe_name}
    类型 字符串

    对于连接到 localhost 的连接,使用的 Unix 套接字文件,或者在 Windows 上使用的命名管道的名称。

    在 Windows 上,此选项仅在服务器启动时启用了支持命名管道连接的 named_pipe 系统变量时才适用。此外,进行连接的用户必须是由 named_pipe_full_access_group 系统变量指定的 Windows 组的成员。

  • --ssl*

    --ssl开头的选项指定是否使用加密连接到服务器,并指示 SSL 密钥和证书的位置。请参阅加密连接的命令选项。

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

    命令行格式 --ssl-fips-mode={OFF|ON|STRICT}
    弃用 8.0.34
    类型 枚举
    默认值 OFF
    有效值 OFF``ON``STRICT

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

    允许使用以下 --ssl-fips-mode 值:

    • OFF: 禁用 FIPS 模式。

    • ON: 启用 FIPS 模式。

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

    注意

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

    从 MySQL 8.0.34 开始,此选项已弃用。预计在将来的 MySQL 版本中将其移除。

  • --start-datetime=*datetime*

    命令行格式 --start-datetime=datetime
    类型 日期时间

    从第一个具有时间戳等于或晚于 datetime 参数的事件开始读取二进制日志。datetime 值相对于运行 mysqlbinlog 的机器上的本地时区。该值应为 DATETIMETIMESTAMP 数据类型接受的格式。例如:

    mysqlbinlog --start-datetime="2005-12-25 11:25:56" binlog.000003
    

    此选项对于点对点恢复很有用。请参阅 第 9.5 节,“时点(增量)恢复” Recovery")。

  • --start-position=*N*, -j *N*

    命令行格式 --start-position=#
    类型 数值

    从日志位置 N 开始解码二进制日志,将输出任何从位置 N 或之后开始的事件。该位置是日志文件中的字节位置,而不是事件计数器;它需要指向一个事件的起始位置才能生成有用的输出。此选项适用于命令行中命名的第一个日志文件。

    在 MySQL 8.0.33 之前,此选项支持的最大值为 4294967295(2³²-1)。在 MySQL 8.0.33 及更高版本中,除非也使用 --read-from-remote-server--read-from-remote-source,否则最大值为 18446744073709551616(2⁶⁴-1)。

    此选项对于点对点恢复很有用。请参阅 第 9.5 节,“时点(增量)恢复” Recovery")。

  • --stop-datetime=*datetime*

    命令行格式 --stop-datetime=datetime

    在第一个具有时间戳等于或晚于 datetime 参数的事件处停止读取二进制日志。有关 datetime 值的信息,请参阅 --start-datetime 选项的描述。

    此选项对于点对点恢复很有用。请参阅 第 9.5 节,“时点(增量)恢复” Recovery")。

  • --stop-never

    命令行格式 --stop-never
    类型 布尔值
    默认值 FALSE

    此选项与--read-from-remote-server一起使用。它告诉mysqlbinlog保持与服务器的连接。否则,当最后一个日志文件从服务器传输时,mysqlbinlog将退出。--stop-never意味着--to-last-log,因此只需要在命令行上命名要传输的第一个日志文件。

    --stop-never通常与--raw一起用于进行实时二进制日志备份,但也可以在不使用--raw的情况下使用,以保持服务器生成的日志事件的连续文本显示。

    使用--stop-never,默认情况下,mysqlbinlog在连接到服务器时报告服务器 ID 为 1。使用--connection-server-id来明确指定要报告的替代 ID。这可用于避免与复制服务器或另一个mysqlbinlog进程的 ID 冲突。参见第 6.6.9.4 节,“指定 mysqlbinlog 服务器 ID”。

  • --stop-never-slave-server-id=*id*

    命令行格式 --stop-never-slave-server-id=#
    类型 数字
    默认值 65535
    最小值 1

    此选项已被弃用;预计将在将来的版本中删除。请改用--connection-server-id选项来指定mysqlbinlog报告的服务器 ID。

  • --stop-position=*N*

    命令行格式 --stop-position=#
    类型 数字

    在日志位置 N 处停止解码二进制日志,从输出中排除从位置 N 开始的任何事件。该位置是日志文件中的一个字节点,而不是事件计数器;它需要指向最后要包含在输出中的事件的起始位置之后的位置。从位置 N 开始并在位置 N 或之后结束的事件是要处理的最后一个事件。此���项适用于命令行上命名的最后一个日志文件。

    此选项对于点对点恢复很有用。请参见第 9.5 节,“时点恢复(增量恢复)”。

  • --tls-ciphersuites=*ciphersuite_list*

    命令行格式 --tls-ciphersuites=ciphersuite_list
    引入版本 8.0.16
    类型 字符串

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

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

  • --tls-version=*protocol_list*

    命令行格式 --tls-version=protocol_list
    类型 字符串
    默认值(≥ 8.0.16) TLSv1,TLSv1.1,TLSv1.2,TLSv1.3(OpenSSL 1.1.1 或更高版本)TLSv1,TLSv1.1,TLSv1.2(否则)
    默认值(≤ 8.0.15) TLSv1,TLSv1.1,TLSv1.2

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

  • --to-last-log, -t

    命令行格式 --to-last-log

    不要在从 MySQL 服务器请求的二进制日志的末尾停止,而是继续打印直到最后一个二进制日志的末尾。如果将输出发送到同一台 MySQL 服务器,则可能导致无限循环。此选项需要--read-from-remote-server

  • --user=*user_name*, -u *user_name*

    命令行格式 --user=user_name,
    类型 字符串

    连接到远程服务器时要使用的 MySQL 帐户的用户名。

    如果您在 MySQL 8.0.31 或更高版本中使用 Rewriter 插件,则应授予该用户SKIP_QUERY_REWRITE 权限。

  • --verbose, -v

    命令行格式 --verbose

    重建行事件并将其显示为带有表分区信息的注释 SQL 语句。如果此选项被传入两次(通过"-vv"或"--verbose --verbose"),输出将包括注释以指示列数据类型和一些元数据,以及信息日志事件,如binlog_rows_query_log_events系统变量设置为TRUE时的行查询日志事件。

    有关--base64-output--verbose对行事件输出的影响的示例,请参见第 6.6.9.2 节,“mysqlbinlog 行事件显示”。

  • --verify-binlog-checksum, -c

    命令行格式 --verify-binlog-checksum

    验证二进制日��文件中的校验和。

  • --version, -V

    命令行格式 --version

    显示版本信息并退出。

    与 MySQL 先前版本不同,使用此选项时mysqlbinlog显示的版本号与 MySQL 服务器版本相同。

  • --zstd-compression-level=*level*

    命令行格式 --zstd-compression-level=#
    引入版本 8.0.18
    类型 整数

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

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

    此选项在 MySQL 8.0.18 中添加。

你可以将mysqlbinlog的输出导入到mysql客户端中,以执行二进制日志中包含的事件。这种技术用于在出现意外退出时从旧备份中恢复(参见第 9.5 节,“时间点(增量)恢复”)。例如:

mysqlbinlog binlog.000001 | mysql -u root -p

或者:

mysqlbinlog binlog.[0-9]* | mysql -u root -p

如果mysqlbinlog生成的语句可能包含BLOB值,当mysql处理它们时可能会出现问题。在这种情况下,使用--binary-mode选项调用mysql

如果需要先修改语句日志(例如删除某些不想执行的语句),还可以将mysqlbinlog的输出重定向到文本文件。编辑文件后,通过将其作为输入传递给mysql程序来执行其中包含的语句:

mysqlbinlog binlog.000001 > tmpfile
... *edit tmpfile* ...
mysql -u root -p < tmpfile

当使用--start-position选项调用mysqlbinlog时,它仅显示二进制日志中偏移大于或等于给定位置的事件(给定位置必须与一个事件的开始匹配)。它还具有在看到具有给定日期和时间的事件时停止和开始的选项。这使您可以使用--stop-datetime选项执行时间点恢复(例如,能够说“将我的数据库回滚到今天上午 10:30 的状态”)。

处理多个文件。 如果您有多个二进制日志要在 MySQL 服务器上执行,安全的方法是使用单个连接处理它们。以下是一个示例,演示了可能是不安全的情况:

mysqlbinlog binlog.000001 | mysql -u root -p # DANGER!!
mysqlbinlog binlog.000002 | mysql -u root -p # DANGER!!

使用多个连接到服务器处理二进制日志会导致问题,如果第一个日志文件包含一个CREATE TEMPORARY TABLE语句,而第二个日志包含使用临时表的语句。当第一个mysql进程终止时,服务器会删除临时表。当第二个mysql进程尝试使用该表时,服务器会报告“未知表”。

为避免这样的问题,使用一个单一的 mysql 进程执行您想要处理的所有二进制日志的内容。以下是一种方法:

mysqlbinlog binlog.000001 binlog.000002 | mysql -u root -p

另一种方法是将所有日志写入单个文件,然后处理该文件:

mysqlbinlog binlog.000001 >  /tmp/statements.sql
mysqlbinlog binlog.000002 >> /tmp/statements.sql
mysql -u root -p -e "source /tmp/statements.sql"

从 MySQL 8.0.12 开始,您还可以使用 shell 管道将多个二进制日志文件作为流输入提供给 mysqlbinlog。 可以解压缩压缩的二进制日志文件存档,并直接提供给 mysqlbinlog。 在这个例子中,binlog-files_1.gz 包含多个要处理的二进制日志文件。 管道提取 binlog-files_1.gz 的内容,将二进制日志文件传输到 mysqlbinlog 作为标准输入,并将 mysqlbinlog 的输出传输到 mysql 客户端以执行:

gzip -cd binlog-files_1.gz | ./mysqlbinlog - | ./mysql -uroot  -p

您可以指定多个存档文件,例如:

gzip -cd binlog-files_1.gz binlog-files_2.gz | ./mysqlbinlog - | ./mysql -uroot  -p

对于流输入,请勿使用 --stop-position,因为 mysqlbinlog 无法识别要应用此选项的最后一个日志文件。

LOAD DATA 操作。 mysqlbinlog 可以生成一个输出,可以重现一个不带原始数据文件的 LOAD DATA 操作。 mysqlbinlog 将数据复制到一个临时文件中,并编写一个引用该文件的 LOAD DATA LOCAL 语句。 这些文件写入的默认目录位置是特定于系统的。 要明确指定目录,请使用 --local-load 选项。

因为 mysqlbinlogLOAD DATA 语句转换为 LOAD DATA LOCAL 语句(即,它添加了 LOCAL),因此用于处理这些语句的客户端和服务器都必须配置为启用 LOCAL 能力。 请参阅 第 8.1.6 节,“LOAD DATA LOCAL 的安全注意事项”。

警告

LOAD DATA LOCAL 语句创建的临时文件 不会 自动删除,因为直到您实际执行这些语���之前都需要它们。 在您不再需要语句日志后,应自行删除临时文件。 这些文件可以在临时文件目录中找到,名称类似 original_file_name-#-#

原文:dev.mysql.com/doc/refman/8.0/en/mysqlbinlog-hexdump.html

6.6.9.1 mysqlbinlog 十六进制转储格式

--hexdump 选项会导致mysqlbinlog生成二进制日志内容的十六进制转储:

mysqlbinlog --hexdump source-bin.000001

十六进制输出由以#开头的注释行组成,因此对于前述命令,输出可能如下所示:

/*!40019 SET @@SESSION.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
# at 4
#051024 17:24:13 server id 1  end_log_pos 98
# Position  Timestamp   Type   Master ID        Size      Master Pos    Flags
# 00000004 9d fc 5c 43   0f   01 00 00 00   5e 00 00 00   62 00 00 00   00 00
# 00000017 04 00 35 2e 30 2e 31 35  2d 64 65 62 75 67 2d 6c |..5.0.15.debug.l|
# 00000027 6f 67 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |og..............|
# 00000037 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
# 00000047 00 00 00 00 9d fc 5c 43  13 38 0d 00 08 00 12 00 |.......C.8......|
# 00000057 04 04 04 04 12 00 00 4b  00 04 1a                |.......K...|
#       Start: binlog v 4, server v 5.0.15-debug-log created 051024 17:24:13
#       at startup
ROLLBACK;

目前的十六进制转储输出包含以下列表中的元素。此格式可能会更改。有关二进制日志格式的更多信息,请参阅 MySQL Internals: 二进制日志。

  • Position: 日志文件中的字节位置。

  • Timestamp: 事件时间戳。在示例中,'9d fc 5c 43' 是十六进制表示中的'051024 17:24:13'

  • Type: 事件类型代码。

  • Master ID: 创建事件的复制源服务器的服务器 ID。

  • Size: 事件的字节大小。

  • Master Pos: 原始源日志文件中下一个事件的位置。

  • Flags: 事件标志值。

原文:dev.mysql.com/doc/refman/8.0/en/mysqlbinlog-row-events.html

6.6.9.2 mysqlbinlog 行事件显示

以下示例说明了mysqlbinlog如何显示指定数据修改的行事件。这些对应于具有WRITE_ROWS_EVENTUPDATE_ROWS_EVENTDELETE_ROWS_EVENT类型代码的事件。可以使用--base64-output=DECODE-ROWS--verbose选项来影响行事件输出。

假设服务器正在使用基于行的二进制日志记录,并且您执行以下语句序列:

CREATE TABLE t
(
  id   INT NOT NULL,
  name VARCHAR(20) NOT NULL,
  date DATE NULL
) ENGINE = InnoDB;

START TRANSACTION;
INSERT INTO t VALUES(1, 'apple', NULL);
UPDATE t SET name = 'pear', date = '2009-01-01' WHERE id = 1;
DELETE FROM t WHERE id = 1;
COMMIT;

默认情况下,mysqlbinlog将行事件显示为使用BINLOG语句编码的 base-64 字符串。省略多余的行,由前述语句序列产生的行事件的输出如下所示:

$> mysqlbinlog *log_file*
...
# at 218
#080828 15:03:08 server id 1  end_log_pos 258   Write_rows: table id 17 flags: STMT_END_F

BINLOG '
fAS3SBMBAAAALAAAANoAAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBcBAAAAKAAAAAIBAAAQABEAAAAAAAEAA//8AQAAAAVhcHBsZQ==
'/*!*/;
...
# at 302
#080828 15:03:08 server id 1  end_log_pos 356   Update_rows: table id 17 flags: STMT_END_F

BINLOG '
fAS3SBMBAAAALAAAAC4BAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBgBAAAANgAAAGQBAAAQABEAAAAAAAEAA////AEAAAAFYXBwbGX4AQAAAARwZWFyIbIP
'/*!*/;
...
# at 400
#080828 15:03:08 server id 1  end_log_pos 442   Delete_rows: table id 17 flags: STMT_END_F

BINLOG '
fAS3SBMBAAAALAAAAJABAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBkBAAAAKgAAALoBAAAQABEAAAAAAAEAA//4AQAAAARwZWFyIbIP
'/*!*/;

要将行事件显示为“伪 SQL”语句形式的注释,请使用--verbose-v选项运行mysqlbinlog。此输出级别还在适用时显示表分区信息。输出包含以###开头的行:

$> mysqlbinlog -v *log_file*
...
# at 218
#080828 15:03:08 server id 1  end_log_pos 258   Write_rows: table id 17 flags: STMT_END_F

BINLOG '
fAS3SBMBAAAALAAAANoAAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBcBAAAAKAAAAAIBAAAQABEAAAAAAAEAA//8AQAAAAVhcHBsZQ==
'/*!*/;
### INSERT INTO test.t
### SET
###   @1=1
###   @2='apple'
###   @3=NULL
...
# at 302
#080828 15:03:08 server id 1  end_log_pos 356   Update_rows: table id 17 flags: STMT_END_F

BINLOG '
fAS3SBMBAAAALAAAAC4BAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBgBAAAANgAAAGQBAAAQABEAAAAAAAEAA////AEAAAAFYXBwbGX4AQAAAARwZWFyIbIP
'/*!*/;
### UPDATE test.t
### WHERE
###   @1=1
###   @2='apple'
###   @3=NULL
### SET
###   @1=1
###   @2='pear'
###   @3='2009:01:01'
...
# at 400
#080828 15:03:08 server id 1  end_log_pos 442   Delete_rows: table id 17 flags: STMT_END_F

BINLOG '
fAS3SBMBAAAALAAAAJABAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBkBAAAAKgAAALoBAAAQABEAAAAAAAEAA//4AQAAAARwZWFyIbIP
'/*!*/;
### DELETE FROM test.t
### WHERE
###   @1=1
###   @2='pear'
###   @3='2009:01:01'

指定--verbose-v两次,还会显示每列的数据类型和一些元数据,以及信息日志事件,如binlog_rows_query_log_events系统变量设置为TRUE时的行查询日志事件。输出包含每个列更改后的额外注释:

$> mysqlbinlog -vv *log_file*
...
# at 218
#080828 15:03:08 server id 1  end_log_pos 258   Write_rows: table id 17 flags: STMT_END_F

BINLOG '
fAS3SBMBAAAALAAAANoAAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBcBAAAAKAAAAAIBAAAQABEAAAAAAAEAA//8AQAAAAVhcHBsZQ==
'/*!*/;
### INSERT INTO test.t
### SET
###   @1=1 /* INT meta=0 nullable=0 is_null=0 */
###   @2='apple' /* VARSTRING(20) meta=20 nullable=0 is_null=0 */
###   @3=NULL /* VARSTRING(20) meta=0 nullable=1 is_null=1 */
...
# at 302
#080828 15:03:08 server id 1  end_log_pos 356   Update_rows: table id 17 flags: STMT_END_F

BINLOG '
fAS3SBMBAAAALAAAAC4BAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBgBAAAANgAAAGQBAAAQABEAAAAAAAEAA////AEAAAAFYXBwbGX4AQAAAARwZWFyIbIP
'/*!*/;
### UPDATE test.t
### WHERE
###   @1=1 /* INT meta=0 nullable=0 is_null=0 */
###   @2='apple' /* VARSTRING(20) meta=20 nullable=0 is_null=0 */
###   @3=NULL /* VARSTRING(20) meta=0 nullable=1 is_null=1 */
### SET
###   @1=1 /* INT meta=0 nullable=0 is_null=0 */
###   @2='pear' /* VARSTRING(20) meta=20 nullable=0 is_null=0 */
###   @3='2009:01:01' /* DATE meta=0 nullable=1 is_null=0 */
...
# at 400
#080828 15:03:08 server id 1  end_log_pos 442   Delete_rows: table id 17 flags: STMT_END_F

BINLOG '
fAS3SBMBAAAALAAAAJABAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBkBAAAAKgAAALoBAAAQABEAAAAAAAEAA//4AQAAAARwZWFyIbIP
'/*!*/;
### DELETE FROM test.t
### WHERE
###   @1=1 /* INT meta=0 nullable=0 is_null=0 */
###   @2='pear' /* VARSTRING(20) meta=20 nullable=0 is_null=0 */
###   @3='2009:01:01' /* DATE meta=0 nullable=1 is_null=0 */

您可以告诉mysqlbinlog通过使用--base64-output=DECODE-ROWS选项来抑制行事件的BINLOG语句。这类似于--base64-output=NEVER,但如果找到行事件,则不会退出错误。--base64-output=DECODE-ROWS--verbose的组合提供了一个方便的方式,只将行事件显示为 SQL 语句:

$> mysqlbinlog -v --base64-output=DECODE-ROWS *log_file*
...
# at 218
#080828 15:03:08 server id 1  end_log_pos 258   Write_rows: table id 17 flags: STMT_END_F
### INSERT INTO test.t
### SET
###   @1=1
###   @2='apple'
###   @3=NULL
...
# at 302
#080828 15:03:08 server id 1  end_log_pos 356   Update_rows: table id 17 flags: STMT_END_F
### UPDATE test.t
### WHERE
###   @1=1
###   @2='apple'
###   @3=NULL
### SET
###   @1=1
###   @2='pear'
###   @3='2009:01:01'
...
# at 400
#080828 15:03:08 server id 1  end_log_pos 442   Delete_rows: table id 17 flags: STMT_END_F
### DELETE FROM test.t
### WHERE
###   @1=1
###   @2='pear'
###   @3='2009:01:01'

注意

如果您打算重新执行mysqlbinlog输出,则不应该抑制BINLOG语句。

通过--verbose生成的行事件的 SQL 语句比相应的BINLOG语句更易读。然而,它们并不完全对应生成事件的原始 SQL 语句。以下限制适用:

  • 原始列名丢失,被@*N*替换,其中N是列号。

  • 二进制日志中不包含字符集信息,这会影响字符串列的显示:

    • 不区分对应的二进制和非二进制字符串类型(BINARYCHARVARBINARYVARCHARBLOBTEXT)。输出使用STRING作为定长字符串的数据类型,使用VARSTRING作为可变长度字符串的数据类型。

    • 对于多字节字符集,二进制日志中不包含每个字符的最大字节数,因此字符串类型的长度以字节而不是字符显示。例如,STRING(4)用作以下任一列类型的值的数据类型:

      CHAR(4) CHARACTER SET latin1
      CHAR(2) CHARACTER SET ucs2
      
    • 由于UPDATE_ROWS_EVENT类型事件的存储格式,UPDATE语句显示WHERE子句在SET子句之前。

正确解释行事件需要来自二进制日志开头的格式描述事件的信息。因为mysqlbinlog事先不知道日志的其余部分是否包含行事件,所以默认情况下,它在输出的初始部分使用BINLOG语句显示格式描述事件。

如果已知二进制日志不包含任何需要BINLOG语句(即没有行事件)的事件,则可以使用--base64-output=NEVER选项防止写入此标题。

原文:dev.mysql.com/doc/refman/8.0/en/mysqlbinlog-backup.html

6.6.9.3 使用 mysqlbinlog 备份二进制日志文件

默认情况下,mysqlbinlog 读取二进制日志文件并以文本格式显示其内容。这使您能够更轻松地检查文件中的事件,并重新执行它们(例如,通过将输出用作 mysql 的输入)。mysqlbinlog 可以直接从本地文件系统读取日志文件,或者使用 --read-from-remote-server 选项,它可以连接到服务器并从该服务器请求二进制日志内容。mysqlbinlog 将文本输出写入其标准输出,或者如果给定了 --result-file=*file_name* 选项,则写入到指定文件名的文件中。

  • mysqlbinlog 备份功能

  • mysqlbinlog 备份选项

  • 静态和实时备份

  • 输出文件命名

  • 示例:使用 mysqldump + mysqlbinlog 进行备份和恢复

  • mysqlbinlog 备份限制

mysqlbinlog 备份功能

mysqlbinlog可以读取二进制日志文件并写入包含相同内容的新文件,即以二进制格式而不是文本格式。这种能力使您可以轻松地以原始格式备份二进制日志。mysqlbinlog可以进行静态备份,备份一组日志文件并在到达最后一个文件的末尾时停止。它还可以进行连续(“实时”)备份,在到达最后一个日志文件的末尾时保持与服务器的连接,并继续复制生成的新事件。在连续备份操作中,mysqlbinlog会一直运行,直到连接结束(例如,服务器退出)或mysqlbinlog被强制终止。当连接结束时,mysqlbinlog不会等待并重试连接,不像复制服务器。要在服务器重新启动后继续实时备份,您还必须重新启动mysqlbinlog

重要提示

mysqlbinlog可以备份加密和未加密的二进制日志文件。然而,使用mysqlbinlog生成的加密二进制日志文件的副本以未加密格式存储。

mysqlbinlog 备份选项

二进制日志备份要求您至少使用两个选项调用mysqlbinlog

  • --read-from-remote-server(或-R)选项告诉mysqlbinlog连接到服务器并请求其二进制日志。(这类似于复制服务器连接到其复制源服务器。)

  • --raw选项告诉mysqlbinlog写入原始(二进制)输出,而不是文本输出。

除了--read-from-remote-server之外,通常还需要指定其他选项:--host指示服务器运行的位置,您可能还需要指定连接选项,如--user--password

--raw一起使用的其他几个选项很有用:

  • --stop-never:在到达最后一个日志文件并继续读取新事件后,保持与服务器的连接。

  • --connection-server-id=*id*:连接到服务器时mysqlbinlog报告的服务器 ID。当使用--stop-never时,默认报告的服务器 ID 为 1。如果这与复制服务器或另一个mysqlbinlog进程的 ID 发生冲突,请使用--connection-server-id指定替代服务器 ID。参见第 6.6.9.4 节,“指定 mysqlbinlog 服务器 ID”。

  • --result-file:输出文件名的前缀,稍后会描述。

静态和实时备份

使用mysqlbinlog备份服务器的二进制日志文件时,必须指定服务器上实际存在的文件名。如果不知道文件名,连接到服务器并使用SHOW BINARY LOGS语句查看当前的文件名。假设该语句产生以下输出:

mysql> SHOW BINARY LOGS;
+---------------+-----------+-----------+
| Log_name      | File_size | Encrypted |
+---------------+-----------+-----------+
| binlog.000130 |     27459 | No        |
| binlog.000131 |     13719 | No        |
| binlog.000132 |     43268 | No        |
+---------------+-----------+-----------+

有了这些信息,您可以使用mysqlbinlog将二进制日志备份到当前目录,如下所示(每个命令单独一行输入):

  • 要对binlog.000130binlog.000132进行静态备份,请使用以下任一命令:

    mysqlbinlog --read-from-remote-server --host=*host_name* --raw
      binlog.000130 binlog.000131 binlog.000132
    
    mysqlbinlog --read-from-remote-server --host=*host_name* --raw
      --to-last-log binlog.000130
    

    第一个命令明确指定每个文件名。第二个只命名第一个文件,并使用--to-last-log来读取到最后一个文件。这两个命令之间的区别在于,如果服务器在mysqlbinlog到达binlog.000132的末尾之前打开binlog.000133,第一个命令不会读取它,但第二个命令会。

  • 要进行实时备份,其中mysqlbinlogbinlog.000130开始复制现有日志文件,然后保持连接以复制服务器生成的新事件:

    mysqlbinlog --read-from-remote-server --host=*host_name* --raw
      --stop-never binlog.000130
    

    使用--stop-never,不需要指定--to-last-log以读取到最后一个日志文件,因为该选项已经隐含。

输出文件命名

不使用--rawmysqlbinlog会生成文本输出,而--result-file选项(如果提供)指定了所有输出写入的单个文件的名称。使用--rawmysqlbinlog为从服务器传输的每个日志文件写入一个二进制输出文件。默认情况下,mysqlbinlog将文件写入当前目录,文件名与原始日志文件相同。要修改输出文件名,请使用--result-file选项。与--raw一起,--result-file选项值被视为修改输出文件名的前缀。

假设服务器当前有名为binlog.000999及以上的二进制日志文件。如果使用mysqlbinlog --raw备份文件,则--result-file选项会生成如下表所示的输出文件名。您可以通过在--result-file值前加上目录路径来将文件写入特定目录。如果--result-file值仅包含目录名,则该值必须以路径名分隔符字符结尾。如果文件存在,则输出文件将被覆盖。

--result-file 选项 输出文件名
--result-file=x xbinlog.000999及以上
--result-file=/tmp/ /tmp/binlog.000999及以上
--result-file=/tmp/x /tmp/xbinlog.000999及以上
示例:备份和恢复的 mysqldump + mysqlbinlog

以下示例描述了一个简单的场景,展示了如何使用mysqldumpmysqlbinlog一起备份服务器的数据和二进制日志,以及如何使用备份来恢复服务器,如果发生数据丢失。该示例假定服务器运行在主机host_name上,其第一个二进制日志文件名为binlog.000999。每个命令都要单独输入。

使用mysqlbinlog进行二进制日志的连续备份:

mysqlbinlog --read-from-remote-server --host=*host_name* --raw
  --stop-never binlog.000999

使用mysqldump创建一个转储文件作为服务器数据的快照。使用--all-databases--events--routines来备份所有数据,并使用--master-data=2在转储文件中包含当前的二进制日志坐标。

mysqldump --host=*host_name* --all-databases --events --routines --master-data=2> *dump_file*

定期执行mysqldump命令以根据需要创建更新的快照。

如果发生数据丢失(例如,服务器意外退出),请使用最近的转储文件来恢复数据:

mysql --host=*host_name* -u root -p < *dump_file*

然后使用二进制日志备份来重新执行在转储文件中列出坐标之后编写的事件。假设文件中的坐标看起来像这样:

-- CHANGE MASTER TO MASTER_LOG_FILE='binlog.001002', MASTER_LOG_POS=27284;

如果最近备份的日志文件命名为binlog.001004,请像这样重新执行日志事件:

mysqlbinlog --start-position=27284 binlog.001002 binlog.001003 binlog.001004
  | mysql --host=*host_name* -u root -p

您可能会发现将备份文件(转储文件和二进制日志文件)复制到服务器主机上会更容易执行恢复操作,或者如果 MySQL 不允许远程root访问。

mysqlbinlog 备份限制

使用mysqlbinlog的二进制日志备份受到以下限制:

  • mysqlbinlog在连接丢失时(例如,服务器重新启动或网络中断)不会自动重新连接到 MySQL 服务器。

  • 备份的延迟类似于复制服务器的延迟。

原文:dev.mysql.com/doc/refman/8.0/en/mysqlbinlog-server-id.html

6.6.9.4 指定 mysqlbinlog 服务器 ID

当使用--read-from-remote-server选项调用时,mysqlbinlog连接到 MySQL 服务器,指定服务器 ID 以标识自身,并从服务器请求二进制日志文件。您可以使用mysqlbinlog以几种方式从服务器请求日志文件:

  • 指定一个明确命名的文件集:对于每个文件,mysqlbinlog连接并发出Binlog dump命令。服务器发送文件并断开连接。每个文件都有一个连接。

  • 指定起始文件和--to-last-logmysqlbinlog连接并发出Binlog dump命令以获取所有文件。服务器发送所有文件并断开连接。

  • 指定起始文件和--stop-never(隐含--to-last-log):mysqlbinlog连接并发出Binlog dump命令以获取所有文件。服务器发送所有文件,但在发送最后一个文件后不会断开连接。

仅使用--read-from-remote-server时,mysqlbinlog连接时使用服务器 ID 为 0,告诉服务器在发送最后一个请求的日志文件后断开连接。

使用--read-from-remote-server--stop-nevermysqlbinlog连接时使用非零的服务器 ID,因此在发送最后一个日志文件后服务器不会断开连接。默认情况下服务器 ID 为 1,但可以使用--connection-server-id进行更改。

因此,对于请求文件的前两种方式,服务器会断开连接,因为mysqlbinlog指定了服务器 ID 为 0。如果提供了--stop-never,则不会断开连接,因为mysqlbinlog指定了非零的服务器 ID。

6.6.10 mysqldumpslow — 汇总慢查询日志文件

原文:dev.mysql.com/doc/refman/8.0/en/mysqldumpslow.html

MySQL 慢查询日志包含执行时间长的查询的信息(参见 Section 7.4.5, “The Slow Query Log”)。mysqldumpslow 解析 MySQL 慢查询日志文件并汇总其内容。

通常,mysqldumpslow 对于除了数字和字符串数据值的特定值之外相似的查询进行分组。在显示汇总输出时,它将这些值“抽象化”为 N'S'。要修改值抽象化行为,请使用 -a-n 选项。

像这样调用 mysqldumpslow

mysqldumpslow [*options*] [*log_file* ...]

未提供任何选项的示例输出:

Reading mysql slow query log from /usr/local/mysql/data/mysqld80-slow.log
Count: 1  Time=4.32s (4s)  Lock=0.00s (0s)  Rows=0.0 (0), root[root]@localhost
 insert into t2 select * from t1

Count: 3  Time=2.53s (7s)  Lock=0.00s (0s)  Rows=0.0 (0), root[root]@localhost
 insert into t2 select * from t1 limit N

Count: 3  Time=2.13s (6s)  Lock=0.00s (0s)  Rows=0.0 (0), root[root]@localhost
 insert into t1 select * from t1

mysqldumpslow 支持以下选项。

表 6.24 mysqldumpslow 选项

选项名称 描述
-a 不要将所有数字抽象为 N 和字符串抽象为 'S'
-n 至少具有指定位数的数字抽象
--debug 写入调试信息
-g 仅考虑与模式匹配的语句
--help 显示帮助信息并退出
-h 日志文件名中服务器的主机名
-i 服务器实例的名称
-l 不要从总时间中减去锁定时间
-r 反转排序顺序
-s 输出排序方式
-t 仅显示前 num 个查询
--verbose 详细模式
选项名称 描述
  • --help

    命令行格式 --help

    显示帮助信息并退出。

  • -a

    不要将所有数字抽象为 N,字符串抽象为 'S'

  • --debug, -d

    命令行格式 --debug

    以调试模式运行。

    只有在使用 WITH_DEBUG 构建 MySQL 时才可用此选项。由 Oracle 提供的 MySQL 发行版二进制文件 使用此选项构建。

  • -g *pattern*

    类型 字符串

    仅考虑与(grep 风格)模式匹配的查询。

  • -h *host_name*

    类型 字符串
    默认值 *

    MySQL 服务器的主机名,用于 *-slow.log 文件名。该值可以包含通配符。默认值为 *(匹配所有)。

  • -i *name*

    类型 字符串

    服务器实例的名称(如果使用 mysql.server 启动脚本)。

  • -l

    不要从总时间中减去锁定时间。

  • -n *N*

    类型 数字

    在名称中至少有 N 位数字的抽象数字。

  • -r

    反转排序顺序。

  • -s *sort_type*

    类型 字符串
    默认值 at

    如何对输出进行排序。sort_type 的值应从以下列表中选择:

    • t, at: 按查询时间或平均查询时间排序

    • l, al: 按锁定时间或平均锁定时间排序

    • r, ar: 按发送的行数或平均发送的行数排序

    • c: 按计数排序

    默认情况下,mysqldumpslow 按平均查询时间排序(相当于 -s at)。

  • -t *N*

    类型 数字

    仅显示输出中的前 N 个查询。

  • --verbose, -v

    命令行格式 --verbose

    详细模式。打印程序执行的更多信息。

6.7 程序开发工具

原文:dev.mysql.com/doc/refman/8.0/en/programs-development.html

6.7.1 mysql_config — 显示用于编译客户端的选项

6.7.2 my_print_defaults — 显示选项文件中的选项

本节描述了在开发 MySQL 程序时可能会有用的一些实用工具。

在 shell 脚本中,您可以使用 my_print_defaults 程序来解析选项文件,并查看给定程序将使用哪些选项。以下示例显示了当要求显示在 [client][mysql] 组中找到的选项时,my_print_defaults 可能产生的输出:

$> my_print_defaults client mysql
--port=3306
--socket=/tmp/mysql.sock
--no-auto-rehash

开发者注意:选项文件处理是通过在处理适当组或组中的所有选项之前处理所有选项来实现的。这对于使用指定多次的选项的最后一个实例的程序非常有效。如果您有一个处理多次指定选项的 C 或 C++ 程序,但不读取选项文件,您只需添加两行代码即可赋予其这种能力。查看任何标准 MySQL 客户端的源代码以了解如何实现。

MySQL 的几种其他语言接口基于 C 客户端库,其中一些提供了访问选项文件内容的方法。这些包括 Perl 和 Python。有关详细信息,请参阅您首选接口的文档。

6.7.1 mysql_config — 显示编译客户端的选项

原文:dev.mysql.com/doc/refman/8.0/en/mysql-config.html

mysql_config 为您提供了有关编译 MySQL 客户端并连接到 MySQL 所需的有用信息。它是一个 shell 脚本,因此仅在 Unix 和类 Unix 系统上可用。

注意

pkg-config 可以用作获取编译 MySQL 应用程序所需的编译器标志或链接库等信息的替代方法,而不是 mysql_config。有关更多信息,请参阅使用 pkg-config 构建 C API 客户端程序。

mysql_config 支持以下选项。

  • --cflags

    用于查找包含文件和编译 libmysqlclient 库时使用的关键编译器标志和定义的 C 编译器标志。返回的选项与创建库时使用的特定编译器相关联,可能与您自己的编译器设置冲突。使用 --include 获取更具可移植性的选项,其中仅包含包含路径。

  • --cxxflags

    类似于 --cflags,但用于 C++ 编译器标志。

  • --include

    编译选项以查找 MySQL 包含文件。

  • --libs

    链接到 MySQL 客户端库所需的库和选项。

  • --libs_r

    链接到线程安全 MySQL 客户端库所需的库和选项。在 MySQL 8.0 中,所有客户端库都是线程安全的,因此不需要使用此选项。在所有情况下都可以使用 --libs 选项。

  • --plugindir

    配置 MySQL 时定义的默认插件目录路径名。

  • --port

    配置 MySQL 时定义的默认 TCP/IP 端口号。

  • --socket

    配置 MySQL 时定义的默认 Unix 套接字文件。

  • --variable=*var_name*

    显示命名配置变量的值。允许的 var_name 值为 pkgincludedir(头文件目录)、pkglibdir(库目录)和 plugindir(插件目录)。

  • --version

    MySQL 发行版的版本号。

如果你在没有任何选项的情况下调用mysql_config,它会显示它支持的所有选项及其值的列表:

$> mysql_config
Usage: /usr/local/mysql/bin/mysql_config [options]
Options:
  --cflags         [-I/usr/local/mysql/include/mysql -mcpu=pentiumpro]
  --cxxflags       [-I/usr/local/mysql/include/mysql -mcpu=pentiumpro]
  --include        [-I/usr/local/mysql/include/mysql]
  --libs           [-L/usr/local/mysql/lib/mysql -lmysqlclient
                    -lpthread -lm -lrt -lssl -lcrypto -ldl]
  --libs_r         [-L/usr/local/mysql/lib/mysql -lmysqlclient_r
                    -lpthread -lm -lrt -lssl -lcrypto -ldl]
  --plugindir      [/usr/local/mysql/lib/plugin]
  --socket         [/tmp/mysql.sock]
  --port           [3306]
  --version        [5.8.0-m17]
  --variable=VAR   VAR is one of:
          pkgincludedir [/usr/local/mysql/include]
          pkglibdir     [/usr/local/mysql/lib]
          plugindir     [/usr/local/mysql/lib/plugin]

你可以在命令行中使用反引号使用mysql_config来包含它为特定选项生成的输出。例如,要编译和链接一个 MySQL 客户端程序,可以按照以下方式使用mysql_config

gcc -c `mysql_config --cflags` progname.c
gcc -o progname progname.o `mysql_config --libs`

6.7.2 my_print_defaults — 从选项文件显示选项

原文:dev.mysql.com/doc/refman/8.0/en/my-print-defaults.html

my_print_defaults显示选项文件中选项组中存在的选项。输出指示哪些选项被读取指定选项组的程序使用。例如,mysqlcheck程序读取[mysqlcheck][client]选项组。要查看标准选项文件中这些组中存在哪些选项,请像这样调用my_print_defaults

$> my_print_defaults mysqlcheck client
--user=myusername
--password=*password*
--host=localhost

输出包含选项,每行一个,以它们在命令行上指定的形式。

my_print_defaults支持以下选项。

  • --help, -?

    显示帮助消息并退出。

  • --config-file=*file_name*, --defaults-file=*file_name*, -c *file_name*

    仅读取给定的选项文件。

  • --debug=*debug_options*, -# *debug_options*

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

  • --defaults-extra-file=*file_name*, --extra-file=*file_name*, -e *file_name*

    在全局选项文件之后但在用户选项文件之前(在 Unix 上)读取此选项文件。

    有关此选项和其他选项文件选项的其他信息,请参见 6.2.2.3 节,“影响选项文件处理的命令行选项”。

  • --defaults-group-suffix=*suffix*, -g *suffix*

    除了在命令行上命名的组之外,还读取具有给定后缀的组。

    有关此选项和其他选项文件选项的其他信息,请参见 6.2.2.3 节,“影响选项文件处理的命令行选项”。

  • --login-path=*name*, -l *name*

    .mylogin.cnf登录路径文件中的指定登录路径读取选项。 “登录路径”是一个包含指定要连接到哪个 MySQL 服务器以及要作为哪个帐户进行身份验证的选项的选项组。要创建或修改登录路径文件,请使用mysql_config_editor实用程序。请参见第 6.6.7 节,“mysql_config_editor — MySQL 配置实用程序”。

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

  • --no-defaults, -n

    返回空字符串。

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

  • --show, -s

    my_print_defaults默认情况下屏蔽密码。使用此选项以明文显示密码。

  • --verbose, -v

    冗长模式。打印程序执行的更多信息。

  • --version, -V

    显示版本信息并退出。

6.8 其他程序

原文:dev.mysql.com/doc/refman/8.0/en/programs-miscellaneous.html

6.8.1 lz4_decompress — 解压缩 mysqlpump LZ4 压缩输出

6.8.2 perror — 显示 MySQL 错误消息信息

6.8.3 zlib_decompress — 解压缩 mysqlpump ZLIB 压缩输出

6.8.1 lz4_decompress — 解压缩 mysqlpump LZ4 压缩输出

原文:dev.mysql.com/doc/refman/8.0/en/lz4-decompress.html

lz4_decompress 实用程序用于解压缩使用 LZ4 压缩创建的 mysqlpump 输出。

注意

lz4_decompress 自 MySQL 8.0.34 起已被弃用;预计将在未来的 MySQL 版本中移除。这是因为相关的 mysqlpump 实用程序自 MySQL 8.0.34 起已被弃用。

注意

如果 MySQL 配置时使用了 -DWITH_LZ4=system 选项,lz4_decompress 将不会被构建。在这种情况下,可以使用系统的 lz4 命令。

调用 lz4_decompress 如下:

lz4_decompress *input_file* *output_file*

示例:

mysqlpump --compress-output=LZ4 > dump.lz4
lz4_decompress dump.lz4 dump.txt

要查看帮助信息,请不带参数调用 lz4_decompress

要解压缩使用 ZLIB 压缩创建的 mysqlpump 输出,请使用 zlib_decompress。参见 第 6.8.3 节,“zlib_decompress — 解压缩 mysqlpump ZLIB 压缩输出”。

6.8.2 perror — 显示 MySQL 错误消息信息

原文:dev.mysql.com/doc/refman/8.0/en/perror.html

perror 显示 MySQL 或操作系统错误代码的错误消息。像这样调用 perror

perror [*options*] *errorcode* ...

perror 尝试灵活地理解其参数。例如,对于 ER_WRONG_VALUE_FOR_VAR 错误,perror 理解任何这些参数:1231001231MY-1231,或 MY-001231,或 ER_WRONG_VALUE_FOR_VAR

$> perror 1231
MySQL error code MY-001231 (ER_WRONG_VALUE_FOR_VAR): Variable '%-.64s'
can't be set to the value of '%-.200s'

如果错误编号在 MySQL 和操作系统错误重叠的范围内,perror 将显示两个错误消息:

$> perror 1 13
OS error code   1:  Operation not permitted
MySQL error code MY-000001: Can't create/write to file '%s' (OS errno %d - %s)
OS error code  13:  Permission denied
MySQL error code MY-000013: Can't get stat of '%s' (OS errno %d - %s)

要获取 MySQL Cluster 错误代码的错误消息,请使用 ndb_perror 实用程序。

系统错误消息的含义可能取决于您的操作系统。在不同操作系统上,给定的错误代码可能有不同的含义。

perror 支持以下选项。

  • --help, --info, -I, -?

    显示帮助消息并退出。

  • --ndb

    打印 MySQL Cluster 错误代码的错误消息。

    此选项已在 MySQL 8.0.13 中移除。请改用 ndb_perror 实用程序。

  • --silent, -s

    静默模式。仅打印错误消息。

  • --verbose, -v

    详细模式。打印错误代码和消息。这是默认行为。

  • --version, -V

    显示版本信息并退出。

6.8.3 zlib_decompress — 解压缩 mysqlpump ZLIB-压缩输出

原文:dev.mysql.com/doc/refman/8.0/en/zlib-decompress.html

zlib_decompress 实用程序用于解压缩使用 ZLIB 压缩创建的 mysqlpump 输出。

注意

zlib_decompress 自 MySQL 8.0.34 起已被弃用;预计在未来的 MySQL 版本中将被移除。这是因为相关的 mysqlpump 实用程序在 MySQL 8.0.34 起已被弃用。

注意

如果 MySQL 配置时使用了 -DWITH_ZLIB=system 选项,则不会构建 zlib_decompress。在这种情况下,可以改用系统的 openssl zlib 命令。

像这样调用 zlib_decompress

zlib_decompress *input_file* *output_file*

示例:

mysqlpump --compress-output=ZLIB > dump.zlib
zlib_decompress dump.zlib dump.txt

要查看帮助信息,请不带任何参数调用 zlib_decompress

要解压缩 mysqlpump 的 LZ4 压缩输出,请使用 lz4_decompress。参见 Section 6.8.1, “lz4_decompress — 解压缩 mysqlpump LZ4-压缩输出”。

6.9 环境变量

原文:dev.mysql.com/doc/refman/8.0/en/environment-variables.html

本节列出了 MySQL 直接或间接使用的环境变量。这些大部分也可以在本手册的其他地方找到。

命令行上的选项优先于选项文件和环境变量中指定的值,选项文件中的值优先于环境变量中的值。在许多情况下,最好使用选项文件而不是环境变量来修改 MySQL 的行为。请参阅 Section 6.2.2.2, “Using Option Files”。

变量 描述
AUTHENTICATION_KERBEROS_CLIENT_LOG Kerberos 认证日志级别。
AUTHENTICATION_LDAP_CLIENT_LOG 客户端 LDAP 认证日志级别。
AUTHENTICATION_PAM_LOG PAM 认证插件调试日志设置。
CC 您的 C 编译器的名称(用于运行CMake)。
CXX 您的 C++编译器的名称(用于运行CMake)。
CC 您的 C 编译器的名称(用于运行CMake)。
DBI_USER Perl DBI 的默认用户名。
DBI_TRACE Perl DBI 的跟踪选项。
HOME mysql历史文件的默认路径是$HOME/.mysql_history
LD_RUN_PATH 用于指定libmysqlclient.so的位置。
LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN 启用mysql_clear_password认证插件;参见 Section 8.4.1.4, “Client-Side Cleartext Pluggable Authentication”。
LIBMYSQL_PLUGIN_DIR 查找客户端插件的目录。
LIBMYSQL_PLUGINS 预加载的客户端插件。
MYSQL_DEBUG 调试时的调试跟踪选项。
MYSQL_GROUP_SUFFIX 选项组后缀值(类似于指定--defaults-group-suffix)。
MYSQL_HISTFILE mysql历史文件的路径。如果设置了此变量,其值将覆盖$HOME/.mysql_history的默认值。
MYSQL_HISTIGNORE 指定不记录到$HOME/.mysql_historysyslog(如果给定--syslog)的语句模式。
MYSQL_HOME 服务器特定的my.cnf文件所在目录的路径。
MYSQL_HOST mysql命令行客户端使用的默认主机名。
MYSQL_OPENSSL_UDF_DH_BITS_THRESHOLD create_dh_parameters()的最大密钥长度。请参见 Section 8.6.3, “MySQL 企业加密用法和示例”。
MYSQL_OPENSSL_UDF_DSA_BITS_THRESHOLD create_asymmetric_priv_key()的最大 DSA 密钥长度。请参见 Section 8.6.3, “MySQL 企业加密用法和示例”。
MYSQL_OPENSSL_UDF_RSA_BITS_THRESHOLD create_asymmetric_priv_key()的最大 RSA 密钥长度。请参见 Section 8.6.3, “MySQL 企业加密用法和示例”。
MYSQL_PS1 mysql命令行客户端中要使用的命令提示符。
MYSQL_PWD 连接到mysqld时的默认密码。使用此选项是不安全的。请参见表后面的注释。
MYSQL_TCP_PORT 默认的 TCP/IP 端口号。
MYSQL_TEST_LOGIN_FILE .mylogin.cnf登录路径文件的名称。
MYSQL_TEST_TRACE_CRASH 测试协议跟踪插件是否会使客户端崩溃。请参见表后面的注释。
MYSQL_TEST_TRACE_DEBUG 测试协议跟踪插件是否产生输出。请参见表后面的注释。
MYSQL_UNIX_PORT 默认的 Unix 套接字文件名;用于与localhost的连接。
MYSQLX_TCP_PORT X 插件默认的 TCP/IP 端口号。
MYSQLX_UNIX_PORT X 插件默认的 Unix 套接字文件名;用于与localhost的连接。
NOTIFY_SOCKET mysqld 用于与 systemd 通信的套接字。
PATH shell 用于查找 MySQL 程序。
PKG_CONFIG_PATH mysqlclient.pc pkg-config文件的位置。请参见表后面的注释。
TMPDIR 创建临时文件的目录。
TZ 这应该设置为您的本地时区。请参见 Section B.3.3.7, “时区问题”。
UMASK 创建文件时的用户文件创建模式。请参见表后面的注释。
UMASK_DIR 创建目录时的用户目录创建模式。请参见表后面的注释。
USER 连接到mysqld时 Windows 上的默认用户名。
变量 描述

有关mysql历史文件的信息,请参见 Section 6.5.1.3, “mysql 客户端日志记录”。

使用MYSQL_PWD指定 MySQL 密码被认为是极其不安全的,不应使用。一些版本的ps包括显示运行进程环境的选项。在某些系统上,如果设置了MYSQL_PWD,您的密码将暴露给运行ps的任何其他用户。即使在没有这种版本的ps的系统上,也不明智地假设没有其他用户可以检查进程环境的方法。

MYSQL_PWD在 MySQL 8.0 中已弃用;预计将在将来的 MySQL 版本中删除。

MYSQL_TEST_LOGIN_FILE是登录路径文件的路径名(由mysql_config_editor创建的文件)。如果未设置,默认值为 Windows 上的%APPDATA%\MySQL\.mylogin.cnf目录和非 Windows 系统上的$HOME/.mylogin.cnf。请参见 Section 6.6.7, “mysql_config_editor — MySQL 配置实用程序”。

MYSQL_TEST_TRACE_DEBUGMYSQL_TEST_TRACE_CRASH变量控制测试协议跟踪客户端插件,如果 MySQL 构建时启用了该插件。有关更多信息,请参见使用测试协议跟踪插件。

默认的UMASKUMASK_DIR值分别为06400750。MySQL 假定UMASKUMASK_DIR的值以零开头时为八进制。例如,设置UMASK=0600等效于UMASK=384,因为 0600 八进制为 384 十进制。

UMASKUMASK_DIR变量,尽管它们的名称是这样,但实际上是用作模式,而不是掩码:

  • 如果设置了UMASKmysqld将使用($UMASK | 0600)作为文件创建的模式,以便新创建的文件的模式在 0600 到 0666 的范围内(所有值均为八进制)。

  • 如果设置了UMASK_DIRmysqld将使用($UMASK_DIR | 0700)作为目录创建的基本模式,然后与~(~$UMASK & 0666)进行 AND 操作,以便新创建的目录的模式在 0700 到 0777 的范围内(所有值均为八进制)。AND 操作可能会从目录模式中删除读取和写入权限,但不会删除执行权限。

另请参阅 Section B.3.3.1, “文件权限问题”。

如果使用pkg-config构建 MySQL 程序,则可能需要设置PKG_CONFIG_PATH。请参见使用 pkg-config 构建 C API 客户端程序。

6.10 MySQL 中的 Unix 信号处理

原文:dev.mysql.com/doc/refman/8.0/en/unix-signal-response.html

在 Unix 和类 Unix 系统上,一个进程可以接收由 root 系统帐户或拥有该进程的系统帐户发送的信号。信号可以使用 kill 命令发送。一些命令解释器将某些按键序列与信号关联起来,例如 Control+C 发送 SIGINT 信号。本节描述了 MySQL 服务器和客户端程序对信号的响应。

  • 服务器对信号的响应

  • 客户端对信号的响应

服务器对信号的响应

mysqld 对信号的响应如下:

  • SIGTERM 导致服务器关闭。这类似于执行 SHUTDOWN 语句而无需连接到服务器(对于关闭需要具有 SHUTDOWN 权限的帐户)。

  • SIGHUP 导致服务器重新加载授权表并刷新表、日志、线程缓存和主机缓存。这些操作类似于各种形式的 FLUSH 语句。发送信号使得刷新操作可以在不连接到服务器的情况下执行,这需要一个具有足够权限的 MySQL 帐户。在 MySQL 8.0.20 之前,服务器还会向错误日志写入一个具有以下格式的状态报告:

    Status information:
    
    Current dir: /var/mysql/data/
    Running threads: 4  Stack size: 262144
    Current locks:
    lock: 0x7f742c02c0e0:
    
    lock: 0x2cee2a20:
    :
    lock: 0x207a080:
    
    Key caches:
    default
    Buffer_size:       8388608
    Block_size:           1024
    Division_limit:        100
    Age_limit:             300
    blocks used:             4
    not flushed:             0
    w_requests:              0
    writes:                  0
    r_requests:              8
    reads:                   4
    
    handler status:
    read_key:           13
    read_next:           4
    read_rnd             0
    read_first:         13
    write:               1
    delete               0
    update:              0
    
    Table status:
    Opened tables:        121
    Open tables:          114
    Open files:            18
    Open streams:           0
    
    Memory status:
    <malloc version="1">
    <heap nr="0">
    <sizes>
      <size from="17" to="32" total="32" count="1"/>
      <size from="33" to="48" total="96" count="2"/>
      <size from="33" to="33" total="33" count="1"/>
      <size from="97" to="97" total="6014" count="62"/>
      <size from="113" to="113" total="904" count="8"/>
      <size from="193" to="193" total="193" count="1"/>
      <size from="241" to="241" total="241" count="1"/>
      <size from="609" to="609" total="609" count="1"/>
      <size from="16369" to="16369" total="49107" count="3"/>
      <size from="24529" to="24529" total="98116" count="4"/>
      <size from="32689" to="32689" total="32689" count="1"/>
      <unsorted from="241" to="7505" total="7746" count="2"/>
    </sizes>
    <total type="fast" count="3" size="128"/>
    <total type="rest" count="84" size="195652"/>
    <system type="current" size="690774016"/>
    <system type="max" size="690774016"/>
    <aspace type="total" size="690774016"/>
    <aspace type="mprotect" size="690774016"/>
    </heap>
    :
    <total type="fast" count="85" size="5520"/>
    <total type="rest" count="116" size="316820"/>
    <total type="mmap" count="82" size="939954176"/>
    <system type="current" size="695717888"/>
    <system type="max" size="695717888"/>
    <aspace type="total" size="695717888"/>
    <aspace type="mprotect" size="695717888"/>
    </malloc>
    
    Events status:
    LLA = Last Locked At  LUA = Last Unlocked At
    WOC = Waiting On Condition  DL = Data Locked
    
    Event scheduler status:
    State      : INITIALIZED
    Thread id  : 0
    LLA        : n/a:0
    LUA        : n/a:0
    WOC        : NO
    Workers    : 0
    Executed   : 0
    Data locked: NO
    
    Event queue status:
    Element count   : 0
    Data locked     : NO
    Attempting lock : NO
    LLA             : init_queue:95
    LUA             : init_queue:103
    WOC             : NO
    Next activation : never
    
  • 从 MySQL 8.0.19 开始,SIGUSR1 导致服务器刷新错误日志、一般查询日志和慢查询日志。SIGUSR1 的一个用途是实现日志轮换而无需连接到服务器,这需要一个具有足够权限的 MySQL 帐户。有关日志轮换的信息,请参见 Section 7.4.6, “Server Log Maintenance”。

    服务器对 SIGUSR1 的响应是对 SIGHUP 的响应的一个子集,使得 SIGUSR1 可以被用作一个更“轻量级”的信号,刷新某些日志而不带有其他 SIGHUP 的效果,比如刷新线程和主机缓存以及向错误日志写入状态报告。

  • SIGINT 通常被服务器忽略。使用 --gdb 选项启动服务器会为 SIGINT 安装一个中断处理程序,用于调试目的。参见 Section 7.9.1.4, “Debugging mysqld under gdb”。

客户端对信号的响应

MySQL 客户端程序对信号的响应如下:

  • mysql客户端将SIGINT(通常是键入Control+C的结果)解释为中断当前语句的指令(如果有的话),或者取消任何部分输入行。可以使用--sigint-ignore选项来忽略SIGINT信号以禁用此行为。

  • 使用 MySQL 客户端库的客户端程序默认会阻止SIGPIPE信号。有以下变化可能:

    • 客户端可以安装自己的SIGPIPE处理程序以覆盖默认行为。请参阅编写 C API 多线程客户端程序。

    • 客户端可以通过在连接时向mysql_real_connect()指定CLIENT_IGNORE_SIGPIPE选项来防止安装SIGPIPE处理程序。请参阅 mysql_real_connect()。

第七章 MySQL 服务器管理

原文:dev.mysql.com/doc/refman/8.0/en/server-administration.html

目录

7.1 MySQL 服务器

7.1.1 配置服务器

7.1.2 服务器配置默认值

7.1.3 服务器配置验证

7.1.4 服务器选项、系统变量和状态变量参考

7.1.5 服务器系统变量参考

7.1.6 服务器状态变量参考

7.1.7 服务器命令选项

7.1.8 服务器系统变量

7.1.9 使用系统变量

7.1.10 服务器状态变量

7.1.11 服务器 SQL 模式

7.1.12 连接管理

7.1.13 IPv6 支持

7.1.14 网络命名空间支持

7.1.15 MySQL 服务器时区支持

7.1.16 资源组

7.1.17 服务器端帮助支持

7.1.18 服务器跟踪客户端会话状态

7.1.19 服务器关闭过程

7.2 MySQL 数据目录

7.3 mysql 系统模式

7.4 MySQL 服务器日志

7.4.1 选择一般查询日志和慢查询日志输出目的地

7.4.2 错误日志

7.4.3 一般查询日志

7.4.4 二进制日志

7.4.5 慢查询日志

7.4.6 服务器日志维护

7.5 MySQL 组件

7.5.1 安装和卸载组件

7.5.2 获取组件信息

7.5.3 错误日志组件

7.5.4 查询属性组件

7.5.5 调度器组件

7.6 MySQL 服务器插件

7.6.1 安装和卸载插件

7.6.2 获取服务器插件信息

7.6.3 MySQL 企业线程池

7.6.4 重写器查询重写插件

7.6.5 ddl_rewriter 插件

7.6.6 版本标记

7.6.7 克隆插件

7.6.8 密钥环代理桥插件

7.6.9 MySQL 插件服务

7.7 MySQL 服务器可加载函数

7.7.1 安装和卸载可加载函数

7.7.2 获取有关可加载函数的信息

7.8 在一台机器上运行多个 MySQL 实例

7.8.1 设置多个数据目录

7.8.2 在 Windows 上运行多个 MySQL 实例

7.8.3 在 Unix 上运行多个 MySQL 实例

7.8.4 在多服务器环境中使用客户端程序

7.9 调试 MySQL

7.9.1 调试 MySQL 服务器

7.9.2 调试 MySQL 客户端

7.9.3 LOCK_ORDER 工具

7.9.4 DBUG 包

MySQL 服务器(mysqld) 是 MySQL 安装中执行大部分工作的主要程序。本章概述了 MySQL 服务器并涵盖了一般服务器管理:

  • 服务器配置

  • 数据目录,特别是 mysql 系统模式

  • 服务器日志文件

  • 在单台机器上管理多个服务器

对于管理主题的更多信息,请参阅:

  • 第八章,安全

  • 第九章,备份和恢复

  • 第十九章,复制

7.1 MySQL 服务器

原文:dev.mysql.com/doc/refman/8.0/en/mysqld-server.html

7.1.1 配置服务器

7.1.2 服务器配置默认值

7.1.3 服务器配置验证

7.1.4 服务器��项、系统变量和状态变量参考

7.1.5 服务器系统变量参考

7.1.6 服务器状态变量参考

7.1.7 服务器命令选项

7.1.8 服务器系统变量

7.1.9 使用系统变量

7.1.10 服务器状态变量

7.1.11 服务器 SQL 模式

7.1.12 连接管理

7.1.13 IPv6 支持

7.1.14 网络命名空间支持

7.1.15 MySQL 服务器时区支持

7.1.16 资源组

7.1.17 服务器端帮助支持

7.1.18 服务器跟踪客户端会话状态

7.1.19 服务器关闭过程

mysqld 是 MySQL 服务器。以下讨论涵盖了这些 MySQL 服务器配置主题:

  • 服务器支持的启动选项。您可以在命令行、配置文件或两者上指定这些选项。

  • 服务器系统变量。这些变量反映了启动选项的当前状态和值,其中一些在服务器运行时可以修改。

  • 服务器状态变量。这些变量包含有关运行时操作的计数器和统计信息。

  • 如何设置服务器 SQL 模式。此设置修改了 SQL 语法和语义的某些方面,例如与其他数据库系统的代码兼容性,或者控制特定情况下的错误处理。

  • 服务器如何管理客户端连接。

  • 配置和使用 IPv6 和网络命名空间支持。

  • 配置和使用时区支持。

  • 使用资源组。

  • 服务器端帮助功能。

  • 提供的功能以启用客户端会话状态更改。

  • 服务器关闭过程。根据表的类型(事务或非事务)以及是否使用复制,会有性能和可靠性考虑。

有关 MySQL 8.0 中已添加、弃用或移除的服务器变量和选项的列表,请参见 第 1.4 节,“MySQL 8.0 中已添加、弃用或移除的服务器和状态变量和选项”。

注意

并非所有的存储引擎都受到所有 MySQL 服务器二进制文件和配置的支持。要了解如何确定您的 MySQL 服务器安装支持哪些存储引擎,请参见第 15.7.7.16 节,“SHOW ENGINES Statement”。

7.1.1 配置服务器

原文:dev.mysql.com/doc/refman/8.0/en/server-configuration.html

MySQL 服务器mysqld具有许多在启动时可以设置以配置其操作的命令选项和系统变量。要确定服务器使用的默认命令选项和系统变量值,请执行此命令:

$> mysqld --verbose --help

该命令生成所有mysqld选项和可配置系统变量的列表。其输出包括默认选项和变量值,并且看起来类似于这样:

abort-slave-event-count           0
allow-suspicious-udfs             FALSE
archive                           ON
auto-increment-increment          1
auto-increment-offset             1
autocommit                        TRUE
automatic-sp-privileges           TRUE
avoid-temporal-upgrade            FALSE
back-log                          80
basedir                           /home/jon/bin/mysql-8.0/
...
tmpdir                            /tmp
transaction-alloc-block-size      8192
transaction-isolation             REPEATABLE-READ
transaction-prealloc-size         4096
transaction-read-only             FALSE
transaction-write-set-extraction  XXHASH64
updatable-views-with-limit        YES
validate-user-plugins             TRUE
verbose                           TRUE
wait-timeout                      28800

要查看服务器运行时实际使用的当前系统变量值,请连接到服务器并执行此语句:

mysql> SHOW VARIABLES;

要查看运行中服务器的一些统计和状态指标,请执行此语句:

mysql> SHOW STATUS;

还可以使用mysqladmin命令获取系统变量和状态信息:

$> mysqladmin variables
$> mysqladmin extended-status

要获取所有命令选项、系统变量和状态变量的详细描述,请参阅这些章节:

  • Section 7.1.7, “服务器命令选项”

  • Section 7.1.8, “服务器系统变量”

  • Section 7.1.10, “服务器状态变量”

更详细的监控信息可从性能模式中获得;请参阅第二十九章,MySQL 性能模式。此外,MySQL sys模式是一组对象,提供了方便访问性能模式收集的数据;请参阅第三十章,MySQL sys 模式

如果在命令行上为mysqldmysqld_safe指定选项,则仅在服务器的该调用中有效。要使该选项在每次服务器运行时都生效,请将其放入选项文件中。参见 Section 6.2.2.2, “使用选项文件”。

7.1.2 服务器配置默认值

原文:dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html

MySQL 服务器有许多操作参数,您可以在服务器启动时使用命令行选项或配置文件(选项文件)进行更改。还可以在运行时更改许多参数。有关在启动或运行时设置参数的一般说明,请参阅第 7.1.7 节,“服务器命令选项”和第 7.1.8 节,“服务器系统变量”。

在 Windows 上,MySQL 安装程序与用户交互,并在基本安装目录中创建名为my.ini的文件作为默认选项文件。

注意

在 Windows 上,.ini.cnf选项文件扩展名可能不会显示。

完成安装过程后,您可以随时编辑默认选项文件以修改服务器使用的参数。例如,要使用文件中以#字符开头注释的参数设置,请删除#,并根据需要修改参数值。要禁用设置,可以在行首添加#或将其删除。

对于非 Windows 平台,在服务器安装或数据目录初始化过程中都不会创建默认的选项文件。请按照第 6.2.2.2 节,“使用选项文件”中的说明创建您的选项文件。没有选项文件,服务器将只使用默认设置启动—请参阅第 7.1.2 节,“服务器配置默认值”以了解如何检查这些设置。

有关选项文件格式和语法的其他信息,请参阅第 6.2.2.2 节,“使用选项文件”。

7.1.3 服务器配置验证

原文:dev.mysql.com/doc/refman/8.0/en/server-configuration-validation.html

截至 MySQL 8.0.16,MySQL 服务器支持一个 --validate-config 选项,该选项允许在不以正常运行模式运行服务器的情况下检查启动配置是否存在问题:

mysqld --validate-config

如果未发现错误,则服务器以退出代码 0 终止。如果发现错误,则服务器会显示诊断消息并以退出代码 1 终止。例如:

$> mysqld --validate-config --no-such-option
2018-11-05T17:50:12.738919Z 0 [ERROR] [MY-000068] [Server] unknown
option '--no-such-option'.
2018-11-05T17:50:12.738962Z 0 [ERROR] [MY-010119] [Server] Aborting

一旦发现任何错误,服务器就会终止。要进行额外的检查,需要纠正初始问题,然后再次使用 --validate-config 运行服务器。

对于前面的示例,使用 --validate-config 导致显示错误消息时,服务器退出代码为 1。根据 log_error_verbosity 的值,也可能显示警告和信息消息,但不会立即终止验证或退出代码为 1。例如,此命令会产生多个警告,两者都会显示。但不会发生错误,因此退出代码为 0:

$> mysqld --validate-config --log_error_verbosity=2
         --read-only=s --transaction_read_only=s
2018-11-05T15:43:18.445863Z 0 [Warning] [MY-000076] [Server] option
'read_only': boolean value 's' was not recognized. Set to OFF.
2018-11-05T15:43:18.445882Z 0 [Warning] [MY-000076] [Server] option
'transaction-read-only': boolean value 's' was not recognized. Set to OFF.

此命令产生相同的警告,但也会有一个错误,因此错误消息会显示在警告和退出代码为 1 的情况下:

$> mysqld --validate-config --log_error_verbosity=2
         --no-such-option --read-only=s --transaction_read_only=s
2018-11-05T15:43:53.152886Z 0 [Warning] [MY-000076] [Server] option
'read_only': boolean value 's' was not recognized. Set to OFF.
2018-11-05T15:43:53.152913Z 0 [Warning] [MY-000076] [Server] option
'transaction-read-only': boolean value 's' was not recognized. Set to OFF.
2018-11-05T15:43:53.164889Z 0 [ERROR] [MY-000068] [Server] unknown
option '--no-such-option'.
2018-11-05T15:43:53.165053Z 0 [ERROR] [MY-010119] [Server] Aborting

--validate-config 选项的范围仅限于服务器可以在不进行正常启动过程的情况下执行的配置检查。因此,配置检查不会初始化存储引擎和其他插件、组件等,并且不会验证与这些未初始化子系统相关联的选项。

--validate-config 可以随时使用,但在升级后特别有用,用于检查旧服务器先前使用的任何选项是否被升级后的服务器视为已弃用或过时。例如,tx_read_only 系统变量在 MySQL 5.7 中已弃用,并在 8.0 中移除。假设一个 MySQL 5.7 服务器在其 my.cnf 文件中使用了该系统变量,然后升级到 MySQL 8.0。使用 --validate-config 运行升级后的服务器以检查配置会产生以下结果:

$> mysqld --validate-config
2018-11-05T10:40:02.712141Z 0 [ERROR] [MY-000067] [Server] unknown variable
'tx_read_only=ON'.
2018-11-05T10:40:02.712178Z 0 [ERROR] [MY-010119] [Server] Aborting

--validate-config 可以与 --defaults-file 选项一起使用,仅验证特定文件中的选项:

$> mysqld --defaults-file=./my.cnf-test --validate-config
2018-11-05T10:40:02.712141Z 0 [ERROR] [MY-000067] [Server] unknown variable
'tx_read_only=ON'.
2018-11-05T10:40:02.712178Z 0 [ERROR] [MY-010119] [Server] Aborting

请记住,如果指定了--defaults-file,它必须是命令行上的第一个选项。(以相反顺序执行上述示例会产生一个消息,指出--defaults-file本身是未知的。)

7.1.4 服务器选项、系统变量和状态变量参考

原文:dev.mysql.com/doc/refman/8.0/en/server-option-variable-reference.html

以下表列出了所有适用于mysqld内的命令行选项、系统变量和状态变量。

该表列出了命令行选项(Cmd-line)、配置文件中有效的选项(Option file)、服务器系统变量(System Var)和状态变量(Status var)的统一列表,并指示每个选项或变量的有效位置。如果在命令行或配置文件中设置的服务器选项与相应系统变量的名称不同,则在相应选项的下方立即注明变量名称。对于系统和状态变量,变量的范围(Var Scope)是全局、会话或两者兼有。有关设置和使用选项和变量的详细信息,请参阅相应的项目描述。在适当的情况下,提供了有关项目的进一步信息的直接链接。

有关专用于 NDB Cluster 的此表版本,请参见第 25.4.2.5 节,“NDB Cluster mysqld 选项和变量参考”。

表 7.1 命令行选项、系统变量和状态变量摘要

名称 命令行 选项文件 系统变量 状态变量 变量范围 动态
中止从属事件计数
中止的客户端 全局
中止连接 全局
Acl_cache_items_count 全局
登录时激活所有角色 全局
admin_address 全局
admin_port 全局
admin-ssl
admin_ssl_ca 全局
admin_ssl_capath 全局
admin_ssl_cert 全局
admin_ssl_cipher 全局
admin_ssl_crl 全局
管理员 SSL CRL 路径 全局
管理员 SSL 密钥 全局
管理员 TLS 密码套件 全局
管理员 TLS 版本 全局
允许可疑 UDF
ansi
审计日志
审计日志缓冲区大小 全局
审计日志压缩 全局
审计日志连接策略 全局
当前会话的审计日志 两者
当前大小的审计日志 全局
审计日志数据库 全局
禁用审计日志 全局
审计日志加密 全局
审计日志事件最大丢弃大小 全局
审计日志事件 全局
过滤的审计日志事件 全局
丢失的审计日志事件 全局
已写入的审计日志事件 全局
排除账户的审计日志 全局
审计日志文件 全局
审计日志过滤器 ID 两者
审计日志刷新 全局
审计日志刷新间隔秒数 全局
审计日志格式 全局
audit_log_format_unix_timestamp 全局
audit_log_include_accounts �� 全局
audit_log_max_size 全局
audit_log_password_history_keep_days 全局
audit_log_policy 全局
audit_log_prune_seconds 全局
audit_log_read_buffer_size 变化 变化
audit_log_rotate_on_size 全局
audit_log_statement_policy 全局
audit_log_strategy 全局
Audit_log_total_size 全局
Audit_log_write_waits 全局
authentication_fido_rp_id 全局
authentication_kerberos_service_key_tab 全局
authentication_kerberos_service_principal 全局
authentication_ldap_sasl_auth_method_name 全局
authentication_ldap_sasl_bind_base_dn 全局
authentication_ldap_sasl_bind_root_dn 全局
authentication_ldap_sasl_bind_root_pwd 全局
authentication_ldap_sasl_ca_path 全局
LDAP SASL 组搜索属性 全局
LDAP SASL 组搜索过滤器 全局
LDAP SASL 初始池大小 全局
LDAP SASL 认证日志状态 全局
LDAP SASL 最大池大小 全局
LDAP SASL 转发 ���局
LDAP SASL 服务器主机 全局
LDAP SASL 服务器端口 全局
LDAP SASL 支持的方法 全局
LDAP SASL TLS 认证 全局
LDAP SASL 用户搜索属性 全局
LDAP 简单认证方法名称 全局
LDAP 简单绑定基础 DN 全局
LDAP 简单绑定根 DN 全局
LDAP 简单绑定根密码 全局
LDAP 简单 CA 路径 全局
LDAP 简单组搜索属性 全局
authentication_ldap_simple_group_search_filter 全局
authentication_ldap_simple_init_pool_size 全局
authentication_ldap_simple_log_status 全局
authentication_ldap_simple_max_pool_size 全局
authentication_ldap_simple_referral 全局
authentication_ldap_simple_server_host 全局
authentication_ldap_simple_server_port 全局
authentication_ldap_simple_tls 全局
authentication_ldap_simple_user_search_attr 全局
authentication_policy 全局
authentication_windows_log_level 全局
authentication_windows_use_principal_name 全局
auto_generate_certs 全局
auto_increment_increment 两者
auto_increment_offset 两者
autocommit 两者
automatic_sp_privileges 全局
avoid_temporal_upgrade 全局
back_log 全局
basedir 全局
big_tables 两者
bind_address 全局
Binlog_cache_disk_use 全局
binlog_cache_size 全局
Binlog_cache_use 全局
binlog-checksum
binlog_checksum 全局
binlog_direct_non_transactional_updates 两者
binlog-do-db
binlog_encryption 全局
binlog_error_action 全局
binlog_expire_logs_auto_purge 全局
binlog_expire_logs_seconds 全局
binlog_format 两者
binlog_group_commit_sync_delay 全局
binlog_group_commit_sync_no_delay_count 全局
binlog_gtid_simple_recovery 全局
binlog-ignore-db
binlog_max_flush_queue_time 全局
binlog_order_commits 全局
binlog_rotate_encryption_master_key_at_startup 全局
binlog_row_event_max_size 全局
binlog_row_image 两者
binlog_row_metadata 全局
binlog_row_value_options 两者
binlog_rows_query_log_events 两者
Binlog_stmt_cache_disk_use 全局
binlog_stmt_cache_size 全局
Binlog_stmt_cache_use 全局
binlog_transaction_compression 两者
binlog_transaction_compression_level_zstd 两者
binlog_transaction_dependency_history_size 全局
binlog_transaction_dependency_tracking 全局
block_encryption_mode 两者
build_id 全局
bulk_insert_buffer_size 两者
Bytes_received 两者
Bytes_sent 两者
caching_sha2_password_auto_generate_rsa_keys 全局
caching_sha2_password_digest_rounds 全局
caching_sha2_password_private_key_path 全局
caching_sha2_password_public_key_path 全局
Caching_sha2_password_rsa_public_key 全局
character_set_client 两者
character-set-client-handshake
character_set_connection 两者
character_set_database (注 1) 两者
character_set_filesystem 两者
character_set_results 两者
character_set_server 两者
character_set_system 全局
character_sets_dir 全局
check_proxy_users 全局
chroot
clone_autotune_concurrency 全局
clone_block_ddl 全局
clone_buffer_size 全局
clone_ddl_timeout 全局
clone_delay_after_data_drop 全局
clone_donor_timeout_after_network_failure ��� 全局
clone_enable_compression 全局
clone_max_concurrency 全局
clone_max_data_bandwidth 全局
clone_max_network_bandwidth 全局
clone_ssl_ca 全局
clone_ssl_cert 全局
clone_ssl_key 全局
clone_valid_donor_list 全局
collation_connection 两者
数据库排序规则(注 1) 两者
服务器排序规则 两者
管理命令 两者
修改数据库 两者
修改事件 两者
修改函数 两者
修改存储过程 两者
修改资源组 全局
修改服务器 两者
修改表 两者
修改表空间 两者
修改用户 两者
修改用户默认角色 全局
分析 两者
分配到键缓存 两者
开始 两者
二进制日志 两者
调用存储过程 两者
更改数据库 两者
更改主服务器 两者
更改复制过滤器 两者
更改复制源 两者
检查 两者
校验 两者
克隆 全局
提交 两者
创建数据库 两者
创建事件 两者
创建函数 两者
创建索引 两者
创建存储过程 两者
创建资源组 全局
创建角色 全局
创建服务器 两者
创建表 两者
创建触发器 两者
创建用户定义函数 两者
创建用户 两者
创建视图 两者
释放 SQL 两者
删除 两者
多删除 两者
执行 两者
删除数据库 两者
删除事件 两者
删除函数 两者
删除索引 两者
删除存储过程 两者
删除资源组 全局
删除角色 全局
删除服务器 两者
删除表 两者
删除触发器 两者
删除用户 两者
删除视图 两者
空查询 两者
执行 SQL 两者
其他解释 两者
刷新 两者
获取诊断信息 两者
授权 两者
Com_grant_roles 全局
Com_group_replication_start 全局
Com_group_replication_stop 全局
Com_ha_close 两者
Com_ha_open 两者
Com_ha_read 两者
Com_help 两者
Com_insert 两者
Com_insert_select 两者
Com_install_component 全局
Com_install_plugin 两者
Com_kill 两者
Com_load 两者
Com_lock_tables 两者
Com_optimize 两者
Com_preload_keys 两者
Com_prepare_sql 两者
Com_purge 两者
Com_purge_before_date 两者
Com_release_savepoint 两者
Com_rename_table 两者
Com_rename_user 两者
Com_repair 两者
Com_replace 两者
Com_replace_select 两者
Com_replica_start 两者
Com_replica_stop 两者
Com_reset 两者
Com_resignal 两者
Com_restart 两者
Com_revoke 两者
撤销所有 两者
撤销角色 全局
回滚 两者
回滚到保存点 两者
保存点 两者
选择 两者
设置选项 两者
设置资源组 全局
设置角色 全局
显示作者 两者
显示二进制日志事件 两者
显示二进制日志 两者
显示字符集 两者
显示校对 两者
显示贡献者 两者
显示创建数据库 两者
显示创建事件 两者
显示创建函数 两者
显示创建过程 两者
显示创建表 两者
显示创建触发器 两者
显示创建用户 两者
显示数据库 两者
显示引擎日志 两者
显示引擎互斥 两者
显示引擎状态 两者
显示错误 两者
显示事件 两者
显示字段 两者
显示函数代码 两者
显示函数状态 两者
显示授权 两者
显示键 两者
显示主服务器状态 两者
显示 NDB 状态 两者
显示打开表 两者
显示插件 两者
显示权限 两者
显示存储过程代码 两者
显示存储过程状态 两者
显示进程列表 两者
显示配置文件 两者
显示配置文件 两者
显示中继日志事件 两者
显示复制状态 两者
显示复制 两者
显示从服务器主机 两者
显示从服务器状态 两者
显示状态 两者
显示存储引擎 两者
显示表状态 两者
显示表信息 两者
显示触发器 两者
显示变量 两者
显示警告 两者
关闭连接 两者
发送信号 两者
启动从服务器 两者
停止从服务器 两者
关闭语句 两者
Com_stmt_execute 两者
Com_stmt_fetch 两者
Com_stmt_prepare 两者
Com_stmt_reprepare 两者
Com_stmt_reset 两者
Com_stmt_send_long_data 两者
Com_truncate 两者
Com_uninstall_component 全局
Com_uninstall_plugin 两者
Com_unlock_tables 两者
Com_update 两者
Com_update_multi 两者
Com_xa_commit 两者
Com_xa_end 两者
Com_xa_prepare 两者
Com_xa_recover 两者
Com_xa_rollback 两者
Com_xa_start 两者
完成类型 两者
component_scheduler.enabled 全局
压缩 会话
压缩算法 全局
压缩级别 全局
并发插入 全局
连接超时 全局
连接控制延迟生成 全局
连接控制失败连接阈值 全局
连接控制最大连接延迟 全局
连接控制最小连接延迟 全局
连接错误接受 全局
连接错误内部 全局
连接错误最大连接数 全局
连接错误对等地址 全局
连接错误选择 全局
连接错误 TCP 包装 全局
连接内存块大小 两者
连接内存限制 两者
连接数 全局
控制台
核心文件
核心文件 全局
创建管理员监听线程 全局
创建临时磁盘表 两者
创建临时文件 全局
创建临时表 两者
CTE 最大递归深度 两者
当前 TLS CA 全局
当前 TLS CA 路径 全局
当前 TLS 证书 全局
当前 TLS 密码 全局
当前 TLS 密码套件 全局
当前 TLS CRL 全局
Current_tls_crlpath 全局
Current_tls_key 全局
Current_tls_version 全局
daemon_memcached_enable_binlog 全局
daemon_memcached_engine_lib_name 全局
daemon_memcached_engine_lib_path 全局
daemon_memcached_option 全局
daemon_memcached_r_batch_size 全局
daemon_memcached_w_batch_size 全局
daemonize
datadir 全局
ddl-rewriter
debug 两者
debug_sync 会话
debug-sync-timeout
default_authentication_plugin 全局
default_collation_for_utf8mb4 两者
default_password_lifetime 全局
default_storage_engine 两者
default_table_encryption 两者
default-time-zone
default_tmp_storage_engine 两者
default_week_format 两者
defaults-extra-file
defaults-file
defaults-group-suffix
delay_key_write 全局
Delayed_errors 全局
delayed_insert_limit 全局
Delayed_insert_threads 全局
delayed_insert_timeout 全局
delayed_queue_size 全局
Delayed_writes 全局
disabled_storage_engines 全局
disconnect_on_expired_password 全局
disconnect-slave-event-count
div_precision_increment 两者
dragnet.log_error_filter_rules 全局
dragnet.Status 全局
early-plugin-load
end_markers_in_json 两者
enforce_gtid_consistency 全局
enterprise_encryption.maximum_rsa_key_size 全局
enterprise_encryption.rsa_support_legacy_padding 全局
eq_range_index_dive_limit 两者
error_count 会话
Error_log_buffered_bytes 全局
Error_log_buffered_events 全局
Error_log_expired_events 全局
Error_log_latest_write 全局
事件调度器 全局
退出信息
日志过期天数 全局
解释格式 两者
时间戳显式默认值 两者
外部锁定
- 变量: 跳过外部锁定
外部用户 会话
联合
防火墙访问拒绝 全局
防火墙访问授权 全局
防火墙缓存条目 全局
刷新 全局
刷新命令 全局
刷新时间 全局
外键检查 两者
全文布尔语法 全局
全文最大词长度 全局
全文最小词长度 全局
全文查询扩展限制 全局
全文停用词文件 全局
gdb
一般日志 全局
一般日志文件 全局
生成的随机密码长度 两者
全局连接内存 全局
global_connection_memory_limit 全局
global_connection_memory_tracking 两者
group_concat_max_len 两者
group_replication_advertise_recovery_endpoints 全局
group_replication_allow_local_lower_version_join 全局
group_replication_auto_increment_increment 全局
group_replication_autorejoin_tries 全局
group_replication_bootstrap_group 全局
group_replication_clone_threshold 全局
group_replication_communication_debug_options 全局
group_replication_communication_max_message_size 全局
group_replication_communication_stack 全局
group_replication_components_stop_timeout 全局
group_replication_compression_threshold 全局
group_replication_consistency 两者
group_replication_enforce_update_everywhere_checks 全局
group_replication_exit_state_action 全局
group_replication_flow_control_applier_threshold 全局
group_replication_flow_control_certifier_threshold 全局
group_replication_flow_control_hold_percent 全局
group_replication_flow_control_max_quota 全局
group_replication_flow_control_member_quota_percent 全局
group_replication_flow_control_min_quota 全局
group_replication_flow_control_min_recovery_quota 全局
group_replication_flow_control_mode 全局
group_replication_flow_control_period 全局
group_replication_flow_control_release_percent 全局
group_replication_force_members 全局
group_replication_group_name 全局
group_replication_group_seeds 全局
group_replication_gtid_assignment_block_size 全局
group_replication_ip_allowlist 全局
group_replication_ip_whitelist 全局
group_replication_local_address 全局
group_replication_member_expel_timeout 全局
group_replication_member_weight 全局
group_replication_message_cache_size 全局
group_replication_paxos_single_leader 全局
group_replication_poll_spin_loops 全局
group_replication_primary_member 全局
group_replication_recovery_complete_at 全局
group_replication_recovery_compression_algorithms 全局
group_replication_recovery_get_public_key 全局
group_replication_recovery_public_key_path 全局
group_replication_recovery_reconnect_interval 全局
group_replication_recovery_retry_count 全局
group_replication_recovery_ssl_ca 全局
group_replication_recovery_ssl_capath 全局
group_replication_recovery_ssl_cert 全局
group_replication_recovery_ssl_cipher 全局
group_replication_recovery_ssl_crl 全局
group_replication_recovery_ssl_crlpath 全局
group_replication_recovery_ssl_key 全局
group_replication_recovery_ssl_verify_server_cert 全局
group_replication_recovery_tls_ciphersuites 全局
group_replication_recovery_tls_version 全局
group_replication_recovery_use_ssl 全局
group_replication_recovery_zstd_compression_level 全局
group_replication_single_primary_mode 全局
group_replication_ssl_mode 全局
group_replication_start_on_boot 全局
group_replication_tls_source 全局
group_replication_transaction_size_limit 全局
group_replication_unreachable_majority_timeout 全局
group_replication_view_change_uuid 全局
gtid_executed 全局
gtid_executed_compression_period 全局
gtid_mode 全局
gtid_next 会话
gtid_owned 两者
gtid_purged 全局
Handler_commit 两者
Handler_delete 两者
Handler_discover 两者
Handler_external_lock 两者
Handler_mrr_init 两者
Handler_prepare 两者
Handler_read_first 两者
Handler_read_key 两者
Handler_read_last 两者
Handler_read_next 两者
Handler_read_prev 两者
Handler_read_rnd 两者
Handler_read_rnd_next 两者
Handler_rollback 两者
Handler_savepoint 两者
Handler_savepoint_rollback 两者
Handler_update 两者
Handler_write 两者
have_compress 全局
have_dynamic_loading 全局
have_geometry 全局
have_openssl 全局
have_profiling 全局
have_query_cache 全局
have_rtree_keys 全局
have_ssl 全局
have_statement_timeout 全局
have_symlink 全局
help
histogram_generation_max_mem_size 两者
host_cache_size 全局
hostname 全局
identity 会话
immediate_server_version 会话
information_schema_stats_expiry 两者
init_connect 全局
init_file 全局
init_replica 全局
init_slave 全局
initialize
initialize-insecure
innodb
innodb_adaptive_flushing 全局
innodb_adaptive_flushing_lwm 全局
innodb_adaptive_hash_index 全局
innodb_adaptive_hash_index_parts 全局
innodb_adaptive_max_sleep_delay 全局
innodb_api_bk_commit_interval 全局
innodb_api_disable_rowlock 全局
innodb_api_enable_binlog 全局
innodb_api_enable_mdl 全局
innodb_api_trx_level 全局
innodb_autoextend_increment 全局
innodb_autoinc_lock_mode 全局
innodb_background_drop_list_empty 全局
Innodb_buffer_pool_bytes_data 全局
Innodb_buffer_pool_bytes_dirty 全局
innodb_buffer_pool_chunk_size 全局
innodb_buffer_pool_debug 全局
innodb_buffer_pool_dump_at_shutdown 全局
innodb_buffer_pool_dump_now 全局
innodb_buffer_pool_dump_pct 全局
Innodb_buffer_pool_dump_status 全局
innodb_buffer_pool_filename 全局
innodb_buffer_pool_in_core_file 全局
innodb_buffer_pool_instances 全局
innodb_buffer_pool_load_abort 全局
innodb_buffer_pool_load_at_startup 全局
innodb_buffer_pool_load_now 全局
Innodb_buffer_pool_load_status 全局
Innodb_buffer_pool_pages_data 全局
Innodb_buffer_pool_pages_dirty 全局
Innodb_buffer_pool_pages_flushed 全局
Innodb_buffer_pool_pages_free 全局
Innodb_buffer_pool_pages_latched 全局
Innodb_buffer_pool_pages_misc 全局
Innodb_buffer_pool_pages_total 全局
Innodb_buffer_pool_read_ahead 全局
Innodb_buffer_pool_read_ahead_evicted 全局
Innodb_buffer_pool_read_ahead_rnd 全局
Innodb_buffer_pool_read_requests 全局
Innodb_buffer_pool_reads 全局
Innodb_buffer_pool_resize_status 全局
Innodb_buffer_pool_resize_status_code 全局
Innodb_buffer_pool_resize_status_progress 全局
innodb_buffer_pool_size 全局
Innodb_buffer_pool_wait_free 全局
Innodb_buffer_pool_write_requests 全局
innodb_change_buffer_max_size 全局
innodb_change_buffering 全局
innodb_change_buffering_debug 全局
innodb_checkpoint_disabled 全局
innodb_checksum_algorithm 全局
innodb_cmp_per_index_enabled 全局
innodb_commit_concurrency 全局
innodb_compress_debug 全局
innodb_compression_failure_threshold_pct 全局
innodb_compression_level 全局
innodb_compression_pad_pct_max 全局
innodb_concurrency_tickets 全局
innodb_data_file_path 全局
Innodb_data_fsyncs 全局
innodb_data_home_dir 全局
Innodb_data_pending_fsyncs 全局
Innodb_data_pending_reads 全局
Innodb_data_pending_writes 全局
Innodb_data_read 全局
Innodb_data_reads 全局
Innodb_data_writes 全局
Innodb_data_written 全局
Innodb_dblwr_pages_written 全局
Innodb_dblwr_writes 全局
innodb_ddl_buffer_size 两者
innodb_ddl_log_crash_reset_debug 全局
innodb_ddl_threads 两者
innodb_deadlock_detect 全局
innodb_dedicated_server 全局
innodb_default_row_format 全局
innodb_directories 全局
innodb_disable_sort_file_cache 全局
innodb_doublewrite 全局 不定
innodb_doublewrite_batch_size 全局
innodb_doublewrite_dir 全局
innodb_doublewrite_files 全局
innodb_doublewrite_pages 全局
innodb_extend_and_initialize 全局
innodb_fast_shutdown 全局
innodb_fil_make_page_dirty_debug 全局
innodb_file_per_table 全局
innodb_fill_factor 全局
innodb_flush_log_at_timeout 全局
innodb_flush_log_at_trx_commit 全局
innodb_flush_method 全局
innodb_flush_neighbors 全局
innodb_flush_sync 全局
innodb_flushing_avg_loops 全局
innodb_force_load_corrupted 全局
innodb_force_recovery 全局
innodb_fsync_threshold 全局
innodb_ft_aux_table 全局
innodb_ft_cache_size 全局
innodb_ft_enable_diag_print 全局
innodb_ft_enable_stopword 两者
innodb_ft_max_token_size 全局
innodb_ft_min_token_size 全局
innodb_ft_num_word_optimize 全局
innodb_ft_result_cache_limit 全局
innodb_ft_server_stopword_table ��局
innodb_ft_sort_pll_degree 全局
innodb_ft_total_cache_size 全局
innodb_ft_user_stopword_table 两者
Innodb_have_atomic_builtins 全局
innodb_idle_flush_pct 全局
innodb_io_capacity 全局
innodb_io_capacity_max 全局
innodb_limit_optimistic_insert_debug 全局
innodb_lock_wait_timeout 两者
innodb_log_buffer_size 全局 不定
innodb_log_checkpoint_fuzzy_now 全局
innodb_log_checkpoint_now 全局
innodb_log_checksums 全局
innodb_log_compressed_pages 全局
innodb_log_file_size 全局
innodb_log_files_in_group 全局
innodb_log_group_home_dir 全局
innodb_log_spin_cpu_abs_lwm 全局
innodb_log_spin_cpu_pct_hwm 全局
innodb_log_wait_for_flush_spin_hwm 全局
Innodb_log_waits 全局
innodb_log_write_ahead_size 全局
Innodb_log_write_requests 全局
innodb_log_writer_threads 全局
Innodb_log_writes 全局
innodb_lru_scan_depth 全局
innodb_max_dirty_pages_pct 全局
innodb_max_dirty_pages_pct_lwm 全局
innodb_max_purge_lag 全局
innodb_max_purge_lag_delay 全局
innodb_max_undo_log_size 全局
innodb_merge_threshold_set_all_debug 全局
innodb_monitor_disable 全局
innodb_monitor_enable 全局
innodb_monitor_reset 全局
innodb_monitor_reset_all 全局
Innodb_num_open_files 全局
innodb_numa_interleave 全局
innodb_old_blocks_pct 全局
innodb_old_blocks_time 全局
innodb_online_alter_log_max_size 全局
innodb_open_files 全局 不定
innodb_optimize_fulltext_only 全局
Innodb_os_log_fsyncs 全局
Innodb_os_log_pending_fsyncs 全局
Innodb_os_log_pending_writes 全局
Innodb_os_log_written 全局
innodb_page_cleaners 全局
Innodb_page_size 全局
innodb_page_size 全局
Innodb_pages_created 全局
Innodb_pages_read 全局
Innodb_pages_written 全局
innodb_parallel_read_threads 会话
innodb_print_all_deadlocks 全局
innodb_print_ddl_logs 全局
innodb_purge_batch_size 全局
innodb_purge_rseg_truncate_frequency 全局
innodb_purge_threads 全局
innodb_random_read_ahead 全局
innodb_read_ahead_threshold 全局
innodb_read_io_threads 全局
innodb_read_only 全局
innodb_redo_log_archive_dirs 全局
innodb_redo_log_capacity 全局
Innodb_redo_log_capacity_resized 全局
Innodb_redo_log_checkpoint_lsn 全局
Innodb_redo_log_current_lsn 全局
Innodb_redo_log_enabled 全局
innodb_redo_log_encrypt 全局
Innodb_redo_log_flushed_to_disk_lsn 全局
Innodb_redo_log_logical_size 全局
Innodb_redo_log_physical_size 全局
Innodb_redo_log_read_only 全局
Innodb_redo_log_resize_status 全局
Innodb_redo_log_uuid 全局
innodb_replication_delay 全局
innodb_rollback_on_timeout 全局
innodb_rollback_segments 全局
Innodb_row_lock_current_waits 全局
Innodb_row_lock_time 全局
Innodb_row_lock_time_avg 全局
Innodb_row_lock_time_max 全局
Innodb_row_lock_waits 全局
Innodb_rows_deleted 全局
Innodb_rows_inserted 全局
Innodb_rows_read 全局
Innodb_rows_updated 全局
innodb_saved_page_number_debug 全局
innodb_segment_reserve_factor 全局
innodb_sort_buffer_size 全局
innodb_spin_wait_delay 全局
innodb_spin_wait_pause_multiplier 全局
innodb_stats_auto_recalc 全局
innodb_stats_include_delete_marked 全局
innodb_stats_method 全局
innodb_stats_on_metadata 全局
innodb_stats_persistent 全局
innodb_stats_persistent_sample_pages 全局
innodb_stats_transient_sample_pages 全局
innodb-status-file
innodb_status_output 全局
innodb_status_output_locks 全局
innodb_strict_mode 两者
innodb_sync_array_size 全局
innodb_sync_debug 全局
innodb_sync_spin_loops 全局
Innodb_system_rows_deleted 全局
Innodb_system_rows_inserted 全局
Innodb_system_rows_read 全局
innodb_table_locks 两者
innodb_temp_data_file_path 全局
innodb_temp_tablespaces_dir 全局
innodb_thread_concurrency 全局
innodb_thread_sleep_delay 全局
innodb_tmpdir 两者
Innodb_truncated_status_writes 全局
innodb_trx_purge_view_update_only_debug ��� 全局
innodb_trx_rseg_n_slots_debug 全局
innodb_undo_directory 全局
innodb_undo_log_encrypt 全局
innodb_undo_log_truncate 全局
innodb_undo_tablespaces 全局 不定
Innodb_undo_tablespaces_active 全局
Innodb_undo_tablespaces_explicit 全局
Innodb_undo_tablespaces_implicit 全局
Innodb_undo_tablespaces_total 全局
innodb_use_fdatasync 全局
innodb_use_native_aio 全局
innodb_validate_tablespace_paths 全局
innodb_version 全局
innodb_write_io_threads 全局
insert_id 会话
install
install-manual
interactive_timeout 两者
internal_tmp_disk_storage_engine 全局
internal_tmp_mem_storage_engine 两者
join_buffer_size 两者
keep_files_on_create 两者
Key_blocks_not_flushed 全局
Key_blocks_unused 全局
Key_blocks_used 全局
key_buffer_size 全局
key_cache_age_threshold 全局
key_cache_block_size 全局
key_cache_division_limit 全局
Key_read_requests 全局
Key_reads 全局
Key_write_requests 全局
Key_writes 全局
keyring_aws_cmk_id 全局
keyring_aws_conf_file 全局
keyring_aws_data_file 全局
keyring_aws_region 全局
keyring_encrypted_file_data 全局
keyring_encrypted_file_password 全局
keyring_file_data 全局
keyring_hashicorp_auth_path 全局
keyring_hashicorp_ca_path 全局
keyring_hashicorp_caching 全局
keyring_hashicorp_commit_auth_path 全局
keyring_hashicorp_commit_ca_path 全局
keyring_hashicorp_commit_caching 全局
keyring_hashicorp_commit_role_id 全局
keyring_hashicorp_commit_server_url 全局
keyring_hashicorp_commit_store_path 全局
keyring_hashicorp_role_id 全局
keyring_hashicorp_secret_id 全局
keyring_hashicorp_server_url 全局
keyring_hashicorp_store_path 全局
keyring-migration-destination
keyring-migration-host
keyring-migration-password
keyring-migration-port
keyring-migration-socket
keyring-migration-source
keyring-migration-to-component
keyring-migration-user
keyring_oci_ca_certificate 全局
keyring_oci_compartment 全局
keyring_oci_encryption_endpoint 全局
keyring_oci_key_file 全局
keyring_oci_key_fingerprint 全局
keyring_oci_management_endpoint 全局
keyring_oci_master_key 全局
keyring_oci_secrets_endpoint 全局
keyring_oci_tenancy 全局
keyring_oci_user 全局
keyring_oci_vaults_endpoint 全局
keyring_oci_virtual_vault 全局
keyring_okv_conf_dir 全局
密钥环操作 全局
大文件支持 全局
大页大小 全局
大页 全局
last_insert_id 会话
最后查询成本 会话
最后查询部分计划 会话
lc_messages 双方
lc_messages_dir 全局
lc_time_names 双方
许可证 全局
本地文件 全局
本地服务
锁定顺序 全局
锁定顺序调试循环 全局
锁定顺序调试丢失弧 全局
锁定顺序调试丢失密钥 全局
锁定顺序调试丢失解锁 全局
锁定顺序依赖关系 全局
锁定顺序额外依赖关系 全局
锁定顺序输出目录 全局
锁定顺序打印文本 全局
锁定顺序跟踪循环 全局
锁定顺序跟踪丢失弧 全局
锁定顺序跟踪丢失密钥 全局
锁定顺序跟踪丢失解锁 全局
lock_wait_timeout 两者
Locked_connects 全局
locked_in_memory 全局
log-bin
log_bin 全局
log_bin_basename 全局
log_bin_index 全局
log_bin_trust_function_creators 全局
log_bin_use_v1_row_events 全局
log_error 全局
log_error_services 全局
log_error_suppression_list 全局
log_error_verbosity 全局
log-isam
log_output 全局
log_queries_not_using_indexes 全局
log_raw 全局
log_replica_updates 全局
log-short-format
log_slave_updates 全局
log_slow_admin_statements 全局
log_slow_extra 全局
log_slow_replica_statements 全局
log_slow_slave_statements 全局
log_statements_unsafe_for_binlog 全局
log_syslog 全局
log_syslog_facility 全局
log_syslog_include_pid 全局
log_syslog_tag 全局
log-tc
log-tc-size
log_throttle_queries_not_using_indexes 全局
log_timestamps 全局
long_query_time 两者
low_priority_updates 两者
lower_case_file_system 全局
lower_case_table_names 全局
mandatory_roles 全局
master-info-file
master_info_repository 全局
master-retry-count
master_verify_checksum 全局
max_allowed_packet 两者
max_binlog_cache_size 全局
max-binlog-dump-events
max_binlog_size 全局
max_binlog_stmt_cache_size 全局
max_connect_errors 全局
max_connections 全局
max_delayed_threads 两者
max_digest_length 全局
max_error_count 两者
max_execution_time 两者
超过最大执行时间 两者
设置的最大执行时间 两者
设置失败的最大执行时间 两者
max_heap_table_size 两者
max_insert_delayed_threads 两者
max_join_size 两者
max_length_for_sort_data 两者
max_points_in_geometry 两者
max_prepared_stmt_count 全局
max_relay_log_size 全局
max_seeks_for_key 两者
max_sort_length 两者
max_sp_recursion_depth 两者
最大使用连接数 全局
最大使用连接时间 全局
max_user_connections 两者
max_write_lock_count 全局
mecab_charset 全局
mecab_rc_file 全局
memlock
- 变量: 内存中锁定
metadata_locks_cache_size 全局
metadata_locks_hash_instances 全局
min_examined_row_limit 两者
myisam-block-size
myisam_data_pointer_size 全局
myisam_max_sort_file_size 全局
myisam_mmap_size 全局
myisam_recover_options 全局
myisam_repair_threads 两者
myisam_sort_buffer_size 两者
myisam_stats_method 两者
myisam_use_mmap 全局
mysql_firewall_mode 全局
mysql_firewall_trace 全局
mysql_native_password_proxy_users 全局
mysqlx
Mysqlx_aborted_clients 全局
Mysqlx_address 全局
mysqlx_bind_address 全局
Mysqlx_bytes_received 两者
Mysqlx_bytes_received_compressed_payload 两者
Mysqlx_bytes_received_uncompressed_frame 两者
Mysqlx_bytes_sent 两者
Mysqlx_bytes_sent_compressed_payload 两者
Mysqlx_bytes_sent_uncompressed_frame 两者
Mysqlx_compression_algorithm 会话
mysqlx_compression_algorithms 全局
Mysqlx_compression_level 会话
mysqlx_connect_timeout 全局
Mysqlx_connection_accept_errors 两者
Mysqlx_connection_errors 两者
Mysqlx_connections_accepted 全局
Mysqlx_connections_closed 全局
Mysqlx_connections_rejected 全局
Mysqlx_crud_create_view 两者
Mysqlx_crud_delete 两者
Mysqlx_crud_drop_view 两者
Mysqlx_crud_find 两者
Mysqlx_crud_insert 两者
Mysqlx_crud_modify_view 两者
Mysqlx_crud_update 两者
Mysqlx_cursor_close 两者
Mysqlx_cursor_fetch 两者
Mysqlx_cursor_open 两者
mysqlx_deflate_default_compression_level 全局
mysqlx_deflate_max_client_compression_level 全局
mysqlx_document_id_unique_prefix 全局
mysqlx_enable_hello_notice 全局
Mysqlx_errors_sent 两者
Mysqlx_errors_unknown_message_type 两者
Mysqlx_expect_close 两者
Mysqlx_expect_open 两者
mysqlx_idle_worker_thread_timeout 全局
Mysqlx_init_error 两者
mysqlx_interactive_timeout 全局
mysqlx_lz4_default_compression_level 全局
mysqlx_lz4_max_client_compression_level 全局
mysqlx_max_allowed_packet 全局
mysqlx_max_connections 全局
Mysqlx_messages_sent 两者
mysqlx_min_worker_threads 全局
Mysqlx_notice_global_sent 两者
Mysqlx_notice_other_sent 两者
Mysqlx_notice_warning_sent 两者
Mysqlx_notified_by_group_replication 两者
Mysqlx_port 全局
mysqlx_port 全局
mysqlx_port_open_timeout 全局
Mysqlx_prep_deallocate 两者
Mysqlx_prep_execute 两者
Mysqlx_prep_prepare 两者
mysqlx_read_timeout 会话
Mysqlx_rows_sent 两者
Mysqlx_sessions 全局
Mysqlx_sessions_accepted 全局
Mysqlx_sessions_closed 全局
Mysqlx_sessions_fatal_error 全局
Mysqlx_sessions_killed 全局
Mysqlx_sessions_rejected 全局
Mysqlx_socket 全局
mysqlx_socket 全局
Mysqlx_ssl_accept_renegotiates 全局
Mysqlx_ssl_accepts 全局
Mysqlx_ssl_active 两者
mysqlx_ssl_ca 全局
mysqlx_ssl_capath 全局
mysqlx_ssl_cert 全局
Mysqlx_ssl_cipher 两者
mysqlx_ssl_cipher 全局
Mysqlx_ssl_cipher_list 两者
mysqlx_ssl_crl 全局
mysqlx_ssl_crlpath 全局
Mysqlx_ssl_ctx_verify_depth 两者
Mysqlx_ssl_ctx_verify_mode 两者
Mysqlx_ssl_finished_accepts 全局
mysqlx_ssl_key 全局
Mysqlx_ssl_server_not_after 全局
Mysqlx_ssl_server_not_before 全局
Mysqlx_ssl_verify_depth 全局
Mysqlx_ssl_verify_mode 全局
Mysqlx_ssl_version 两者
Mysqlx_stmt_create_collection 两者
Mysqlx_stmt_create_collection_index 两者
Mysqlx_stmt_disable_notices 两者
Mysqlx_stmt_drop_collection 两者
Mysqlx_stmt_drop_collection_index 两者
Mysqlx_stmt_enable_notices 两者
Mysqlx_stmt_ensure_collection 两者
Mysqlx_stmt_execute_mysqlx 两者
Mysqlx_stmt_execute_sql 两者
Mysqlx_stmt_execute_xplugin 两者
Mysqlx_stmt_get_collection_options 两者
Mysqlx_stmt_kill_client 两者
Mysqlx_stmt_list_clients 两者
Mysqlx_stmt_list_notices 两者
Mysqlx_stmt_list_objects 两者
Mysqlx_stmt_modify_collection_options 两者
Mysqlx_stmt_ping 两者
mysqlx_wait_timeout 会话
Mysqlx_worker_threads 全局
Mysqlx_worker_threads_active 全局
mysqlx_write_timeout 会话
mysqlx_zstd_default_compression_level 全局
mysqlx_zstd_max_client_compression_level 全局
named_pipe 全局
named_pipe_full_access_group 全局
ndb_allow_copying_alter_table 双方
Ndb_api_adaptive_send_deferred_count 全局
Ndb_api_adaptive_send_deferred_count_replica 全局
Ndb_api_adaptive_send_deferred_count_session 全局
Ndb_api_adaptive_send_deferred_count_slave 全局
Ndb_api_adaptive_send_forced_count 全局
Ndb_api_adaptive_send_forced_count_replica 全局
Ndb_api_adaptive_send_forced_count_session 全局
Ndb_api_adaptive_send_forced_count_slave 全局
Ndb_api_adaptive_send_unforced_count 全局
Ndb_api_adaptive_send_unforced_count_replica 全局
Ndb_api_adaptive_send_unforced_count_session 全局
Ndb_api_adaptive_send_unforced_count_slave 全局
Ndb_api_bytes_received_count 全局
Ndb_api_bytes_received_count_replica 全局
Ndb_api_bytes_received_count_session 会话
Ndb_api_bytes_received_count_slave 全局
Ndb_api_bytes_sent_count 全局
Ndb_api_bytes_sent_count_replica 全局
Ndb_api_bytes_sent_count_session 会话
Ndb_api_bytes_sent_count_slave 全局
Ndb_api_event_bytes_count 全局
Ndb_api_event_bytes_count_injector 全局
Ndb_api_event_data_count 全局
Ndb_api_event_data_count_injector 全局
Ndb_api_event_nondata_count 全局
Ndb_api_event_nondata_count_injector 全局
Ndb_api_pk_op_count 全局
Ndb_api_pk_op_count_replica 全局
Ndb_api_pk_op_count_session 会话
Ndb_api_pk_op_count_slave 全局
Ndb_api_pruned_scan_count 全局
Ndb_api_pruned_scan_count_replica 全局
Ndb_api_pruned_scan_count_session 会话
Ndb_api_pruned_scan_count_slave 全局
Ndb_api_range_scan_count 全局
Ndb_api_range_scan_count_replica 全局
Ndb_api_range_scan_count_session 会话
Ndb_api_range_scan_count_slave 全局
Ndb_api_read_row_count 全局
Ndb_api_read_row_count_replica 全局
Ndb_api_read_row_count_session 会话
Ndb_api_read_row_count_slave 全局
Ndb_api_scan_batch_count 全局
Ndb_api_scan_batch_count_replica 全局
Ndb_api_scan_batch_count_session 会话
Ndb_api_scan_batch_count_slave 全局
Ndb_api_table_scan_count 全局
Ndb_api_table_scan_count_replica 全局
Ndb_api_table_scan_count_session 会话
Ndb_api_table_scan_count_slave 全局
Ndb_api_trans_abort_count 全局
Ndb_api_trans_abort_count_replica 全局
Ndb_api_trans_abort_count_session 会话
Ndb_api_trans_abort_count_slave 全局
Ndb_api_trans_close_count 全局
Ndb_api_trans_close_count_replica 全局
Ndb_api_trans_close_count_session 会话
Ndb_api_trans_close_count_slave 全局
Ndb_api_trans_commit_count 全局
Ndb_api_trans_commit_count_replica 全局
Ndb_api_trans_commit_count_session 会话
Ndb_api_trans_commit_count_slave 全局
Ndb_api_trans_local_read_row_count 全局
Ndb_api_trans_local_read_row_count_replica 全局
Ndb_api_trans_local_read_row_count_session 会话
Ndb_api_trans_local_read_row_count_slave 全局
Ndb_api_trans_start_count 全局
Ndb_api_trans_start_count_replica 全局
Ndb_api_trans_start_count_session 会话
Ndb_api_trans_start_count_slave 全局
Ndb_api_uk_op_count 全局
Ndb_api_uk_op_count_replica 全局
Ndb_api_uk_op_count_session 会话
Ndb_api_uk_op_count_slave 全局
Ndb_api_wait_exec_complete_count 全局
Ndb_api_wait_exec_complete_count_replica 全局
Ndb_api_wait_exec_complete_count_session 会话
Ndb_api_wait_exec_complete_count_slave 全局
Ndb_api_wait_meta_request_count 全局
Ndb_api_wait_meta_request_count_replica 全局
Ndb_api_wait_meta_request_count_session 会话
Ndb_api_wait_meta_request_count_slave 全局
Ndb_api_wait_nanos_count 全局
Ndb_api_wait_nanos_count_replica 全局
Ndb_api_wait_nanos_count_session 会话
Ndb_api_wait_nanos_count_slave 全局
Ndb_api_wait_scan_result_count 全局
Ndb_api_wait_scan_result_count_replica 全局
Ndb_api_wait_scan_result_count_session 会话
Ndb_api_wait_scan_result_count_slave 全局
ndb_applier_allow_skip_epoch 全局
ndb_autoincrement_prefetch_sz 两者
ndb_batch_size 两者
ndb_blob_read_batch_bytes 两者
ndb_blob_write_batch_bytes 两者
ndb_clear_apply_status 全局
ndb_cluster_connection_pool 全局
ndb_cluster_connection_pool_nodeids 全局
Ndb_cluster_node_id 全局
Ndb_config_from_host 两者
Ndb_config_from_port 两者
Ndb_config_generation 全局
Ndb_conflict_fn_epoch 全局
Ndb_conflict_fn_epoch_trans 全局
Ndb_conflict_fn_epoch2 全局
Ndb_conflict_fn_epoch2_trans 全局
Ndb_conflict_fn_max 全局
Ndb_conflict_fn_max_del_win 全局
Ndb_conflict_fn_max_del_win_ins 全局
Ndb_conflict_fn_max_ins 全局
Ndb_conflict_fn_old 全局
Ndb_conflict_last_conflict_epoch 全局
Ndb_conflict_last_stable_epoch 全局
Ndb_conflict_reflected_op_discard_count 全局
Ndb_conflict_reflected_op_prepare_count 全局
Ndb_conflict_refresh_op_count 全局
ndb_conflict_role 全局
Ndb_conflict_trans_conflict_commit_count 全局
Ndb_conflict_trans_detect_iter_count 全局
Ndb_conflict_trans_reject_count 全局
Ndb_conflict_trans_row_conflict_count 全局
Ndb_conflict_trans_row_reject_count 全局
ndb-connectstring
ndb_data_node_neighbour 全局
ndb_dbg_check_shares 两者
ndb_default_column_format 全局
ndb_default_column_format 全局
ndb_deferred_constraints 两者
ndb_deferred_constraints 两者
ndb_distribution 全局
ndb_distribution 全局
Ndb_epoch_delete_delete_count 全局
ndb_eventbuffer_free_percent 全局
ndb_eventbuffer_max_alloc 全局
Ndb_execute_count 全局
ndb_extra_logging 全局
ndb_force_send 两者
ndb_fully_replicated 两者
ndb_index_stat_enable 两者
ndb_index_stat_option 两者
ndb_join_pushdown 两者
Ndb_last_commit_epoch_server 全局
Ndb_last_commit_epoch_session 会话
ndb_log_apply_status 全局
ndb_log_apply_status 全局
ndb_log_bin 两者
ndb_log_binlog_index 全局
ndb_log_empty_epochs 全局
ndb_log_empty_epochs 全局
ndb_log_empty_update 全局
ndb_log_empty_update 全局
ndb_log_exclusive_reads 两者
ndb_log_exclusive_reads 两者
ndb_log_fail_terminate 全局
ndb_log_orig 全局
ndb_log_orig 全局
ndb_log_transaction_compression 全局
ndb_log_transaction_compression_level_zstd 全局
ndb_log_transaction_dependency 全局
ndb_log_transaction_id 全局
ndb_log_transaction_id 全局
ndb_log_update_as_write 全局
ndb_log_update_minimal 全局
ndb_log_updated_only 全局
Ndb_metadata_blacklist_size 全局
ndb_metadata_check 全局
ndb_metadata_check_interval 全局
Ndb_metadata_detected_count 全局
Ndb_metadata_excluded_count 全局
ndb_metadata_sync 全局
Ndb_metadata_synced_count 全局
ndb-mgmd-host
ndb_nodeid 全局
Ndb_number_of_data_nodes 全局
ndb_optimization_delay 全局
ndb-optimized-node-selection
ndb_optimized_node_selection 全局
Ndb_pruned_scan_count 全局
Ndb_pushed_queries_defined 全局
Ndb_pushed_queries_dropped 全局
Ndb_pushed_queries_executed 全局
Ndb_pushed_reads 全局
ndb_read_backup 全局
ndb_recv_thread_activation_threshold 全局
ndb_recv_thread_cpu_mask 全局
ndb_replica_batch_size 全局
ndb_replica_blob_write_batch_bytes 全局
Ndb_replica_max_replicated_epoch 全局
ndb_report_thresh_binlog_epoch_slip 全局
ndb_report_thresh_binlog_mem_usage 全局
ndb_row_checksum 两者
Ndb_scan_count 全局
ndb_schema_dist_lock_wait_timeout 全局
ndb_schema_dist_timeout 全局
ndb_schema_dist_timeout 全局
ndb_schema_dist_upgrade_allowed 全局
ndb_show_foreign_key_mock_tables 全局
ndb_slave_conflict_role 全局
Ndb_slave_max_replicated_epoch 全局
Ndb_system_name 全局
ndb_table_no_logging 会话
ndb_table_temporary 会话
Ndb_trans_hint_count_session 两者
ndb-transid-mysql-connection-map
ndb_use_copying_alter_table 两者
ndb_use_exact_count 两者
ndb_use_transactions 两者
ndb_version 全局
ndb_version_string 全局
ndb_wait_connected 全局
ndb_wait_setup 全局
ndbcluster
ndbinfo
ndbinfo_database 全局
ndbinfo_max_bytes 两者
ndbinfo_max_rows 两者
ndbinfo_offline 全局
ndbinfo_show_hidden 两者
ndbinfo_table_prefix 全局
ndbinfo_version 全局
net_buffer_length 两者
net_read_timeout 两者
net_retry_count 两者
net_write_timeout 两者
new 两者
ngram_token_size 全局
no-dd-upgrade
no-defaults
no-monitor
未刷新的延迟行 全局
offline_mode 全局
old 全局
old_alter_table 两者
old-style-user-limits
正在进行的匿名 gtid 违反事务计数 全局
正在进行的匿名事务计数 全局
正在进行的自动 gtid 违反事务计数 全局
已打开的文件 全局
open_files_limit 全局
已打开的流 全局
已打开的表定义 全局
已打开的表 两者
已打开的文件 全局
已打开的表定义 两者
已打开的表 两者
optimizer_prune_level 两者
optimizer_search_depth 两者
optimizer_switch 两者
optimizer_trace 两者
optimizer_trace_features 两者
优化器跟踪限制 两者
优化器跟踪最大内存大小 两者
优化器跟踪偏移量 两者
原始提交时间戳 会话
原始服务器版本 会话
解析器最大内存大小 两者
部分撤销 全局
密码历史 全局
密码要求当前 全局
密码重用间隔 全局
性能模式 全局
性能模式账户丢失 全局
性能模式账户大小 全局
性能模式条件类丢失 全局
性能模式条件实例丢失 全局
性能模式消费者事件阶段当前
性能模式消费者事件阶段历史
性能模式消费者事件阶段历史长
性能模式消费者事件语句 CPU
性能模式消费者事件语句当前
性能模式消费者事件语句历史
性能模式消费者事件语句历史长
性能模式消费者事件事务当前
性能模式消费者事件事务历史
性能模式消费者事件事务历史长
性能模式消费者事件等待当前
性能模式消费者事件等待历史
性能模式消费者事件等待历史长
性能模式消费者全局仪器
性能模式消费者语句摘要
性能模式消费者线程仪器
性能模式消费者摘要丢失 全局
performance_schema_digests_size 全局
performance_schema_error_size 全局
performance_schema_events_stages_history_long_size 全局
performance_schema_events_stages_history_size 全局
performance_schema_events_statements_history_long_size 全局
performance_schema_events_statements_history_size 全局
performance_schema_events_transactions_history_long_size 全局
performance_schema_events_transactions_history_size 全局
performance_schema_events_waits_history_long_size 全局
performance_schema_events_waits_history_size 全局
Performance_schema_file_classes_lost 全局
Performance_schema_file_handles_lost 全局
Performance_schema_file_instances_lost 全局
Performance_schema_hosts_lost 全局
performance_schema_hosts_size 全局
Performance_schema_index_stat_lost 全局
performance-schema-instrument
Performance_schema_locker_lost 全局
performance_schema_max_cond_classes 全局
performance_schema_max_cond_instances 全局
performance_schema_max_digest_length 全局
性能模式最大摘要样本年龄 全局
性能模式最大文件类 全局
性能模式最大文件句柄 全局
性能模式最大文件实例 全局
性能模式最大索引统计 全局
性能模式最大内存类 全局
性能模式最大元数据锁 全局
性能模式最大互斥类 全局
性能模式最大互斥实例 全局
性能模式最大预处理语句实例 全局
性能模式最大��序实例 全局
性能模式最大读写锁类 全局
性能模式最大读写锁实例 全局
性能模式最大套接字类 全局
性能模式最大套接字实例 全局
性能模式最大 SQL 文本长度 全局
性能模式最大阶段类 全局
性能模式最大语句类 全局
性能模式最大语句堆栈 全局
性能模式最大表句柄 全局
性能模式最大表实例 全局
性能模式最大表锁统计 全局
性能模式最大线程类 全局
性能模式最大线程实例 全局
性能模式内存类丢失 全局
性能模式元数据锁丢失 全局
性能模式互斥类丢失 全局
性能模式互斥实例丢失 全局
性能模式嵌套语句丢失 全局
性能模式准备语句丢失 全局
性能模式程序丢失 全局
性能模式读写锁类丢失 全局
性能模式读写锁实例丢失 全局
性能模式会话连接属性最长见 全局
性能模式会话连接属性丢失 全局
performance_schema_session_connect_attrs_size 全局
performance_schema_setup_actors_size 全局
performance_schema_setup_objects_size 全局
performance_schema_show_processlist 全局
性能模式套接字类丢失 全局
性能模式套接字实例丢失 全局
性能模式阶段类丢失 全局
性能模式语句类丢失 全局
性能模式表句柄丢失 全局
性能模式表实例丢失 全局
性能模式表锁统计丢失 全局
性能模式线程类丢失 全局
性能模式线程实例丢失 全局
性能模式用户丢失 全局
performance_schema_users_size 全局
persist_only_admin_x509_subject 全局
persist_sensitive_variables_in_plaintext 全局
persisted_globals_load 全局
pid_file 全局
plugin_dir 全局
plugin-load
plugin-load-add
plugin-xxx
port 全局
port-open-timeout
preload_buffer_size 两者
Prepared_stmt_count 全局
print-defaults
print_identified_with_as_hex 两者
profiling 两者
profiling_history_size 两者
protocol_compression_algorithms 全局
protocol_version 全局
proxy_user 会话
pseudo_replica_mode 会话
pseudo_slave_mode 会话
pseudo_thread_id 会话
Queries 两者
query_alloc_block_size 两者
query_prealloc_size 两者
Questions 两者
rand_seed1 会话
rand_seed2 会话
range_alloc_block_size 两者
range_optimizer_max_mem_size 两者
rbr_exec_mode 会话
read_buffer_size 两者
read_only 全局
read_rnd_buffer_size 两者
regexp_stack_limit 全局
regexp_time_limit 全局
relay_log 全局
relay_log_basename 全局
relay_log_index 全局
relay_log_info_file 全局
relay_log_info_repository 全局
relay_log_purge 全局
relay_log_recovery 全局
relay_log_space_limit 全局
remove
replica_allow_batching 全局
replica_checkpoint_group 全局
replica_checkpoint_period 全局
replica_compressed_protocol 全局
replica_exec_mode 全局
replica_load_tmpdir 全局
replica_max_allowed_packet 全局
replica_net_timeout 全局
Replica_open_temp_tables 全局
replica_parallel_type 全局
复制并行工作者 全局
复制挂起作业最大大小 全局
复制保留提交顺序 全局
复制行上次使用的搜索算法 全局
复制跳过错误 全局
复制 SQL 验证校验和 全局
复制事务重试次数 全局
复制类型转换 全局
复制执行数据库
复制执行表
复制忽略数据库
复制忽略表
复制重写数据库
复制相同服务器 ID
复制通配执行表
复制通配忽略表
复制优化静态插件配置 全局
复制发送者观察仅提交 全局
报告主机 全局
报告密码 全局
报告端口 全局
报告用户 全局
要求行格式 会话
require_secure_transport 全局
Resource_group_supported 全局
resultset_metadata 会话
rewriter_enabled 全局
rewriter_enabled_for_threads_without_privilege_checks 全局
Rewriter_number_loaded_rules 全局
Rewriter_number_reloads 全局
Rewriter_number_rewritten_queries 全局
Rewriter_reload_error 全局
rewriter_verbose 全局
rpl_read_size 全局
Rpl_semi_sync_master_clients 全局
rpl_semi_sync_master_enabled 全局
Rpl_semi_sync_master_net_avg_wait_time 全局
Rpl_semi_sync_master_net_wait_time 全局
Rpl_semi_sync_master_net_waits 全局
Rpl_semi_sync_master_no_times 全局
Rpl_semi_sync_master_no_tx 全局
Rpl_semi_sync_master_status 全局
Rpl_semi_sync_master_timefunc_failures 全局
rpl_semi_sync_master_timeout 全局
rpl_semi_sync_master_trace_level 全局
Rpl_semi_sync_master_tx_avg_wait_time 全局
Rpl_semi_sync_master_tx_wait_time 全局
Rpl_semi_sync_master_tx_waits 全局
rpl_semi_sync_master_wait_for_slave_count 全局
rpl_semi_sync_master_wait_no_slave 全局
rpl_semi_sync_master_wait_point 全局
Rpl_semi_sync_master_wait_pos_backtraverse 全局
Rpl_semi_sync_master_wait_sessions 全局
Rpl_semi_sync_master_yes_tx 全局
rpl_semi_sync_replica_enabled 全局
Rpl_semi_sync_replica_status 全局
rpl_semi_sync_replica_trace_level 全局
rpl_semi_sync_slave_enabled 全局
Rpl_semi_sync_slave_status 全局
rpl_semi_sync_slave_trace_level 全局
Rpl_semi_sync_source_clients 全局
rpl_semi_sync_source_enabled 全局
Rpl_semi_sync_source_net_avg_wait_time 全局
Rpl_semi_sync_source_net_wait_time 全局
Rpl_semi_sync_source_net_waits 全局
Rpl_semi_sync_source_no_times 全局
Rpl_semi_sync_source_no_tx 全局
Rpl_semi_sync_source_status 全局
Rpl_semi_sync_source_timefunc_failures 全局
rpl_semi_sync_source_timeout 全局
rpl_semi_sync_source_trace_level 全局
Rpl_semi_sync_source_tx_avg_wait_time 全局
Rpl_semi_sync_source_tx_wait_time 全局
Rpl_semi_sync_source_tx_waits 全局
rpl_semi_sync_source_wait_for_replica_count 全局
rpl_semi_sync_source_wait_no_replica 全局
rpl_semi_sync_source_wait_point 全局
Rpl_semi_sync_source_wait_pos_backtraverse 全局
Rpl_semi_sync_source_wait_sessions 全局
Rpl_semi_sync_source_yes_tx 全局
rpl_stop_replica_timeout 全局
rpl_stop_slave_timeout 全局
Rsa_public_key 全局
safe-user-create
模式定义缓存 全局
secondary_engine_cost_threshold 会话
次要引擎执行计数 两者
secure_file_priv 全局
选择完整连接 两者
选择完整范围连接 两者
select_into_buffer_size 两者
select_into_disk_sync 两者
select_into_disk_sync_delay 两者
选择范围 两者
选择范围检查 两者
选择扫描 两者
server_id 全局
server_id_bits 全局
server_uuid 全局
session_track_gtids 两者
session_track_schema 两者
session_track_state_change 两者
session_track_system_variables 两者
session_track_transaction_info 两者
sha256_password_auto_generate_rsa_keys 全局
sha256_password_private_key_path 全局
sha256_password_proxy_users 全局
sha256_password_public_key_path 全局
shared_memory 全局
共享内存基本名称 全局
在创建表时跳过辅助引擎 会话
show_create_table_verbosity 两者
在创建表和信息模式中显示 GIPK 两者
显示旧的时间格式 两者
show-replica-auth-info
show-slave-auth-info
跳过字符集客户端握手
跳过外部锁定 全局
跳过授权表
跳过主机缓存
跳过名称解析 全局
跳过-ndbcluster
跳过网络连接 全局
跳过新特性
跳过复制开始 全局
跳过显示数据库 全局
跳过从库开始 全局
跳过 SSL
跳过堆栈跟踪
允许批处理的从库 全局
从库检查点组 全局
从库检查点周期 全局
从库压缩协议 全局
slave_exec_mode 全局
slave_load_tmpdir 全局
slave_max_allowed_packet 全局
slave_net_timeout 全局
Slave_open_temp_tables 全局
slave_parallel_type 全局
slave_parallel_workers 全局
slave_pending_jobs_size_max 全局
slave_preserve_commit_order 全局
Slave_rows_last_search_algorithm_used 全局
slave_rows_search_algorithms 全局
slave_skip_errors 全局
slave-sql-verify-checksum
slave_sql_verify_checksum 全局
slave_transaction_retries 全局
slave_type_conversions 全局
Slow_launch_threads 两者
slow_launch_time 全局
Slow_queries 两者
slow_query_log 全局
slow_query_log_file 全局
slow-start-timeout
socket 全局
sort_buffer_size 两者
Sort_merge_passes 两者
Sort_range 两者
Sort_rows 两者
Sort_scan 两者
source_verify_checksum 全局
sporadic-binlog-dump-fail
sql_auto_is_null 两者
sql_big_selects 两者
sql_buffer_result 两者
sql_generate_invisible_primary_key 两者
sql_log_bin 会话
sql_log_off 两者
sql_mode 两者
sql_notes 两者
sql_quote_show_create 两者
sql_replica_skip_counter 全局
sql_require_primary_key 两者
sql_safe_updates 两者
sql_select_limit 两者
sql_slave_skip_counter 全局
sql_warnings 两者
ssl
Ssl_accept_renegotiates 全局
Ssl_accepts 全局
ssl_ca 全局 不定
Ssl_callback_cache_hits 全局
ssl_capath 全局 不定
ssl_cert 全局 不定
Ssl_cipher 两者
ssl_cipher 全局 不同
Ssl_cipher_list 两者
Ssl_client_connects 全局
Ssl_connect_renegotiates 全局
ssl_crl 全局 不同
ssl_crlpath 全局 不同
Ssl_ctx_verify_depth 全局
Ssl_ctx_verify_mode 全局
Ssl_default_timeout 两者
Ssl_finished_accepts 全局
Ssl_finished_connects 全局
ssl_fips_mode 全局
ssl_key 全局 不同
Ssl_server_not_after 两者
Ssl_server_not_before 两者
Ssl_session_cache_hits 全局
Ssl_session_cache_misses 全局
Ssl_session_cache_mode 全局
ssl_session_cache_mode 全局
Ssl_session_cache_overflows 全局
Ssl_session_cache_size 全局
Ssl_session_cache_timeout 全局
ssl_session_cache_timeout 全局
Ssl_session_cache_timeouts 全局
Ssl_sessions_reused 会话
Ssl_used_session_cache_entries 全局
Ssl_verify_depth 两者
Ssl_verify_mode 两者
Ssl_version 两者
standalone
stored_program_cache 全局
stored_program_definition_cache 全局
super-large-pages
super_read_only 全局
symbolic-links
sync_binlog 全局
sync_master_info 全局
sync_relay_log 全局
sync_relay_log_info 全局
sync_source_info 全局
sysdate-is-now
syseventlog.facility 全局
syseventlog.include_pid 全局
syseventlog.tag 全局
system_time_zone 全局
table_definition_cache 全局
table_encryption_privilege_check 全局
Table_locks_immediate 全局
Table_locks_waited 全局
table_open_cache 全局
Table_open_cache_hits 两者
表打开缓存实例数 全局
表打开缓存未命中次数 双方
表打开缓存溢出次数 双方
表空间定义缓存 全局
tc-heuristic-recover
Tc_log_max_pages_used 全局
Tc_log_page_size 全局
Tc_log_page_waits 全局
遥测跟踪支持 全局
临时表最大内存映射 全局
临时表最大内存 全局
临时表使用内存映射 全局
术语使用先前 双方
线程缓存大小 全局
线程处理 全局
线程池算法 全局
线程池专用监听器 全局
线程池高优先级连接 双方
线程池最大活动查询线程数限制 全局
线程池最大事务限制 全局
线程池最大未使用线程数 全局
线程池优先级提升计时器 全局
线程池查询线程每组数 全局
线程池大小 全局
线程池停滞限制 全局
线程池事务延迟 全局
线程堆栈大小 全局
缓存的线程 全局
连接的线程数 全局
创建的线程数 全局
运行的线程数 全局
时区 两者
时间戳 会话
TLS 密码套件 全局
TLS 库版本 全局
TLS 版本 全局 不定
临时表大小 两者
临时目录 全局
事务分配块大小 两者
允许批量处理事务 会话
事务隔离级别 两者
事务预分配大小 两者
只读事务 两者
事务写集提取 两者
唯一性检查 两者
可更新视图限制 两者
升级
运行时间 全局
刷新状态后的运行时间 全局
use_secondary_engine Yes Session Yes
user Yes Yes
validate-config Yes Yes
validate-password Yes Yes
validate_password_check_user_name Yes Yes Yes Global Yes
validate_password_dictionary_file Yes Yes Yes Global Yes
validate_password_dictionary_file_last_parsed Yes Global No
validate_password_dictionary_file_words_count Yes Global No
validate_password_length Yes Yes Yes Global Yes
validate_password_mixed_case_count Yes Yes Yes Global Yes
validate_password_number_count Yes Yes Yes Global Yes
validate_password_policy Yes Yes Yes Global Yes
validate_password_special_char_count Yes Yes Yes Global Yes
validate_password.changed_characters_percentage Yes Yes Yes Global Yes
validate_password.check_user_name Yes Yes Yes Global Yes
validate_password.dictionary_file Yes Yes Yes Global Yes
validate_password.dictionary_file_last_parsed Yes Global No
validate_password.dictionary_file_words_count Yes Global No
validate_password.length Yes Yes Yes Global Yes
validate_password.mixed_case_count 全局
validate_password.number_count 全局
validate_password.policy 全局
validate_password.special_char_count 全局
validate-user-plugins
verbose
version 全局
version_comment 全局
version_compile_machine 全局
version_compile_os 全局
version_compile_zlib 全局
version_tokens_session 两者
version_tokens_session_number 两者
wait_timeout 两者
warning_count 会话
windowing_use_high_precision 两者
xa_detach_on_prepare 两者
名称 命令行 选项文件 系统变量 状态变量 变量范围 动态

注意:

1. 此选项是动态的,但应仅由服务器设置。不应手动设置此变量。

7.1.5 服务器系统变量参考

原文:dev.mysql.com/doc/refman/8.0/en/server-system-variable-reference.html

以下表格列出了所有适用于mysqld的系统变量。

表格列出了命令行选项(Cmd-line)、配置文件中有效的选项(Option file)、服务器系统变量(System Var)和状态变量(Status var)在一个统一的列表中,指示每个选项或变量的有效位置。如果在命令行或选项文件中设置的服务器选项与相应系统变量的名称不同,那么变量名称将立即在相应选项下方注明。变量的范围(Var Scope)是全局的、会话的或两者都是。请参阅相应项目描述以了解设置和使用变量的详细信息。在适当的情况下,提供了有关项目的更多信息的直接链接。

表格 7.2 系统变量摘要

名称 命令行 选项文件 系统变量 变量范围 动态
登录时激活所有角色 全局
admin_address 全局
admin_port 全局
admin_ssl_ca 全局
admin_ssl_capath 全局
admin_ssl_cert 全局
admin_ssl_cipher 全局
admin_ssl_crl 全局
admin_ssl_crlpath 全局
admin_ssl_key 全局
admin_tls_ciphersuites 全局
admin_tls_version 全局
审计日志缓冲区大小 全局
审计日��压缩 全局
审计日志连接策略 全局
审计日志当前会话 两者
审计日志数据库 全局
禁用审计日志 全局
审计日志加密 全局
审计日志排除账户 全局
审计日志文件 全局
审计日志过滤器 ID 两者
审计日志刷新 全局
审计日志刷新间隔秒数 全局
审计日志格式 全局
审计日志格式 Unix 时间戳 全局
审计日志包含账户 全局
审计日志最大大小 全局
审计日志密码历史保留天数 全局
审计日志策略 全局
审计日志修剪秒数 全局
审计日志读取缓冲区大小 不定 不定
按大小轮转审计日志 全局
审计日志语句策略 全局
审计日志策略 全局
身份验证 FIDO RP ID 全局
身份验证 Kerberos 服务密钥表 全局
身份验证 Kerberos 服务主体 全局
身份验证 LDAP SASL 认证方法名称 全局
身份验证 LDAP SASL 绑定基本 DN 全局
authentication_ldap_sasl_bind_root_dn 全局
authentication_ldap_sasl_bind_root_pwd 全局
authentication_ldap_sasl_ca_path 全局
authentication_ldap_sasl_group_search_attr 全局
authentication_ldap_sasl_group_search_filter 全局
authentication_ldap_sasl_init_pool_size 全局
authentication_ldap_sasl_log_status 全局
authentication_ldap_sasl_max_pool_size 全局
authentication_ldap_sasl_referral 全局
authentication_ldap_sasl_server_host 全局
authentication_ldap_sasl_server_port 全局
authentication_ldap_sasl_tls 全局
authentication_ldap_sasl_user_search_attr 全局
authentication_ldap_simple_auth_method_name 全局
authentication_ldap_simple_bind_base_dn 全局
authentication_ldap_simple_bind_root_dn 全局
authentication_ldap_simple_bind_root_pwd 全局
authentication_ldap_simple_ca_path 全局
authentication_ldap_simple_group_search_attr 全局
authentication_ldap_simple_group_search_filter 全局
authentication_ldap_simple_init_pool_size 全局
authentication_ldap_simple_log_status 全局
authentication_ldap_simple_max_pool_size 全局
authentication_ldap_simple_referral 全局
authentication_ldap_simple_server_host 全局
authentication_ldap_simple_server_port 全局
authentication_ldap_simple_tls 全局
authentication_ldap_simple_user_search_attr 全局
authentication_policy 全局
authentication_windows_log_level 全局
authentication_windows_use_principal_name 全局
auto_generate_certs 全局
auto_increment_increment 两者
auto_increment_offset 两者
autocommit 两者
automatic_sp_privileges 全局
avoid_temporal_upgrade 全局
back_log 全局
basedir 全局
big_tables 两者
bind_address 全局
binlog_cache_size 全局
binlog_checksum 全局
binlog_direct_non_transactional_updates 两者
binlog_encryption 全局
binlog_error_action 全局
binlog_expire_logs_auto_purge 全局
binlog_expire_logs_seconds 全局
binlog_format 两者
binlog_group_commit_sync_delay 全局
binlog_group_commit_sync_no_delay_count 全局
binlog_gtid_simple_recovery 全局
binlog_max_flush_queue_time 全局
binlog_order_commits 全局
binlog_rotate_encryption_master_key_at_startup 全局
binlog_row_event_max_size 全局
binlog_row_image 两者
binlog_row_metadata 全局
binlog_row_value_options 两者
binlog_rows_query_log_events 两者
binlog_stmt_cache_size 全局
binlog_transaction_compression 两者
binlog_transaction_compression_level_zstd 两者
binlog_transaction_dependency_history_size 全局
binlog_transaction_dependency_tracking 全局
block_encryption_mode 两者
build_id 全局
bulk_insert_buffer_size 两者
caching_sha2_password_auto_generate_rsa_keys 全局
caching_sha2_password_digest_rounds 全局
caching_sha2_password_private_key_path 全局
caching_sha2_password_public_key_path 全局
character_set_client 两者
character_set_connection 两者
character_set_database (注 1) 两者
character_set_filesystem 两者
character_set_results 两者
character_set_server 两者
character_set_system 全局
character_sets_dir 全局
check_proxy_users 全局
克隆自动调谐并发性 全局
克隆阻止 DDL 全局
克隆缓冲区大小 全局
克隆 DDL 超时 全局
删除数据后延迟 全局
网络故障后捐赠者超时 全局
克隆启用压缩 全局
克隆最大并发数 全局
克隆最大数据带宽 全局
克隆最大网络带宽 全局
克隆 SSL CA 全局
克隆 SSL 证书 全局
克隆 SSL 密钥 全局
克隆有效捐赠者列表 全局
连接排序规则 两者
数据库排序规则(注 1) 两者
服务器排序规则 两者
完成类型 两者
组件调度程序启用 全局
并发插入 全局
连接超时 全局
连接控制失败连接阈值 全局
连接控制最大连接延迟 全局
connection_control_min_connection_delay 全局
connection_memory_chunk_size 两者
connection_memory_limit 两者
core_file 全局
create_admin_listener_thread 全局
cte_max_recursion_depth 两者
daemon_memcached_enable_binlog 全局
daemon_memcached_engine_lib_name 全局
daemon_memcached_engine_lib_path 全局
daemon_memcached_option 全局
daemon_memcached_r_batch_size 全局
daemon_memcached_w_batch_size 全局
datadir 全局
debug 两者
debug_sync 会话
default_authentication_plugin 全局
default_collation_for_utf8mb4 两者
default_password_lifetime 全局
default_storage_engine 两者
default_table_encryption 两者
default_tmp_storage_engine 两者
default_week_format 两者
delay_key_write 全局
delayed_insert_limit 全局
delayed_insert_timeout 全局
delayed_queue_size 全局
disabled_storage_engines 全局
disconnect_on_expired_password 全局
div_precision_increment 两者
dragnet.log_error_filter_rules 全局
end_markers_in_json 两者
enforce_gtid_consistency 全局
enterprise_encryption.maximum_rsa_key_size 全局
enterprise_encryption.rsa_support_legacy_padding 全局
eq_range_index_dive_limit 两者
error_count 会话
event_scheduler 全局
expire_logs_days 全局
explain_format 两者
explicit_defaults_for_timestamp 两者
external_user 会话
flush 全局
flush_time 全局
foreign_key_checks 两者
ft_boolean_syntax 全局
ft_max_word_len 全局
ft_min_word_len 全局
ft_query_expansion_limit 全局
ft_stopword_file 全局
general_log 全局
general_log_file 全局
generated_random_password_length 两者
global_connection_memory_limit 全局
global_connection_memory_tracking 两者
group_concat_max_len 两者
group_replication_advertise_recovery_endpoints 全局
group_replication_allow_local_lower_version_join 全局
group_replication_auto_increment_increment 全局
group_replication_autorejoin_tries 全局
group_replication_bootstrap_group 全局
group_replication_clone_threshold 全局
group_replication_communication_debug_options 全局
group_replication_communication_max_message_size 全局
group_replication_communication_stack 全局
group_replication_components_stop_timeout 全局
group_replication_compression_threshold 全局
group_replication_consistency 两者
group_replication_enforce_update_everywhere_checks 全局
group_replication_exit_state_action 全局
group_replication_flow_control_applier_threshold 全局
group_replication_flow_control_certifier_threshold 全局
group_replication_flow_control_hold_percent 全局
group_replication_flow_control_max_quota 全局
group_replication_flow_control_member_quota_percent 全局
group_replication_flow_control_min_quota 全局
group_replication_flow_control_min_recovery_quota 全局
group_replication_flow_control_mode 全局
group_replication_flow_control_period 全局
group_replication_flow_control_release_percent 全局
group_replication_force_members 全局
group_replication_group_name 全局
group_replication_group_seeds 全局
group_replication_gtid_assignment_block_size 全局
group_replication_ip_allowlist 全局
group_replication_ip_whitelist 全局
group_replication_local_address 全局
group_replication_member_expel_timeout 全局
group_replication_member_weight 全局
group_replication_message_cache_size 全局
group_replication_paxos_single_leader 全局
group_replication_poll_spin_loops 全局
group_replication_recovery_complete_at 全局
group_replication_recovery_compression_algorithms 全局
group_replication_recovery_get_public_key 全局
group_replication_recovery_public_key_path 全局
group_replication_recovery_reconnect_interval 全局
group_replication_recovery_retry_count 全局
group_replication_recovery_ssl_ca 全局
group_replication_recovery_ssl_capath 全局
group_replication_recovery_ssl_cert 全局
group_replication_recovery_ssl_cipher 全局
group_replication_recovery_ssl_crl 全局
group_replication_recovery_ssl_crlpath 全局
group_replication_recovery_ssl_key 全局
group_replication_recovery_ssl_verify_server_cert 全局
group_replication_recovery_tls_ciphersuites 全局
group_replication_recovery_tls_version 全局
group_replication_recovery_use_ssl 全局
group_replication_recovery_zstd_compression_level 全局
group_replication_single_primary_mode 全局
group_replication_ssl_mode 全局
group_replication_start_on_boot 全局
group_replication_tls_source 全局
group_replication_transaction_size_limit 全局
group_replication_unreachable_majority_timeout 全局
group_replication_view_change_uuid 全局
gtid_executed 全局
gtid_executed_compression_period 全局
gtid_mode 全局
gtid_next 会话
gtid_owned 两者
gtid_purged 全局
have_compress 全局
have_dynamic_loading 全局
have_geometry 全局
have_openssl 全局
have_profiling 全局
have_query_cache 全局
have_rtree_keys 全局
have_ssl 全局
have_statement_timeout 全局
have_symlink 全局
直方图生成最大内存大小 两者
主机缓存大小 全局
主机名 全局
identity 会话
immediate_server_version 会话
information_schema_stats_expiry 两者
init_connect 全局
init_file 全局
init_replica 全局
init_slave 全局
innodb 自适应刷新 全局
innodb 自适应刷新 lwm 全局
innodb 自适应哈希索引 全局
innodb 自适应哈希索引部分 全局
innodb 自适应最大睡眠延迟 全局
innodb_api_bk_commit_interval 全局
innodb_api_disable_rowlock 全局
innodb_api_enable_binlog 全局
innodb_api_enable_mdl 全局
innodb_api_trx_level 全局
innodb_autoextend_increment 全局
innodb_autoinc_lock_mode 全局
innodb_background_drop_list_empty 全局
innodb_buffer_pool_chunk_size 全局
innodb_buffer_pool_debug 全局
innodb_buffer_pool_dump_at_shutdown 全局
innodb_buffer_pool_dump_now 全局
innodb_buffer_pool_dump_pct 全局
innodb_buffer_pool_filename 全局
innodb_buffer_pool_in_core_file 全局
innodb_buffer_pool_instances 全局
innodb_buffer_pool_load_abort 全局
innodb_buffer_pool_load_at_startup 全局
innodb_buffer_pool_load_now 全局
innodb_buffer_pool_size 全局
innodb_change_buffer_max_size 全局
innodb_change_buffering 全局
innodb_change_buffering_debug 全局
innodb_checkpoint_disabled 全局
innodb_checksum_algorithm 全局
innodb_cmp_per_index_enabled 全局
innodb_commit_concurrency 全局
innodb_compress_debug 全局
innodb_compression_failure_threshold_pct 全局
innodb_compression_level 全局
innodb_compression_pad_pct_max 全局
innodb_concurrency_tickets 全局
innodb_data_file_path 全局
innodb_data_home_dir 全局
innodb_ddl_buffer_size 两者
innodb_ddl_log_crash_reset_debug 全局
innodb_ddl_threads 两者
innodb_deadlock_detect 全局
innodb_dedicated_server 全局
innodb_default_row_format 全局
innodb_directories 全局
innodb_disable_sort_file_cache 全局
innodb_doublewrite 全局 不定
innodb_doublewrite_batch_size 全局
innodb_doublewrite_dir 全局
innodb_doublewrite_files 全局
innodb_doublewrite_pages 全局
innodb_extend_and_initialize 全局
innodb_fast_shutdown 全局
innodb_fil_make_page_dirty_debug 全局
innodb_file_per_table 全局
innodb_fill_factor 全局
innodb_flush_log_at_timeout 全局
innodb_flush_log_at_trx_commit 全局
innodb_flush_method 全局
innodb_flush_neighbors 全局
innodb_flush_sync 全局
innodb_flushing_avg_loops 全局
innodb_force_load_corrupted 全局
innodb_force_recovery 全局
innodb_fsync_threshold 全局
innodb_ft_aux_table 全局
innodb_ft_cache_size 全局
innodb_ft_enable_diag_print 全局
innodb_ft_enable_stopword 全局
innodb_ft_max_token_size 全局
innodb_ft_min_token_size 全局
innodb_ft_num_word_optimize 全局
innodb_ft_result_cache_limit 全局
innodb_ft_server_stopword_table 全局
innodb_ft_sort_pll_degree 全局
innodb_ft_total_cache_size 全局
innodb_ft_user_stopword_table 全局
innodb_idle_flush_pct 全局
innodb_io_capacity 全局
innodb_io_capacity_max 全局
innodb_limit_optimistic_insert_debug 全局
innodb_lock_wait_timeout 两者
innodb_log_buffer_size 全局 不同
innodb_log_checkpoint_fuzzy_now 全局
innodb_log_checkpoint_now 全局
innodb_log_checksums 全局
innodb_log_compressed_pages 全局
innodb_log_file_size 全局
innodb_log_files_in_group 全局
innodb_log_group_home_dir ��� 全局
innodb_log_spin_cpu_abs_lwm 全局
innodb_log_spin_cpu_pct_hwm 全局
innodb_log_wait_for_flush_spin_hwm 全局
innodb_log_write_ahead_size 全局
innodb_log_writer_threads 全局
innodb_lru_scan_depth 全局
innodb_max_dirty_pages_pct 全局
innodb_max_dirty_pages_pct_lwm 全局
innodb_max_purge_lag 全局
innodb_max_purge_lag_delay 全局
innodb_max_undo_log_size 全局
innodb_merge_threshold_set_all_debug 全局
innodb_monitor_disable 全局
innodb_monitor_enable 全局
innodb_monitor_reset 全局
innodb_monitor_reset_all 全局
innodb_numa_interleave 全局
innodb_old_blocks_pct 全局
innodb_old_blocks_time 全局
innodb_online_alter_log_max_size 全局
innodb_open_files 全局 不定
innodb_optimize_fulltext_only 全局
innodb_page_cleaners 全局
innodb_page_size 全局
innodb_parallel_read_threads 会话
innodb_print_all_deadlocks 全局
innodb_print_ddl_logs 全局
innodb_purge_batch_size 全局
innodb_purge_rseg_truncate_frequency 全局
innodb_purge_threads 全局
innodb_random_read_ahead 全局
innodb_read_ahead_threshold 全局
innodb_read_io_threads 全局
innodb_read_only �� 全局
innodb_redo_log_archive_dirs 全局
innodb_redo_log_capacity 全局
innodb_redo_log_encrypt 全局
innodb_replication_delay 全局
innodb_rollback_on_timeout 全局
innodb_rollback_segments 全局
innodb_saved_page_number_debug 全局
innodb_segment_reserve_factor 全局
innodb_sort_buffer_size 全局
innodb_spin_wait_delay 全局
innodb_spin_wait_pause_multiplier 全局
innodb_stats_auto_recalc 全局
innodb_stats_include_delete_marked 全局
innodb_stats_method 全局
innodb_stats_on_metadata 全局
innodb_stats_persistent 全局
innodb_stats_persistent_sample_pages 全局
innodb_stats_transient_sample_pages 全局
innodb_status_output 全局
innodb_status_output_locks 全局
innodb_strict_mode 两者
innodb_sync_array_size 全局
innodb_sync_debug 全局
innodb_sync_spin_loops 全局
innodb_table_locks 两者
innodb_temp_data_file_path 全局
innodb_temp_tablespaces_dir 全局
innodb_thread_concurrency 全局
innodb_thread_sleep_delay 全局
innodb_tmpdir 两者
innodb_trx_purge_view_update_only_debug 全局
innodb_trx_rseg_n_slots_debug 全局
innodb_undo_directory 全局
innodb_undo_log_encrypt 全局
innodb_undo_log_truncate 全局
innodb_undo_tablespaces 全局 不同
innodb_use_fdatasync 全局
innodb_use_native_aio 全局
innodb_validate_tablespace_paths 全局
innodb_version 全局
innodb_write_io_threads 全局
insert_id 会话
interactive_timeout 两者
internal_tmp_disk_storage_engine 全局
internal_tmp_mem_storage_engine 两者
join_buffer_size 两者
keep_files_on_create 两者
key_buffer_size 全局
key_cache_age_threshold 全局
key_cache_block_size 全局
key_cache_division_limit 全局
keyring_aws_cmk_id 全局
keyring_aws_conf_file 全局
keyring_aws_data_file 全局
AWS 地区密钥环 全局
加密文件数据 全局
加密文件密码 全局
文件数据密钥环 全局
密钥环哈希图认证路径 全局
密钥环哈希图 CA 路径 全局
密钥环哈希图缓存 全局
密钥环哈希图提交认证路径 全局
密钥环哈希图提交 CA 路径 全局
密钥环哈希图提交缓存 全局
密钥环哈希图提交角色 ID 全局
密钥环哈希图提交服务器 URL 全局
密钥环哈希图存储路径 全局
密钥环哈希图角色 ID 全局
密钥环哈希图秘密 ID 全局
密钥环哈希图服务器 URL 全局
密钥环哈希图存储路径 全局
OCI CA 证书 全局
OCI 区域 全局
OCI 加密端点 全局
OCI 密钥文件 全局
OCI 密钥指纹 全局
keyring_oci_management_endpoint 全局
keyring_oci_master_key 全局
keyring_oci_secrets_endpoint 全局
keyring_oci_tenancy 全局
keyring_oci_user 全局
keyring_oci_vaults_endpoint �� 全局
keyring_oci_virtual_vault 全局
keyring_okv_conf_dir 全局
keyring_operations 全局
large_files_support 全局
large_page_size 全局
large_pages 全局
last_insert_id 会话
lc_messages 两者
lc_messages_dir 全局
lc_time_names 两者
license 全局
local_infile 全局
lock_order 全局
lock_order_debug_loop 全局
lock_order_debug_missing_arc 全局
lock_order_debug_missing_key 全局
lock_order_debug_missing_unlock 全局
lock_order_dependencies 全局
lock_order_extra_dependencies 全局
lock_order_output_directory 全局
锁定顺序打印 txt 全局
锁定顺序跟踪循环 全局
锁定顺序跟踪丢失弧 全局
锁定顺序跟踪丢失键 全局
锁定顺序跟踪丢失解锁 全局
锁定等待超时 双方
内存中锁定 全局
记录二进制日志 全局
记录二进制日志基本名称 全局
记录二进制日志索引 全局
记录二进制日志信任函数创建者 全局
记录二进制日志使用 v1 行事件 全局
错误日志 全局
记录错误服务 全局
记录错误抑制列表 全局
记录错误详细程度 全局
记录输出 全局
记录未使用索引的查询 全局
记录原始 全局
记录副本更新 全局
记录从库更新 全局
记录慢管理员语句 全局
记录慢额外 全局
记录慢从库语句 全局
记录慢从库语句 全局
日志不安全的语句用于二进制日志 全局
日志系统日志 全局
日志系统日志设施 全局
日志系统日志包括 PID 全局
日志系统日志标签 全局
记录未使用索引的查询的节流 全局
记录时间戳 全局
长查询时间 两者
低优先级更新 两者
小写文件系统 全局
小写表名 全局
强制角色 全局
主服务器信息存储库 全局
主服务器验证校验和 全局
最大允许数据包大小 两者
最大二进制日志缓存大小 全局
最大二进制日志大小 全局
最大二进制日志语句缓存大小 全局
最大连接错误数 全局
最大连接数 全局
最大延迟线程数 两者
最大摘要长度 全局
最大错误计数 两者
最大执行时间 两者
最大堆表大小 两者
max_insert_delayed_threads 全局
max_join_size 全局
max_length_for_sort_data 全局
max_points_in_geometry 全局
max_prepared_stmt_count 全局
max_relay_log_size 全局
max_seeks_for_key 全局
max_sort_length 全局
max_sp_recursion_depth 全局
max_user_connections 全局
max_write_lock_count 全局
mecab_rc_file 全局
metadata_locks_cache_size 全局
metadata_locks_hash_instances 全局
min_examined_row_limit 全局
myisam_data_pointer_size 全局
myisam_max_sort_file_size 全局
myisam_mmap_size 全局
myisam_recover_options 全局
myisam_repair_threads 全局
myisam_sort_buffer_size 全局
myisam_stats_method 全局
myisam_use_mmap 全局
mysql_firewall_mode 全局
mysql_firewall_trace 全局
mysql_native_password_proxy_users 全局
mysqlx_bind_address 全局
mysqlx_compression_algorithms 全局
mysqlx_connect_timeout 全局
mysqlx_deflate_default_compression_level 全局
mysqlx_deflate_max_client_compression_level 全局
mysqlx_document_id_unique_prefix 全局
mysqlx_enable_hello_notice 全局
mysqlx_idle_worker_thread_timeout 全局
mysqlx_interactive_timeout 全局
mysqlx_lz4_default_compression_level 全局
mysqlx_lz4_max_client_compression_level 全局
mysqlx_max_allowed_packet 全局
mysqlx_max_connections 全局
mysqlx_min_worker_threads 全局
mysqlx_port 全局
mysqlx_port_open_timeout 全局
mysqlx_read_timeout 会话
mysqlx_socket 全局
mysqlx_ssl_ca 全局
mysqlx_ssl_capath 全局
mysqlx_ssl_cert 全局
mysqlx_ssl_cipher 全局
mysqlx_ssl_crl 全局
mysqlx_ssl_crlpath 全局
mysqlx_ssl_key 全局
mysqlx_wait_timeout 会话
mysqlx_write_timeout 会话
mysqlx_zstd_default_compression_level 全局
mysqlx_zstd_max_client_compression_level 全局
named_pipe 全局
named_pipe_full_access_group 全局
ndb_allow_copying_alter_table 两者
ndb_applier_allow_skip_epoch 全局
ndb_autoincrement_prefetch_sz 两者 ��
ndb_batch_size 两者
ndb_blob_read_batch_bytes 两者
ndb_blob_write_batch_bytes 两者
ndb_clear_apply_status 全局
ndb_cluster_connection_pool 全局
ndb_cluster_connection_pool_nodeids 全局
ndb_conflict_role 全局
ndb_data_node_neighbour 全局
ndb_dbg_check_shares 两者
ndb_default_column_format 全局
ndb_default_column_format 全局
ndb_deferred_constraints 两者
ndb_deferred_constraints 两者
ndb_distribution 全局
ndb_distribution 全局
ndb_eventbuffer_free_percent 全局
ndb_eventbuffer_max_alloc 全局
ndb_extra_logging 全局
ndb_force_send 两者
ndb_fully_replicated 两者
ndb_index_stat_enable 两者
ndb_index_stat_option 两者
ndb_join_pushdown 两者
ndb_log_apply_status 全局
ndb_log_apply_status 全局
ndb_log_bin 两者
ndb_log_binlog_index 全局
ndb_log_empty_epochs 全局
ndb_log_empty_epochs 全局
ndb_log_empty_update 全局
ndb_log_empty_update 全局
ndb_log_exclusive_reads 两者
ndb_log_exclusive_reads 两者
ndb_log_fail_terminate 全局
ndb_log_orig 全局
ndb_log_orig 全局
ndb_log_transaction_compression 全局
ndb_log_transaction_compression_level_zstd 全局
ndb_log_transaction_dependency 全局
ndb_log_transaction_id 全局
ndb_log_transaction_id 全局
ndb_log_update_as_write 全局
ndb_log_update_minimal 全局
ndb_log_updated_only 全局
ndb_metadata_check 全局
ndb_metadata_check_interval 全局
ndb_metadata_sync 全局
ndb_optimization_delay 全局
ndb_optimized_node_selection 全局
ndb_read_backup 全局
ndb_recv_thread_activation_threshold 全局
ndb_recv_thread_cpu_mask 全局
ndb_replica_batch_size 全局
ndb_replica_blob_write_batch_bytes 全局
Ndb_replica_max_replicated_epoch 全局
ndb_report_thresh_binlog_epoch_slip 全局
ndb_report_thresh_binlog_mem_usage 全局
ndb_row_checksum 两者
ndb_schema_dist_lock_wait_timeout 全局
ndb_schema_dist_timeout 全局
ndb_schema_dist_timeout 全局
ndb_schema_dist_upgrade_allowed 全局
ndb_show_foreign_key_mock_tables 全局
ndb_slave_conflict_role 全局
Ndb_system_name 全局
ndb_table_no_logging 会话
ndb_table_temporary 会话
ndb_use_copying_alter_table 两者
ndb_use_exact_count 两者
ndb_use_transactions 两者
ndb_version 全局
ndb_version_string 全局
ndb_wait_connected 全局
ndb_wait_setup 全局
ndbinfo_database 全局
ndbinfo_max_bytes 两者
ndbinfo_max_rows 两者
ndbinfo_offline 全局
ndbinfo_show_hidden 两者
ndbinfo_table_prefix 全局
ndbinfo_version 全局
net_buffer_length 两者
net_read_timeout 两者
net_retry_count 两者
net_write_timeout 两者
new 两者
ngram_token_size 全局
offline_mode 全局
old 全局
old_alter_table 两者
open_files_limit 全局
optimizer_prune_level 两者
optimizer_search_depth 两者
optimizer_switch 两者
optimizer_trace 两者
optimizer_trace_features 两者
optimizer_trace_limit 两者
optimizer_trace_max_mem_size 两者
optimizer_trace_offset 两者
original_commit_timestamp 会话
original_server_version 会话
parser_max_mem_size 两者
部分撤销 全局
密码历史 全局
密码要求当前 全局
密码重用间隔 全局
性能模式 全局
性能模式账户大小 全局
性能模式摘要大小 全局
性能模式错误大小 全局
性能模式事件阶段历史长大小 全局
性能模式事件阶段历史大小 全局
性能模式事件语句历史长大小 全局
性能模式事件语句历史大小 全局
性能模式事件事务历史长大小 全局
性能模式事件事务历史大小 全局
性能模式事件等待历史长大小 全局
性能模式事件等待历史大小 全局
性能模式主机大小 全局
性能模式最大条件类 全局
performance_schema_max_cond_instances 全局
performance_schema_max_digest_length 全局
performance_schema_max_digest_sample_age 全局
performance_schema_max_file_classes 全局
performance_schema_max_file_handles 全局
performance_schema_max_file_instances 全局
performance_schema_max_index_stat 全局
performance_schema_max_memory_classes 全局
performance_schema_max_metadata_locks 全局
performance_schema_max_mutex_classes 全局
performance_schema_max_mutex_instances 全局
performance_schema_max_prepared_statements_instances 全局
performance_schema_max_program_instances 全局
performance_schema_max_rwlock_classes 全局
performance_schema_max_rwlock_instances 全局
performance_schema_max_socket_classes 全局
performance_schema_max_socket_instances 全局
performance_schema_max_sql_text_length 全局
performance_schema_max_stage_classes 全局
performance_schema_max_statement_classes 全局
performance_schema_max_statement_stack 全局
performance_schema_max_table_handles 全局
performance_schema_max_table_instances 全局
performance_schema_max_table_lock_stat 全局
performance_schema_max_thread_classes 全局
performance_schema_max_thread_instances 全局
performance_schema_session_connect_attrs_size 全局
performance_schema_setup_actors_size 全局
performance_schema_setup_objects_size 全局
performance_schema_show_processlist 全局
performance_schema_users_size 全局
persist_only_admin_x509_subject 全局
persist_sensitive_variables_in_plaintext 全局
persisted_globals_load 全局
pid_file 全局
plugin_dir 全局
port 全局
preload_buffer_size 两者
print_identified_with_as_hex 两者
profiling 两者
profiling_history_size 两者
protocol_compression_algorithms 全局
protocol_version 全局
proxy_user 会话
pseudo_replica_mode 会话
pseudo_slave_mode 会话
pseudo_thread_id 会话
query_alloc_block_size 两者
query_prealloc_size 两者
rand_seed1 会话
rand_seed2 会话
range_alloc_block_size 两者
range_optimizer_max_mem_size 两者
rbr_exec_mode 会话
read_buffer_size 两者
read_only 全局
read_rnd_buffer_size 两者
regexp_stack_limit 全局
regexp_time_limit 全局
relay_log 全局
relay_log_basename 全局
relay_log_index 全局
relay_log_info_file 全局
relay_log_info_repository 全局
relay_log_purge 全局
relay_log_recovery 全局
relay_log_space_limit 全局
replica_allow_batching 全局
replica_checkpoint_group 全局
replica_checkpoint_period 全局
replica_compressed_protocol 全局
replica_exec_mode 全局
replica_load_tmpdir 全局
replica_max_allowed_packet 全局
replica_net_timeout 全局
replica_parallel_type 全局
replica_parallel_workers 全局
replica_pending_jobs_size_max 全局
replica_preserve_commit_order 全局
replica_skip_errors 全局
replica_sql_verify_checksum 全局
replica_transaction_retries 全局
replica_type_conversions 全局
replication_optimize_for_static_plugin_config 全局
replication_sender_observe_commit_only 全局
report_host 全局
report_password 全局
report_port 全局
report_user 全局
require_row_format 会话
require_secure_transport 全局
resultset_metadata 会话
重写器启用 全局
无需特权检查线程启用重写器 全局
重写器详细模式 全局
rpl_read_size 全局
rpl_semi_sync_master_enabled 全局
rpl_semi_sync_master_timeout 全局
rpl_semi_sync_master_trace_level 全局
rpl_semi_sync_master_wait_for_slave_count 全局
rpl_semi_sync_master_wait_no_slave 全局
rpl_semi_sync_master_wait_point 全局
rpl_semi_sync_replica_enabled 全局
rpl_semi_sync_replica_trace_level 全局
rpl_semi_sync_slave_enabled 全局
rpl_semi_sync_slave_trace_level 全局
rpl_semi_sync_source_enabled 全局
rpl_semi_sync_source_timeout 全局
rpl_semi_sync_source_trace_level 全局
rpl_semi_sync_source_wait_for_replica_count 全局
rpl_semi_sync_source_wait_no_replica 全局
rpl_semi_sync_source_wait_point 全局
rpl_stop_replica_timeout 全局
rpl_stop_slave_timeout 全局
schema_definition_cache 全局
secondary_engine_cost_threshold 会话
secure_file_priv 全局
select_into_buffer_size 两者
select_into_disk_sync 两者
select_into_disk_sync_delay 两者
server_id 全局
server_id_bits 全局
server_uuid 全局
session_track_gtids 两者
session_track_schema 两者
session_track_state_change 两者
session_track_system_variables 两者
session_track_transaction_info 两者
sha256_password_auto_generate_rsa_keys 全局
sha256_password_private_key_path 全局
sha256_password_proxy_users 全局
sha256_password_public_key_path 全局
shared_memory 全局
shared_memory_base_name 全局
show_create_table_skip_secondary_engine 会话
show_create_table_verbosity 两者
show_gipk_in_create_table_and_information_schema 两者
show_old_temporals 两者
skip_external_locking 全局
skip_name_resolve 全局
skip_networking 全局
skip_replica_start 全局
skip_show_database 全局
skip_slave_start 全局
slave_allow_batching 全局
slave_checkpoint_group 全局
slave_checkpoint_period 全局
slave_compressed_protocol 全局
slave_exec_mode 全局
slave_load_tmpdir 全局
slave_max_allowed_packet 全局
slave_net_timeout 全局
slave_parallel_type 全局
slave_parallel_workers 全局
slave_pending_jobs_size_max 全局
slave_preserve_commit_order 全局
slave_rows_search_algorithms 全局
slave_skip_errors 全局
slave_sql_verify_checksum 全局
slave_transaction_retries 全局
slave_type_conversions 全局
slow_launch_time 全局
slow_query_log 全局
slow_query_log_file 全局
socket 全局
sort_buffer_size 两者
source_verify_checksum 全���
sql_auto_is_null 两者
sql_big_selects 两者
sql_buffer_result 两者
sql_generate_invisible_primary_key 两者
sql_log_bin 会话
sql_log_off 两者
sql_mode 两者
sql_notes 两者
sql_quote_show_create 两者
sql_replica_skip_counter 全局
sql_require_primary_key 两者
sql_safe_updates 两者
sql_select_limit 两者
sql_slave_skip_counter 全局
sql_warnings 两者
ssl_ca 全局 不定
ssl_capath 全局 不同
ssl_cert 全局 不同
ssl_cipher 全局 不同
ssl_crl 全局 不同
ssl_crlpath 全局 不同
ssl_fips_mode 全局
ssl_key 全局 不同
ssl_session_cache_mode 全局
ssl_session_cache_timeout 全局
stored_program_cache 全局
stored_program_definition_cache 全局
super_read_only 全局
sync_binlog 全局
sync_master_info 全局
sync_relay_log 全局
sync_relay_log_info 全局
sync_source_info 全局
syseventlog.facility 全局
syseventlog.include_pid 全局
syseventlog.tag 全局
system_time_zone 全局
table_definition_cache 全局
table_encryption_privilege_check 全局
table_open_cache 全局
table_open_cache_instances 全局
tablespace_definition_cache 全局
temptable_max_mmap 全局
temptable_max_ram 全局
temptable_use_mmap 全局
terminology_use_previous 两者
thread_cache_size 全局
thread_handling 全局
thread_pool_algorithm 全局
thread_pool_dedicated_listeners 全局
thread_pool_high_priority_connection 两者
thread_pool_max_active_query_threads 全局
thread_pool_max_transactions_limit 全局
thread_pool_max_unused_threads 全局
thread_pool_prio_kickup_timer 全局
thread_pool_query_threads_per_group 全局
thread_pool_size 全局
thread_pool_stall_limit 全局
thread_pool_transaction_delay 全局
thread_stack 全局
time_zone 两者
timestamp 会话
tls_ciphersuites 全局
tls_version 全局 不定
tmp_table_size 两者
tmpdir 全局
transaction_alloc_block_size 两者
transaction_allow_batching 会话
transaction_isolation 两者
transaction_prealloc_size 两者
transaction_read_only 两者
transaction_write_set_extraction 两者
unique_checks 两者
updatable_views_with_limit 两者
use_secondary_engine 会话
validate_password_check_user_name 全局
validate_password_dictionary_file 全局
validate_password_length 全局
validate_password_mixed_case_count 全局
validate_password_number_count 全局
validate_password_policy 全局
validate_password_special_char_count 全局
validate_password_changed_characters_percentage 全局
validate_password_check_user_name 全局
validate_password.dictionary_file 全局
validate_password.length 全局
validate_password.mixed_case_count 全局
validate_password.number_count 全局
validate_password.policy 全局
validate_password.special_char_count 全局
version 全局
version_comment 全局
version_compile_machine 全局
version_compile_os 全局
version_compile_zlib 全局
version_tokens_session 两者
version_tokens_session_number 两者
wait_timeout 两者
warning_count 会话
windowing_use_high_precision 两者
xa_detach_on_prepare 两者
名称 命令行 选项文件 系统变量 变量范围 动态

注意:

1. 这个选项是动态的,但应该只由服务器设置。不应该手动设置这个变量。

posted @ 2024-06-23 00:40  绝不原创的飞龙  阅读(47)  评论(0)    收藏  举报