您可以在这里了解到截止到发表日MySQL 8.0所有已开放的参数信息。
参数说明内容来自MySQL官方社区。
参数名称 |
大版本 |
是否 动态参数 |
默认值 |
取值范围 |
小版本范围 |
中文描述 |
社区链接 |
automatic_sp_privileges |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
当这个变量具有值1(默认值)时,如果用户无法执行、更改或删除存储程序,则服务器会自动授予创建存储程序的用户EXECUTE和ALTER ROUTINE权限。 (删除程序需要ALTER ROUTINE权限。)当存储程序被删除时,服务器也会自动从创建者那里删除这些权限。如果automatic_sp_privileges为0,则服务器不会自动添加或删除这些权限。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_automatic_sp_privileges |
auto_increment_increment |
8.0 |
1 |
1 |
[1-65535] |
无限制 |
自动增量列的增量值。 |
|
auto_increment_offset |
8.0 |
1 |
1 |
[1-65535] |
无限制 |
当自动增量的步长(auto-increment-increment)不等于1时,应用于自动增量列的偏移值。 |
https://dev.mysql.com/doc/refman/8.0/en/replication-options-source.html#sysvar_auto_increment_offset |
avoid_temporal_upgrade |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
此变量控制ALTER TABLE是否隐式升级5.6.4之前格式的临时列(TIME、DATETIME和没有支持小数秒精度的TIMESTAMP列的时间列)。升级此类列需要重新生成表,这样会导致无法使用快速更改的方法来执行操作。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_avoid_temporal_upgrade |
back_log |
8.0 |
0 |
3000 |
[0-65535] |
无限制 |
MySQL可以拥有的未完成连接请求的数量。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_back_log |
binlog_cache_size |
8.0 |
1 |
2097152 |
[4096-16777216] |
无限制 |
用于更新二进制日志的事务引擎的事务缓存的大小。 |
https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_cache_size |
binlog_checksum |
8.0 |
0 |
CRC32 |
[CRC32|NONE] |
无限制 |
BINLOG_CHECKSUM_ALG的类型。在二进制日志中包括日志事件的校验和。可能的值为NONE和CRC32。默认值为CRC32。 |
https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_checksum |
binlog_group_commit_sync_delay |
8.0 |
1 |
0 |
[0-1000000] |
无限制 |
控制二进制日志提交在将二进制日志文件同步到磁盘之前等待的微秒数。 |
|
binlog_group_commit_sync_no_delay_count |
8.0 |
1 |
0 |
[0-100000] |
无限制 |
按照binlog_group_commit_sync_delay指定的当前延迟中等待的最大事务数量。如果binlog_group_commit_sync_delay设置为0,则此选项无效。 |
|
binlog_max_flush_queue_time |
8.0 |
1 |
0 |
[0-100000] |
无限制 |
binlog_max_flush_queue_time已被弃用,并标记为在将来的MySQL版本中最终删除。以前,该系统变量控制了从刷新队列中继续读取事务的时间(以微秒为单位),然后才执行组提交。它不再具有任何效果。 |
|
binlog_order_commits |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
当在master(默认值)上启用此变量时,事务以与写入二进制日志相同的顺序外部化。如果禁用,则可以并行提交事务。在某些情况下,禁用此变量可能会产生性能增加。 |
|
binlog_rows_query_log_events |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
binlog_rows_query_log_events系统变量仅影响基于行的日志记录。启用后,它会导致MySQL Server将信息日志事件(如行查询日志事件)写入其二进制日志。这些信息可用于调试和相关目的。例如,当无法从行更新中重建主查询时,可以获得在主查询上发布的原始查询。 |
|
binlog_row_image |
8.0 |
1 |
full |
[full|minimal] |
无限制 |
binlog是否保存所有列或实际需要的列在binlog镜像中。 |
https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_row_image |
binlog_stmt_cache_size |
8.0 |
1 |
32768 |
[4096-16777216] |
无限制 |
用于更新二进制日志的非事务引擎的语句缓存的大小。 |
|
binlog_transaction_dependency_history_size |
8.0 |
1 |
500000 |
[1-1000000] |
[20210930,99999999) |
保留在写入集历史中的最大行数。 |
|
binlog_transaction_dependency_tracking |
8.0 |
1 |
WRITESET |
[WRITESET|WRITESET_SESSION|COMMIT_ORDER] |
[20210930,99999999) |
要将binlog_transaction_dependency_tracking的值设置为WRITESET或WRITESET_SESSION,必须设置或默认设置transaction_write_set_extraction以指定算法(不能设置为OFF)。 |
|
block_encryption_mode |
8.0 |
1 |
"aes-128-ecb" |
["aes-128-ecb"|"aes-192-ecb"|"aes-256-ecb"|"aes-128-cbc"|"aes-192-cbc"|"aes-256-cbc"] |
无限制 |
此变量控制诸如AES之类的基于块的算法的块加密模式。它影响AES_ENCRYPT()和AES_DECRYPT()的加密。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_block_encryption_mode |
bulk_insert_buffer_size |
8.0 |
1 |
4194304 |
[0-4294967295] |
无限制 |
MyISAM使用特殊的树形缓存,以使对非空表进行数据添加时,对于INSERT... SELECT、INSERT... VALUES (...), (...), ...和LOAD DATA INFILE等大批量插入更快。该变量限制每个线程的缓存树的大小(以字节为单位)。将其设置为0会禁用此优化。默认值为8MB。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_bulk_insert_buffer_size |
character_set_filesystem |
8.0 |
1 |
binary |
[utf8|latin1|gbk|binary] |
无限制 |
文件系统字符集。此变量用于解释引用文件名的字符串文字,例如LOAD DATA INFILE和SELECT...INTO OUTFILE语句以及LOAD_FILE()函数。在尝试打开文件之前,这些文件名会从character_set_client转换为character_set_filesystem。默认值为二进制,这意味着不会发生转换。对于允许使用多字节文件名的系统,不同的值可能更合适。例如,如果系统使用UTF-8表示文件名,请将character_set_filesystem设置为“utf8”。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_character_set_filesystem |
character_set_server |
8.0 |
1 |
utf8 |
[utf8|latin1|gbk|gb18030|utf8mb4] |
无限制 |
服务器的默认字符集。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_character_set_server |
completion_type |
8.0 |
1 |
NO_CHAIN |
[NO_CHAIN|CHAIN|RELEASE|0|1|2] |
无限制 |
事务完成类型。变量可以使用名称值或相应的整数值进行赋值。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_completion_type |
concurrent_insert |
8.0 |
1 |
1 |
[0|1|2] |
无限制 |
0:禁用并发插入。 1:(默认)为没有空洞的MyISAM表启用并发插入。 2:为所有MyISAM表启用并发插入,即使它们有空洞。对于有空洞的表,如果该表正在被另一个线程使用,则新行将插入到该表的末尾。否则,MySQL会获取普通的写锁,并将行插入到空洞中。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_concurrent_insert |
connect_timeout |
8.0 |
1 |
10 |
[1-3600] |
无限制 |
mysqld服务器在响应Bad handshake之前等待连接数据包的秒数。默认值为MySQL 5.1.23和之前版本为5秒,之后为10秒。如果客户端经常遇到“Lost connection to MySQL server at 'XXX',system error: errno”等错误,则增加connect_timeout值可能会有所帮助。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_connect_timeout |
cte_max_recursion_depth |
8.0 |
1 |
1000 |
[0-4294967295] |
无限制 |
公共表达式(CTE)的最大递归深度。如果任何CTE的递归层数超过该变量的值,服务器将终止执行。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_cte_max_recursion_depth |
default_authentication_plugin |
8.0 |
0 |
mysql_native_password |
[mysql_native_password|sha256_password|caching_sha2_password] |
无限制 |
默认的身份验证插件。 |
|
default_storage_engine |
8.0 |
0 |
InnoDB |
[InnoDB|innodb] |
无限制 |
新表的默认存储引擎。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_storage_engine |
default_time_zone |
8.0 |
0 |
SYSTEM |
[SYSTEM|-12:00|-11:00|-10:00|-9:00|-8:00|-7:00|-6:00|-5:00|-4:00|-3:00|-2:00|-1:00|\+0:00|\+1:00|\+2:00|\+3:00|\+4:00|\+5:00|\+5:30|\+5:45|\+6:00|\+6:30|\+7:00|\+8:00|\+9:00|\+10:00|\+11:00|\+12:00|\+13:00] |
无限制 |
数据库的默认时区。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
default_week_format |
8.0 |
1 |
0 |
[0-7] |
无限制 |
用于WEEK()函数的默认模式值。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_week_format |
delayed_insert_limit |
8.0 |
1 |
100 |
[1-4294967295] |
无限制 |
在插入delayed_insert_limit个延迟行之后,INSERT DELAYED处理程序线程会检查是否有任何挂起的SELECT语句。如果有,则允许它们在继续插入延迟行之前执行。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_delayed_insert_limit |
delayed_insert_timeout |
8.0 |
1 |
300 |
[1-3600] |
无限制 |
一个INSERT DELAYED处理程序线程在终止之前应该等待多少秒的INSERT语句。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_delayed_insert_timeout |
delayed_queue_size |
8.0 |
1 |
1000 |
[1-4294967295] |
无限制 |
这是处理INSERT DELAYED语句时在每个表上排队的行数限制。如果队列变满,发出INSERT DELAYED语句的任何客户端都必须等待,直到队列再次有空间为止。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_delayed_queue_size |
delay_key_write |
8.0 |
1 |
ON |
[ON|OFF|ALL] |
无限制 |
此选项仅适用于MyISAM表。它可以有以下一个值来影响处理在CREATE TABLE语句中可以使用的DELAY_KEY_WRITE表选项的方式。 OFF:忽略DELAY_KEY_WRITE。 ON:MySQL支持CREATE TABLE语句中指定的任何DELAY_KEY_WRITE选项。这是默认值。 ALL:所有新打开的表都被视为是在启用DELAY_KEY_WRITE选项的情况下创建的。
重要
如果将此变量设置为ALL,则在使用其他程序(如其他MySQL服务器或myisamchk)中的MyISAM表时,不应使用这些表。这样做会导致索引损坏。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_delay_key_write |
disconnect_on_expired_password |
8.0 |
0 |
ON |
[ON|OFF] |
无限制 |
该变量控制服务器如何处理具有过期密码的客户端。 |
|
div_precision_increment |
8.0 |
1 |
4 |
[0-30] |
无限制 |
该变量指示通过/运算符执行的除法操作结果的小数位数应增加多少位。默认值为4。最小值和最大值分别为0和30。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_div_precision_increment |
end_markers_in_json |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
优化器JSON输出是否应添加结束标记。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_end_markers_in_json |
eq_range_index_dive_limit |
8.0 |
1 |
100 |
[0-4294967295] |
无限制 |
如果索引的等值范围数量大于或等于此数字,则优化器将使用现有的索引统计信息而不是进行索引深入。如果设置为0,则始终使用索引深入。 |
|
event_scheduler |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
启用事件调度程序。可能的值为ON、OFF和DISABLED(将事件调度程序完全停用,无法在运行时激活)。
说明
高可用系列 实例不支持修改此参数。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_event_scheduler |
explicit_defaults_for_timestamp |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
TIMESTAMP列的默认值是否为当前时间戳。 |
|
flush_time |
8.0 |
1 |
0 |
[0-31536000] |
无限制 |
如果设置为非零值,则每flush_time秒关闭所有表,以释放资源并将未刷新的数据同步到磁盘。此选项最好仅用于资源最少的系统。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_flush_time |
ft_max_word_len |
8.0 |
0 |
84 |
[10-4294967295] |
无限制 |
MyISAM FULLTEXT索引中要包含的单词的最大长度。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_ft_max_word_len |
ft_min_word_len |
8.0 |
0 |
4 |
[1-3600] |
无限制 |
FULLTEXT索引中要包含的单词的最小长度。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_ft_min_word_len |
ft_query_expansion_limit |
8.0 |
0 |
20 |
[0-1000] |
无限制 |
使用WITH QUERY EXPANSION执行全文搜索时要使用的前N个匹配项的数量。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_ft_query_expansion_limit |
general_log |
8.0 |
0 |
OFF |
[ON|OFF] |
无限制 |
通用查询日志是否启用。日志输出的目标由log_output系统变量控制。 RDS MySQL基础版实例不支持开启该功能。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_general_log |
group_concat_max_len |
8.0 |
1 |
1024 |
[4-1844674407370954752] |
无限制 |
GROUP_CONCAT()函数允许的最大结果长度(以字节为单位)。默认值为1024字节。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_group_concat_max_len |
histogram_generation_max_mem_size |
8.0 |
1 |
20000000 |
[1000000-18446744073709551615] |
无限制 |
用于生成直方图统计信息的最大内存量。 |
|
host_cache_size |
8.0 |
1 |
644 |
[0-65535] |
无限制 |
内部主机缓存的大小。将大小设置为0将禁用主机缓存。在运行时更改缓存大小会隐式地导致FLUSH HOSTS操作来清除主机缓存并截断host_cache表。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_host_cache_size |
init_connect |
8.0 |
1 |
'' |
[''|'set names utf8mb4'|'set names utf8'|'set default_collation_for_utf8mb4=utf8mb4_general_ci'|'set default_collation_for_utf8mb4=utf8mb4_general_ci;set names utf8mb4'|'set names utf8mb4 collate utf8mb4_general_ci'|'set names utf8mb4 COLLATE utf8mb4_bin'] |
无限制 |
每个新连接执行的命令。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_init_connect |
innodb_adaptive_flushing |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
确定是否根据工作负载动态调整InnoDB缓冲池中脏页刷新的频率。动态调整刷新频率的目的是避免I/O活动的突发情况。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_adaptive_flushing |
innodb_adaptive_flushing_lwm |
8.0 |
1 |
10 |
[0-70] |
无限制 |
定义低水位标记,表示重做日志容量的百分比,达到该标记时启用自适应刷新。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_adaptive_flushing_lwm |
innodb_adaptive_hash_index |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
innodb_adaptive_hash_index是InnoDB存储引擎的一个参数,用于启用或禁用自适应哈希索引。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_adaptive_hash_index |
innodb_adaptive_max_sleep_delay |
8.0 |
1 |
150000 |
[1-1000000] |
无限制 |
innodb_thread_sleep_delay控制InnoDB线程在没有等待事件时的休眠时间,该参数允许InnoDB根据当前的工作负载自动调整innodb_thread_sleep_delay的值,使其适应不同负载情况。只要该值不为0,就会启用innodb_thread_sleep_delay值的自动动态调整,最大值由innodb_adaptive_max_sleep_delay选项指定。该值表示微秒数。在繁忙的系统中,特别是InnoDB线程数大于16的系统中,这个选项可能会非常有用。 实际上,在拥有数百或数千个并发连接的MySQL系统中,这个选项是最有价值的。 |
|
innodb_autoextend_increment |
8.0 |
1 |
64 |
[1-1000] |
无限制 |
当自动扩展的InnoDB系统表空间文件满时,增加其大小的增量大小(以兆字节为单位)。默认值为64。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_autoextend_increment |
innodb_autoinc_lock_mode |
8.0 |
0 |
2 |
[0|1|2] |
无限制 |
用于生成自动增量值的锁定模式。允许值分别为: 0:traditional 1:consecutive 2:interleaved |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_autoinc_lock_mode |
innodb_buffer_pool_dump_at_shutdown |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
指定是否在MySQL服务器关闭时记录InnoDB缓冲池中缓存的页面,以缩短下次重启时的预热过程。通常与innodb_buffer_pool_load_at_startup配合使用。innodb_buffer_pool_dump_pct选项定义需要转储的最近使用的缓冲池页面的百分比。 |
|
innodb_buffer_pool_dump_pct |
8.0 |
1 |
25 |
[1-100] |
无限制 |
指定每个缓冲池需要读取和转储的最近使用页面的百分比。取值范围为1到100。默认值为25。例如,如果有4个缓冲池,每个缓冲池有100个页面,并且innodb_buffer_pool_dump_pct设置为25,则将从每个缓冲池中转储最近使用的25个页面。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_buffer_pool_dump_pct |
innodb_buffer_pool_instances |
8.0 |
0 |
8 |
[1-64] |
无限制 |
InnoDB缓冲池被划分为的区域数。对于具有多GB级缓存池的系统,将缓存池划分为单独的实例可以提高并发性,通过减少不同线程读写缓存页面时的争用。每个存储在或从缓存池中读取的页面随机分配到缓存池实例之一,使用哈希函数进行分配。每个缓存池管理其自己的空闲列表、刷新列表、LRUs和所有与缓存池连接的其他数据结构,并由其自己的缓存池互斥量进行保护。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_buffer_pool_instances |
innodb_buffer_pool_load_at_startup |
8.0 |
0 |
ON |
[ON|OFF] |
无限制 |
指定在MySQL服务器启动时,通过加载之前保存在InnoDB缓冲池中的相同页面来自动预热缓冲池。通常与innodb_buffer_pool_dump_at_shutdown一起使用。 |
|
innodb_buffer_pool_size |
8.0 |
1 |
{DBInstanceClassMemory*3/4} |
[134217728-18446744073709551615] |
无限制 |
缓冲池的大小(以字节为单位),即InnoDB缓存表和索引数据的内存区域。只能通过表达式设置,不支持设置具体的数值。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_buffer_pool_size |
innodb_change_buffering |
8.0 |
1 |
all |
[none|inserts|deletes|changes|purges|all] |
无限制 |
InnoDB是否执行更改缓冲,这是一种优化,它延迟对辅助索引的写操作,以便可以顺序执行I/O操作。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_change_buffering |
innodb_change_buffer_max_size |
8.0 |
1 |
25 |
[0-50] |
无限制 |
InnoDB更改缓冲区的最大大小,作为缓冲池总大小的百分比。您可能需要增加此值,以适应具有大量插入、更新和删除活动的MySQL服务器,或降低此值以适应用于报告的不变数据的MySQL服务器。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_change_buffer_max_size |
innodb_checksum_algorithm |
8.0 |
1 |
crc32 |
[innodb|crc32|none|strict_innodb|strict_crc32|strict_none] |
无限制 |
指定如何生成和验证存储在InnoDB表空间的磁盘块中的校验和。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_checksum_algorithm |
innodb_cmp_per_index_enabled |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
在INFORMATION_SCHEMA.INNODB_CMP_PER_INDEX表中启用每个索引的压缩相关统计信息。由于这些统计信息的收集可能很昂贵,因此仅在与InnoDB压缩表相关的性能调整期间,仅在开发、测试或从属实例上启用此选项。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_cmp_per_index_enabled |
innodb_commit_concurrency |
8.0 |
0 |
0 |
[0-1000] |
无限制 |
可以同时提交的线程数。值为0(默认值)允许任意数量的事务同时提交。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_commit_concurrency |
innodb_compression_failure_threshold_pct |
8.0 |
1 |
5 |
[0-100] |
无限制 |
定义表的压缩失败率阈值,以百分比表示,此时MySQL开始在压缩页面中添加填充,以避免昂贵的压缩失败。当超过此阈值时,MySQL开始在每个新的压缩页面中留下额外的空闲空间,动态调整空闲空间的数量,最多调整到innodb_compression_pad_pct_max指定的页面大小的百分比。值为零将禁用监视压缩效率并动态调整填充量的机制。 |
|
innodb_compression_level |
8.0 |
1 |
6 |
[0-9] |
无限制 |
指定用于InnoDB压缩表和索引的zlib压缩级别。较高的值可以让您将更多的数据放入存储设备中,但在压缩过程中会带来更多的CPU开销。较低的值可以在存储空间不关键或您期望数据不是特别可压缩时减少CPU开销。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_compression_level |
innodb_compression_pad_pct_max |
8.0 |
1 |
50 |
[0-70] |
无限制 |
指定可以作为每个压缩页面内预留的最大百分比的空闲空间,以便在更新压缩表或索引并且数据可能需要重新压缩时,为数据和修改日志在页面内重新组织提供空间。仅适用于innodb_compression_failure_threshold_pct设置为非零值并且压缩失败率超过截止点时。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_compression_pad_pct_max |
innodb_concurrency_tickets |
8.0 |
1 |
5000 |
[1-4294967295] |
无限制 |
确定可以同时进入InnoDB的线程数。如果线程数量已经达到并发限制,那么当线程试图进入InnoDB时,它会被放入队列中。当一个线程被允许进入InnoDB时,它会得到一个等于innodb_concurrency_tickets值的“tickets”数量,线程可以自由进出InnoDB,直到它用完它的tickets为止。在那之后,线程在下次尝试进入InnoDB时再次受到并发检查(以及可能的排队)。默认值为5000。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_concurrency_tickets |
innodb_data_file_purge |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
是否启用异步文件删除机制。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
innodb_data_file_purge_interval |
8.0 |
1 |
100 |
[0-10000] |
无限制 |
清除文件的间隔时间,以毫秒为单位。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
innodb_data_file_purge_max_size |
8.0 |
1 |
128 |
[16-1073741824] |
无限制 |
每个清除文件的最大数量,单位为MB。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
innodb_deadlock_detect |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
该选项用于禁用死锁检测。在高并发系统中,当大量线程等待同一锁时,死锁检测可能会导致减速。有时,禁用死锁检测并依靠innodb_lock_wait_timeout设置进行事务回滚可能更有效。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_deadlock_detect |
innodb_default_row_format |
8.0 |
1 |
DYNAMIC |
[REDUNDANT|COMPACT|DYNAMIC] |
无限制 |
innodb_default_row_format选项用于定义InnoDB表和用户创建的临时表的默认行格式。默认设置为DYNAMIC。其他允许的值有COMPACT和REDUNDANT。不能将COMPRESSED行格式定义为默认格式,因为它不支持在系统表空间中使用。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_default_row_format |
innodb_disable_sort_file_cache |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
如果启用,则在InnoDB使用排序文件时禁用页缓存。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_disable_sort_file_cache |
innodb_fill_factor |
8.0 |
1 |
100 |
[10-100] |
无限制 |
在创建或重建索引时,InnoDB执行批量加载。这种索引创建方法称为“排序索引构建”。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_fill_factor |
innodb_flush_log_at_trx_commit |
8.0 |
1 |
1 |
[0|1|2] |
无限制 |
取值如下: 0:每秒写入和刷新一次 1:每次提交时写入和刷新 2:提交时写入,每秒刷新一次 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
innodb_flush_method |
8.0 |
0 |
O_DIRECT |
[fsync|O_DSYNC|littlesync|nosync|O_DIRECT|O_DIRECT_NO_FSYNC] |
无限制 |
定义用于将数据刷新到InnoDB数据文件和日志文件的方法,这可能会影响I/O吞吐量。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_flush_method |
innodb_flush_neighbors |
8.0 |
1 |
0 |
[0|1|2] |
无限制 |
指定是否将从InnoDB缓冲池中刷新页面也刷新同一扩展中的其他脏页。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_flush_neighbors |
innodb_flush_sync |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
innodb_flush_sync参数默认启用,会导致在检查点发生I/O活动突发时忽略innodb_io_capacity设置。为了遵守由innodb_io_capacity设置定义的InnoDB背景I/O活动限制,请禁用innodb_flush_sync。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_flush_sync |
innodb_ft_cache_size |
8.0 |
0 |
8000000 |
[1600000-80000000] |
无限制 |
为InnoDB FULLTEXT搜索索引缓存分配的内存,以字节为单位,在创建InnoDB FULLTEXT索引时在内存中保存解析的文档。只有当达到innodb_ft_cache_size大小限制时,索引插入和更新才会提交到磁盘。innodb_ft_cache_size在每个表的基础上定义缓存大小。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_ft_cache_size |
innodb_ft_enable_diag_print |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
是否启用额外的全文搜索(FTS)诊断输出。此选项主要用于高级FTS调试,对大多数用户不感兴趣。输出打印到错误日志中,包括信息。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_ft_enable_diag_print |
innodb_ft_enable_stopword |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
在创建InnoDB FULLTEXT索引时,指定一组停用词与之关联。如果设置了innodb_ft_user_stopword_table选项,则从该表中获取停用词。否则,如果设置了innodb_ft_server_stopword_table选项,则从该表中获取停用词。否则,使用内置的默认停用词集。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_ft_enable_stopword |
innodb_ft_max_token_size |
8.0 |
0 |
84 |
[10-84] |
无限制 |
存储在InnoDB FULLTEXT索引中的单词的最大长度。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_ft_max_token_size |
innodb_ft_min_token_size |
8.0 |
0 |
3 |
[0-16] |
无限制 |
存储在InnoDB FULLTEXT索引中的单词的最小长度。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_ft_min_token_size |
innodb_ft_num_word_optimize |
8.0 |
1 |
2000 |
[0-10000] |
无限制 |
在对InnoDB FULLTEXT索引进行每个OPTIMIZE TABLE操作时要处理的单词数。因为对包含全文搜索索引的表的大容量插入或更新操作可能需要进行大量索引维护以合并所有更改,所以您可能会执行一系列OPTIMIZE TABLE语句,每个语句在上一个语句结束的地方继续执行。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_ft_num_word_optimize |
innodb_ft_result_cache_limit |
8.0 |
1 |
2000000000 |
[1000000-4294967295] |
无限制 |
InnoDB全文搜索查询结果缓存限制(以字节为单位),每个全文搜索查询或每个线程限制。中间和最终的InnoDB全文搜索查询结果在内存中处理。使用innodb_ft_result_cache_limit在全文搜索查询结果缓存上设置大小限制,以避免在出现非常大的InnoDB全文搜索查询结果(例如数百万或数亿行)时过度消耗内存。处理全文搜索查询时会根据需要分配内存。如果达到结果缓存大小限制,将返回错误,指示查询超过了允许的最大内存。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_ft_result_cache_limit |
innodb_ft_sort_pll_degree |
8.0 |
0 |
2 |
[1-16] |
无限制 |
在构建搜索索引时用于并行索引和标记InnoDB FULLTEXT索引中文本的线程数。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_ft_sort_pll_degree |
innodb_ft_total_cache_size |
8.0 |
0 |
640000000 |
[32000000-1600000000] |
无限制 |
为所有表的InnoDB全文搜索索引缓存分配的总内存,以字节为单位。创建多个具有FULLTEXT搜索索引的表可能会消耗可用内存的相当一部分。innodb_ft_total_cache_size为所有全文搜索索引定义了全局内存限制,以帮助避免过度的内存消耗。如果索引操作达到全局限制,则会触发强制同步。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_ft_total_cache_size |
innodb_io_capacity |
8.0 |
1 |
20000 |
[0-18446744073709551615] |
无限制 |
innodb_io_capacity参数设置InnoDB后台任务每秒执行的I/O操作次数上限,例如从缓冲池刷新页面和从更改缓冲区合并数据。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_io_capacity |
innodb_io_capacity_max |
8.0 |
1 |
40000 |
[0-18446744073709551615] |
无限制 |
如果刷新活动落后,InnoDB可以比innodb_io_capacity强制执行更高速的刷新。在这种情况下,innodb_io_capacity_max定义了InnoDB后台任务每秒执行的I/O操作次数的上限。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_io_capacity_max |
innodb_lock_wait_timeout |
8.0 |
1 |
50 |
[1-1073741824] |
无限制 |
InnoDB事务在放弃之前等待行锁的超时时间,以秒为单位。默认值为50秒。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_lock_wait_timeout |
innodb_log_buffer_size |
8.0 |
1 |
16777216 |
[1048576-4294967295] |
无限制 |
InnoDB用于写入磁盘上的日志文件的缓冲区大小(以字节为单位)。默认值为16MB。较大的日志缓冲区可以使大型事务在提交之前无需将日志写入磁盘运行。因此,如果有更新、插入或删除多行的事务,增加日志缓冲区的大小可以节省磁盘I/O。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_log_buffer_size |
innodb_log_checksums |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
启用或禁用重做日志页的校验和。innodb_log_checksums替换innodb_log_checksum_algorithm。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_log_checksums |
innodb_log_compressed_pages |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
指定是否将重新压缩页面的图像写入重做日志。当对压缩数据进行更改时,可能会发生重新压缩。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_log_compressed_pages |
innodb_log_file_size |
8.0 |
0 |
1500M |
[4194304-107374182400] |
无限制 |
定义日志组中每个日志文件的大小(以字节为单位)。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_log_file_size |
innodb_log_spin_cpu_abs_lwm |
8.0 |
1 |
80 |
[0-4294967295] |
无限制 |
定义了当刷新重做时,用户线程不再自旋等待的最小CPU使用量。该值表示CPU核心使用量的总和。例如,默认值80表示单个CPU核心的80%。在具有多核处理器的系统上,值150表示一个CPU核心的100%使用量加上第二个CPU核心50%的使用量。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_log_spin_cpu_abs_lwm |
innodb_log_spin_cpu_pct_hwm |
8.0 |
1 |
50 |
[0-100] |
无限制 |
定义了当刷新重做时,用户线程不再自旋等待的最大CPU使用量。该值表示所有CPU核心组合的处理能力的百分比。默认值为50%。例如,在具有四个CPU核心的服务器上,两个CPU核心的100%使用量是所有CPU处理能力的50%。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_log_spin_cpu_pct_hwm |
innodb_log_wait_for_flush_spin_hwm |
8.0 |
1 |
400 |
[0-18446744073709551615] |
无限制 |
定义了超过最大平均日志刷新时间时,用户线程不再自旋等待刷新重做。默认值为400微秒。 |
|
innodb_lru_scan_depth |
8.0 |
1 |
{LEAST(DBInstanceClassMemory/1048576/8, 8192)} |
[100-18446744073709551615] |
无限制 |
一个影响InnoDB缓冲池刷新操作算法和启发式算法的参数。主要用于调优I/O密集型工作负载的性能专家。它指定每个缓冲池实例,页面清理器线程在缓冲池LRU页面列表中扫描多远以查找要刷新的脏页。这是一个每秒执行一次的后台操作。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_lru_scan_depth |
innodb_max_dirty_pages_pct |
8.0 |
1 |
75 |
[0-99] |
无限制 |
这是一个整数,范围从0到100。内置InnoDB的默认值为90,InnoDB插件的默认值为75。InnoDB中的主线程尝试从缓冲池中写入页面,以使脏(尚未写入)页面的百分比不超过此值。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_max_dirty_pages_pct |
innodb_max_dirty_pages_pct_lwm |
8.0 |
1 |
10 |
[0-99] |
无限制 |
定义一个低水位标记,表示脏页百分比,该百分比上开始启用预刷操作来控制脏页比率。默认值为0,完全禁用预刷行为。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_max_dirty_pages_pct_lwm |
innodb_max_purge_lag |
8.0 |
1 |
0 |
[0-4294967295] |
无限制 |
定义清理队列的最大长度。默认值0表示没有限制(没有延迟)。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_max_purge_lag |
innodb_max_purge_lag_delay |
8.0 |
1 |
0 |
[0-10000000] |
无限制 |
指定由innodb_max_purge_lag配置选项施加的延迟的最大延迟时间(以微秒为单位)。非零值表示对延迟周期施加基于innodb_max_purge_lag值的公式的上限。默认值为零表示没有对延迟间隔施加上限。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_max_purge_lag_delay |
innodb_max_undo_log_size |
8.0 |
1 |
1073741824 |
[10485760-18446744073709551615] |
无限制 |
定义了撤消表空间的阈值大小。如果撤消表空间超过阈值,则在启用innodb_undo_log_truncate时可以将其标记为截断。默认值为1073741824字节(1024 MiB)。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_max_undo_log_size |
innodb_monitor_disable |
8.0 |
1 |
|
all |
无限制 |
禁用InnoDB度量计数器。可以使用INFORMATION_SCHEMA.INNODB_METRICS表查询计数器数据。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_monitor_disable |
innodb_monitor_enable |
8.0 |
1 |
|
all |
无限制 |
启用InnoDB监视器输出。启用后,InnoDB会生成详细的运行时信息,可用于性能分析和故障排除。可以使用SHOW ENGINE INNODB STATUS命令查看输出。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_monitor_enable |
innodb_monitor_reset |
8.0 |
1 |
|
[counter|module|pattern|all] |
无限制 |
此变量作为开关,将InnoDB度量计数器的计数值重置为零。可以使用信息模式INNODB_METRICS表查询计数器数据。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_monitor_reset |
innodb_monitor_reset_all |
8.0 |
1 |
|
[counter|module|pattern|all] |
无限制 |
此变量作为开关,重置InnoDB度量计数器的所有值(最小值、最大值等)。可以使用信息模式INNODB_METRICS表查询计数器数据。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_monitor_reset_all |
innodb_old_blocks_pct |
8.0 |
1 |
37 |
[5-95] |
无限制 |
(仅适用于InnoDB插件)指定用于旧块子列表的InnoDB缓冲池的近似百分比。值的范围为5到95。默认值为37(即池的3/8)。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_old_blocks_pct |
innodb_old_blocks_time |
8.0 |
1 |
1000 |
[0-1024] |
无限制 |
(仅适用于InnoDB插件)指定插入到旧子列表中的块在首次访问后必须在那里停留的时间(以毫秒为单位),然后才能移动到新子列表。默认值为0:插入到旧子列表中的块在首次访问时立即移动到新子列表中,无论插入后多久访问发生。如果该值大于0,则块保留在旧子列表中,直到首次访问至少在第一次访问之后的这么多毫秒后发生。 单位:毫秒。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_old_blocks_time |
innodb_online_alter_log_max_size |
8.0 |
1 |
134217728 |
[134217728-2147483647] |
无限制 |
在线索引创建的最大修改日志文件大小。 |
|
innodb_open_files |
8.0 |
0 |
{LEAST(DBInstanceClassCPU*500, 8000)} |
[10-2147483647] |
无限制 |
此变量仅在使用多个InnoDB表空间时才相关。它指定MySQL一次可以保持打开的最大.ibd文件数量。最小值为10。默认值为300。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_open_files |
innodb_optimize_fulltext_only |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
更改OPTIMIZE TABLE在InnoDB表上操作的方式,以便在具有FULLTEXT索引的InnoDB表的维护操作期间临时启用。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_optimize_fulltext_only |
innodb_page_cleaners |
8.0 |
0 |
8 |
[1-64] |
无限制 |
从缓冲池实例中清除脏页的页面清理线程数。页面清洁器线程执行刷新列表和LRU刷新。MySQL 5.6中引入了一个单页清理线程,用于从InnoDB主线程卸载缓冲池刷新工作。在MySQL 5.7中,InnoDB提供了对多个页面清理线程的支持。值1保持MySQL 5.7之前的配置,其中有一个页面清理线程。当存在多个页面清理线程时,每个缓冲池实例的缓冲池刷新任务都会分派给空闲的页面清理线程。在MySQL 5.7中,innodb_page_cleaners的默认值从1更改为4。如果页面清理器线程的数量超过缓冲池实例的数量,则额外的线程将处于空闲状态,并且不会消耗CPU资源。innodb_page_cleaners变量是动态的,可以在线更改。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_page_cleaners |
innodb_print_all_deadlocks |
8.0 |
1 |
OFF |
[OFF|ON] |
无限制 |
将所有死锁信息打印到MySQL错误日志中(默认情况下关闭)。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_print_all_deadlocks |
innodb_print_ddl_logs |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
启用此选项将导致MySQL将DDL日志写入stderr。详细信息请参见查看DDL日志。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_print_ddl_logs |
innodb_purge_batch_size |
8.0 |
1 |
300 |
[1-5000] |
无限制 |
表示触发清除操作(将更改的缓冲池块刷新到磁盘)的更改粒度,以重做日志记录为单位。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_purge_batch_size |
innodb_purge_rseg_truncate_frequency |
8.0 |
1 |
128 |
[1-128] |
无限制 |
将清除系统释放回滚段的频率定义为调用purge的次数。在回滚段被释放之前,无法截断undo表空间。通常,清除系统每调用128次清除操作时就会释放回滚段。默认值为128。减小此值会增加清除线程释放回滚段的频率。 |
|
innodb_purge_threads |
8.0 |
0 |
{LEAST(DBInstanceClassMemory/1073741824, 8)} |
[1-32] |
无限制 |
专门用于InnoDB清除操作的后台线程数。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_purge_threads |
innodb_random_read_ahead |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
启用随机预读技术以优化InnoDB I/O。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_random_read_ahead |
innodb_read_ahead_threshold |
8.0 |
1 |
56 |
[0-1024] |
无限制 |
(仅适用于InnoDB插件)控制InnoDB用于预读页面到缓冲池中的线性预读的灵敏度。如果InnoDB从一个范围(64页)中按顺序读取了至少innodb_read_ahead_threshold页,则会启动整个后续范围的异步读取。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_read_ahead_threshold |
innodb_read_io_threads |
8.0 |
0 |
4 |
[1-64] |
无限制 |
(仅适用于InnoDB插件)InnoDB读取操作的I/O线程数。默认值为4。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_read_io_threads |
innodb_rollback_on_timeout |
8.0 |
0 |
OFF |
[OFF|ON] |
无限制 |
默认情况下,InnoDB仅回滚事务超时的最后一条语句。如果指定了--innodb_rollback_on_timeout,则事务超时会导致InnoDB中止并回滚整个事务(与MySQL 4.1中的行为相同)。此变量是在MySQL 5.1.15中添加的。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_rollback_on_timeout |
innodb_rollback_segments |
8.0 |
1 |
128 |
[1-128] |
无限制 |
定义InnoDB使用的回滚段数。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_rollback_segments |
innodb_segment_reserve_factor |
8.0 |
2 |
12.5 |
[0.03-40] |
[20220830,99999999] |
定义了作为空白页保留的表空间文件段页的百分比。该设置适用于每个表的文件和常规表空间。innodb_segment_reserve_factor的默认设置为12.5%,与先前MySQL版本中保留的页的百分比相同。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_segment_reserve_factor |
innodb_sort_buffer_size |
8.0 |
0 |
1048576 |
[65536-67108864] |
无限制 |
指定在创建InnoDB索引期间用于排序数据的排序缓冲区的大小。指定的大小定义了读入内存进行内部排序并写出到磁盘的数据量。这个过程称为“运行”。在合并阶段,会读取指定大小的一对缓冲区并进行合并。设置越大,运行和合并就越少。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_sort_buffer_size |
innodb_spin_wait_delay |
8.0 |
1 |
6 |
[0-4294967295] |
无限制 |
自旋锁轮询的最大延迟。该机制的底层实现因硬件和操作系统的组合而异,因此延迟不对应于固定的时间间隔。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_spin_wait_delay |
innodb_stats_auto_recalc |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
使InnoDB在表中的数据发生重大更改后自动重新计算持久性统计信息。阈值为表中行数的10%。此设置适用于在启用innodb_stats_persistent选项时创建的表。还可以通过在CREATE TABLE或ALTER TABLE语句中指定STATS_PERSISTENT = 1来配置自动统计重计算。生成统计数据的采样数据量由innodb_stats_persistent_sample_pages配置选项控制。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_stats_auto_recalc |
innodb_stats_include_delete_marked |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
默认情况下,在计算统计信息时,InnoDB读取未提交的数据。在未提交的事务中,如果从表中删除行,InnoDB在计算行估计和索引统计信息时会排除标记为删除的记录,这可能导致使用READ UNCOMMITTED以外的事务隔离级别并发操作表的其他事务出现非最佳执行计划。为了避免这种情况,可以启用innodb_stats_include_delete_marked来确保在计算持久性优化器统计信息时,InnoDB包括标记为删除的记录。 |
|
innodb_stats_method |
8.0 |
1 |
nulls_equal |
[nulls_equal|nulls_unequal|nulls_ignored] |
无限制 |
在收集关于InnoDB表的索引值分布统计信息时,服务器如何处理NULL值。该变量有三个可能的值:nulls_equal,nulls_unequal和nulls_ignored。对于nulls_equal,所有NULL索引值都被视为相等,并形成一个大小等于NULL值数量的单个值组。对于nulls_unequal,将NULL值视为不相等,并且每个NULL形成一个大小为1的不同值组。对于nulls_ignored,将忽略NULL值。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_stats_method |
innodb_stats_on_metadata |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
此选项仅适用于优化器统计信息配置为非持久性的情况。当innodb_stats_persistent被禁用或在stats_persistent=0的情况下创建或更改单个表时,优化器统计信息不会持久化到磁盘。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_stats_on_metadata |
innodb_stats_persistent |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
指定是否将InnoDB索引统计信息持久保存到磁盘。否则,统计信息可能会经常重新计算,这可能会导致查询执行计划的变化。此设置在创建表时与每个表一起存储。您可以在创建表之前在全局级别设置innodb_stats_persistent,或者使用CREATE TABLE和ALTER TABLE语句的STATS_PERSISTENT子句来覆盖系统范围内的设置,并为单个表配置持久性统计信息。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_stats_persistent |
innodb_stats_persistent_sample_pages |
8.0 |
1 |
20 |
[0-4294967295] |
无限制 |
在估算索引列的基数和其他统计信息(例如由ANALYZE TABLE计算的信息)时,要采样的索引页数。增加该值可以提高索引统计信息的准确性,从而可以提高查询执行计划,但会增加执行InnoDB表的ANALYZE TABLE期间的I/O负载。 |
|
innodb_stats_transient_sample_pages |
8.0 |
1 |
8 |
[1-4294967295] |
无限制 |
在估算索引列的基数和其他统计信息(例如由ANALYZE TABLE计算的信息)时,要采样的索引页数。默认值为8。增加该值可以提高索引统计信息的准确性,从而可以提高查询执行计划,但会增加打开InnoDB表或重新计算统计信息时的I/O负载。 |
|
innodb_status_output |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
启用或禁用标准InnoDB监视器的定期输出。也与innodb_status_output_locks结合使用,以启用或禁用InnoDB锁监视器的定期输出。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_status_output |
innodb_status_output_locks |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
启用或禁用InnoDB锁监视器。启用时,InnoDB锁监视器在SHOW ENGINE INNODB STATUS输出中打印有关锁的其他信息,并在打印到MySQL错误日志的定期输出中打印。 InnoDB锁监视器的定期输出作为标准InnoDB监视器输出的一部分打印。因此,在InnoDB锁监视器定期将数据打印到MySQL错误日志中时,必须启用标准InnoDB监视器。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_status_output_locks |
innodb_strict_mode |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
(仅适用于InnoDB插件)InnoDB是否返回错误而不是警告,以针对某些条件进行严格SQL模式类似的操作。默认值为OFF。有关受影响的条件列表,请参见InnoDB严格模式。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_strict_mode |
innodb_sync_array_size |
8.0 |
0 |
128 |
[1-1024] |
无限制 |
定义互斥锁/锁等待数组的大小。增加该值会分割用于协调线程的内部数据结构,从而提高具有大量等待线程的工作负载的并发性。必须在MySQL实例启动时配置此设置,之后无法更改。建议对于频繁产生大量等待线程的工作负载,通常大于768,应该增加该值。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_sync_array_size |
innodb_sync_spin_loops |
8.0 |
1 |
100 |
[0-4294967295] |
无限制 |
线程等待InnoDB互斥锁被释放的次数,然后线程被挂起。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_sync_spin_loops |
innodb_table_locks |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
如果autocommit = 0,则InnoDB遵循LOCK TABLES;MySQL在LOCK TABLES ... WRITE之前不会返回,直到所有其他线程释放了它们对表的锁定。innodb_table_locks的默认值为1,这意味着如果autocommit = 0,则LOCK TABLES会导致InnoDB在内部锁定表。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_table_locks |
innodb_thread_concurrency |
8.0 |
1 |
0 |
[0-1000] |
无限制 |
InnoDB试图保持在InnoDB内并发运行的操作系统线程数量小于或等于此变量给出的限制。一旦线程数达到此限制,额外的线程将被放置在等待状态中,排队等待执行(FIFO队列)。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_thread_concurrency |
innodb_thread_sleep_delay |
8.0 |
1 |
10000 |
[0-1000000] |
无限制 |
加入innodb队列之前innodb线程睡眠的时间(usec)。值0禁用睡眠。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_thread_sleep_delay |
innodb_write_io_threads |
8.0 |
0 |
4 |
[1-64] |
无限制 |
(仅适用于InnoDB插件)InnoDB中用于写操作的I/O线程数量。默认值为4。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_write_io_threads |
interactive_timeout |
8.0 |
1 |
7200 |
[10-86400] |
无限制 |
服务器在关闭交互式连接之前等待交互连接上的活动的秒数。交互式客户端定义为使用CLIENT_INTERACTIVE选项连接到mysql_real_connect()的客户端。 单位:秒。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_interactive_timeout |
join_buffer_size |
8.0 |
1 |
{LEAST(DBInstanceClassMemory/1048576*128, 262144)} |
[128-4294967295] |
无限制 |
用于普通索引扫描、范围索引扫描和不使用索引的连接(因此执行完整表扫描)的缓冲区的最小大小。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_join_buffer_size |
key_buffer_size |
8.0 |
1 |
8388608 |
[0-18446744073709551615] |
无限制 |
MyISAM表的索引块会被缓冲,并且被所有线程共享。key_buffer_size是用于索引块的缓冲区的大小。键缓冲区也称为关键字缓存。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_key_buffer_size |
key_cache_age_threshold |
8.0 |
1 |
300 |
[100-4294967295] |
无限制 |
此值控制缓存关键字热子列表的缓冲区向温子列表的降级。较低的值会使降级更快。最小值为100。默认值为300。 单位:秒。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_key_cache_age_threshold |
key_cache_block_size |
8.0 |
1 |
1024 |
[512-16384] |
无限制 |
关键字缓存中块的大小,以字节为单位。默认值为1024。 单位:字节。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_key_cache_block_size |
key_cache_division_limit |
8.0 |
1 |
100 |
[1-100] |
无限制 |
关键字缓存缓冲区列表的热子列表和温子列表的分界点。该值是用于温子列表的缓冲区列表的百分比。允许的值范围为1到100。默认值为100。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_key_cache_division_limit |
lc_time_names |
8.0 |
1 |
en_US |
[ja_JP|pt_BR|en_US] |
无限制 |
该变量指定控制显示日期和月份名称和缩写所使用的语言的区域设置。此变量会影响DATE_FORMAT()、DAYNAME()和MONTHNAME()函数的输出。区域设置名称是类POSIX风格的值,例如'ja_JP'或'pt_BR'。默认值为'en_US',不考虑系统的区域设置。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_lc_time_names |
local_infile |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
此变量控制LOAD DATA语句的服务器端LOCAL功能。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_local_infile |
lock_wait_timeout |
8.0 |
1 |
31536000 |
[1-1073741824] |
无限制 |
此变量指定尝试获取元数据锁的超时时间(以秒为单位)。允许值的范围从1到31536000(1年)。默认值为31536000。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_lock_wait_timeout |
log_bin_use_v1_row_events |
8.0 |
1 |
1 |
[0|1] |
无限制 |
如果等于1,则将版本1行事件写入基于行的二进制日志。如果等于0,则将最新版本的事件写入。在某些升级期间,此选项非常有用。 |
|
log_error_verbosity |
8.0 |
1 |
3 |
[1-3] |
无限制 |
log_error_verbosity系统变量指定用于处理事件的详细程度,这些事件用于错误日志。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_log_error_verbosity |
log_queries_not_using_indexes |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
是否将不使用索引的查询记录到慢查询日志中。 |
|
log_slow_admin_statements |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
将慢查询日志中写入的语句包括慢速管理语句。 |
|
log_throttle_queries_not_using_indexes |
8.0 |
1 |
0 |
[0-4294967295] |
无限制 |
如果启用了log_queries_not_using_indexes,则log_throttle_queries_not_using_indexes变量限制每分钟可以写入慢查询日志中的此类查询的数量。 |
|
long_query_time |
8.0 |
1 |
1 |
[0.1-31536000] |
无限制 |
如果查询耗时超过这么多秒,服务器就会增加Slow_queries状态变量的计数。如果启用了慢查询日志,则将查询记录到慢查询日志文件中。单位:秒。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_long_query_time |
loose_binlog_parallel_flush |
8.0 |
1 |
{LEAST(DBInstanceClassCPU/16, 1)} |
[ON|OFF] |
[20230324,99999999) |
启用binlog_parallel_flush_optimize以减少刷新瓶颈。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_ccl_queue_bucket_count |
8.0 |
1 |
4 |
[1-64] |
[20201231,99999999] |
在使用CCL队列时,有多少个组(groups)。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_ccl_queue_bucket_size |
8.0 |
1 |
64 |
[1-4096] |
[20201231,99999999] |
在使用CCL队列时,允许的最大并发数(max concurrency)。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_ccl_queue_hot_delete |
8.0 |
1 |
OFF |
[ON|OFF] |
[20201231,99999999] |
在某些条件下,在单个删除操作中是否进入ccl队列。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_ccl_queue_hot_update |
8.0 |
1 |
OFF |
[ON|OFF] |
[20201231,99999999] |
在某些条件下,在单个更新操作中是否进入ccl队列。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_force_memory_to_innodb |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
将表引擎从memory转换为innodb。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_group_replication_flow_control_applier_threshold |
8.0 |
1 |
25000 |
[0-2147483647] |
[20221231,99999999] |
指定在应用程序队列中等待的事务数量触发流控制。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_group_replication_flow_control_certifier_threshold |
8.0 |
1 |
25000 |
[0-2147483647] |
[20221231,99999999] |
在证明者队列中等待的事务数量触发流控制。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_group_replication_flow_control_hold_percent |
8.0 |
1 |
10 |
[0-100] |
[20221231,99999999] |
定义了群组配额剩余未使用的百分比,以允许处于流控制状态的集群消化积压工作。值为0表示未保留配额的任何部分用于消化工作积压。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_group_replication_flow_control_max_commit_quota |
8.0 |
1 |
0 |
[0-2147483647] |
[20221231,99999999] |
群组的最大流控制配额,或在启用流控制时的任何时期的最大可用配额。值为0表示未设置最大配额。此系统变量的值不能小于group_replication_flow_control_min_quota和group_replication_flow_control_min_recovery_quota。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_group_replication_flow_control_member_quota_percent |
8.0 |
1 |
0 |
[0-100] |
[20221231,99999999] |
计算配额时,成员应该假设自己可用的配额的百分比。值为0表示配额应平均分配给上一个时期中作为写入者的成员。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_group_replication_flow_control_min_quota |
8.0 |
1 |
0 |
[0-2147483647] |
[20221231,99999999] |
可分配给成员的最低流控制配额,与上个时期执行的计算的最低配额无关。值为0表示没有最低配额。此系统变量的值不能大于group_replication_flow_control_max_commit_quota。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_group_replication_flow_control_min_recovery_quota |
8.0 |
1 |
0 |
[0-2147483647] |
[20221231,99999999] |
由于群组中的另一个恢复成员,可分配给成员的最低配额,与上个时期执行的计算的最低配额无关。值为0表示没有最低配额。此系统变量的值不能大于group_replication_flow_control_max_commit_quota。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_group_replication_flow_control_mode |
8.0 |
1 |
DISABLED |
[DISABLED|QUOTA] |
[20221231,99999999] |
流控制使用的模式。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_group_replication_flow_control_period |
8.0 |
1 |
1 |
[1-60] |
[20221231,99999999] |
定义在流控制迭代之间等待的秒数,在此期间发送流控制消息并运行流控制管理任务。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_group_replication_flow_control_release_percent |
8.0 |
1 |
50 |
[0-1000] |
[20221231,99999999] |
当流控制不再需要限制写入成员时,定义群组配额应如何释放,此百分比为每个流控制周期的配额增加量。值为0表示一旦流控制门限在限制范围内,配额将在单个流控制迭代中释放。范围允许将配额提高到当前配额的最多10倍,这样可以更好地适应,主要是当流控制周期很大且配额非常小的情况。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_group_replication_transaction_size_limit |
8.0 |
1 |
150000000 |
[0-2147483647] |
[20221231,99999999] |
复制组接受的最大事务大小(以字节为单位)。超过此大小的事务将由接收成员回滚,并且不会广播到组中。当将此系统变量设置为0时,复制组接受的事务大小没有限制。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_ignore_index_hint_error |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
控制是否忽略索引提示错误。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_information_schema_stats_expiry |
8.0 |
1 |
86400 |
[0-31536000] |
[20201231,99999999] |
接收mysqld服务器从存储引擎获取数据并替换缓存中数据的秒数。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_innodb_doublewrite_pages |
8.0 |
0 |
64 |
[0-512] |
[20201231,99999999) |
每个线程的双重写入页面数。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_innodb_log_optimize_ddl |
8.0 |
1 |
OFF |
[ON|OFF] |
[20201231,99999999] |
当本地创建索引或重建表时,减少重做日志记录。将此设置为OFF可以避免由于页面刷新而引起的延迟,并允许并发备份。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_innodb_log_write_ahead_size |
8.0 |
1 |
4096 |
[512-16384] |
[20200430,99999999) |
写前日志单位大小,以避免写时读取,它应该与操作系统缓存块IO大小相匹配。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_innodb_numa_interleave |
8.0 |
0 |
ON |
[ON|OFF] |
无限制 |
启用用于分配InnoDB缓冲池的NUMA交错内存策略。当innodb_numa_interleave被启用时,mysqld进程的numa内存策略被设置为MPOL_interleave。在InnoDB缓冲池被分配之后,NUMA内存策略被设置回MPOL_DEFAULT。为了使innodb_numa_interleave选项可用,MySQL必须在启用numa的Linux系统上编译。 |
https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_numa_interleave |
loose_innodb_parallel_read_threads |
8.0 |
1 |
1 |
[0-256] |
[20200831,99999999) |
并行读取的线程数。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_innodb_rds_chunk_flush_interval |
8.0 |
1 |
100 |
[0-100000] |
[20210930,99999999) |
每个分块刷新操作之间的时间间隔(毫秒)。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_innodb_rds_faster_ddl |
8.0 |
1 |
ON |
[ON|OFF] |
[20200430,99999999) |
更快DDL的功能开关。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_innodb_rds_flashback_task_enabled |
8.0 |
1 |
OFF |
[ON|OFF] |
[20210930,99999999) |
是否默认向前滚动新的读视图(默认为true)。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_innodb_rds_free_resize |
8.0 |
1 |
ON |
[ON|OFF] |
[20210930,99999999) |
在调整InnoDB缓冲池大小时,按块处理页面的过程。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_innodb_trx_resurrect_table_lock_accelerate |
8.0 |
1 |
OFF |
[OFF|ON] |
[20221231,99999999) |
是否将表信息存储在undo日志记录中。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_innodb_undo_retention |
8.0 |
1 |
0 |
[0-172800] |
[20210930,99999999) |
撤销数据的保留时间(以秒为单位)。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_innodb_undo_space_reserved_size |
8.0 |
1 |
0 |
[0-20480] |
[20210930,99999999) |
撤销文件空间的保留大小(以MiB为单位)。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_innodb_undo_space_supremum_size |
8.0 |
1 |
10240 |
[0-524288] |
[20210930,99999999) |
撤销文件空间的上限大小(以MiB为单位)。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_json_document_max_depth |
8.0 |
1 |
100 |
[100-1000] |
[20220830, 99999999) |
JSON文档中允许的最大嵌套级别数。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_multi_blocks_ddl_count |
8.0 |
1 |
0 |
[0-1024] |
[20201231,99999999] |
一些DDL查询中一次多个块的页号。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_optimizer_switch |
8.0 |
1 |
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on |
.* |
无限制 |
optimizer_switch系统变量可以控制优化器的行为。 |
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_optimizer_switch |
loose_optimizer_trace |
8.0 |
1 |
enabled=off,one_line=off |
.* |
无限制 |
optimizer_trace系统变量具有这些开关选项:enabled、one_line。 |
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_optimizer_trace |
loose_optimizer_trace_features |
8.0 |
1 |
greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on |
.* |
无限制 |
可以使用optimizer_trace_features系统变量将这些功能排除在跟踪之外。 |
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_optimizer_trace_features |
loose_performance_schema_accounts_size |
8.0 |
0 |
10000 |
[-1-1048576] |
无限制 |
accounts表中的行数。如果此变量为0,则Performance Schema不会在accounts表中维护连接统计信息,也不会在status_by_account表中维护状态变量信息。 |
|
loose_performance_schema_digests_size |
8.0 |
0 |
10000 |
[-1-1048576] |
无限制 |
events_statements_summary_by_digest表中的最大行数。如果超过此最大值,导致无法对摘要进行仪表化,Performance Schema将递增Performance_schema_digest_lost状态变量。 |
|
loose_performance_schema_error_size |
8.0 |
0 |
0 |
[0-1048576] |
无限制 |
检测到的服务器错误代码的数目。默认值是服务器错误代码的实际数量。尽管该值可以设置在0到最大值之间的任何位置,但预期用途是将其设置为默认值(检测所有错误)或0(检测无错误)。 |
|
loose_performance_schema_events_stages_history_long_size |
8.0 |
0 |
0 |
[-1-1048576] |
无限制 |
events_stages_history_long表中的行数。 |
|
loose_performance_schema_events_stages_history_size |
8.0 |
0 |
0 |
[-1-1024] |
无限制 |
events_stages_history表中每个线程的行数。 |
|
loose_performance_schema_events_statements_history_long_size |
8.0 |
0 |
0 |
[-1-1048576] |
无限制 |
events_statements_history_long表中的行数。 |
|
loose_performance_schema_events_statements_history_size |
8.0 |
0 |
0 |
[-1-1024] |
无限制 |
events_statements_history表中每个线程的行数。 |
|
loose_performance_schema_events_transactions_history_long_size |
8.0 |
0 |
0 |
[-1-1048576] |
无限制 |
events_transactions_history_long表中的行数。 |
|
loose_performance_schema_events_transactions_history_size |
8.0 |
0 |
0 |
[-1-1024] |
无限制 |
events_transactions_history表中每个线程的行数。 |
|
loose_performance_schema_events_waits_history_long_size |
8.0 |
0 |
0 |
[-1-1048576] |
无限制 |
events_waits_history_long表中的行数。 |
|
loose_performance_schema_events_waits_history_size |
8.0 |
0 |
0 |
[-1-1024] |
无限制 |
events_waits_history表中每个线程的行数。 |
|
loose_performance_schema_hosts_size |
8.0 |
0 |
10000 |
[-1-1048576] |
无限制 |
hosts表中的行数。如果此变量为0,则Performance Schema不会在hosts表中维护连接统计信息,也不会在status_by_host表中维护状态变量信息。 |
|
loose_performance_schema_max_cond_classes |
8.0 |
0 |
150 |
[0-256] |
无限制 |
条件仪表的最大数量。 |
|
loose_performance_schema_max_cond_instances |
8.0 |
0 |
10000 |
[-1-1048576] |
无限制 |
仪表化条件对象的最大数量。 |
|
loose_performance_schema_max_digest_length |
8.0 |
0 |
0 |
[0-1048576] |
无限制 |
在性能模式中,每个语句保留的用于计算规范化语句摘要值的最大内存字节数。此变量与max_digest_length有关。 |
|
loose_performance_schema_max_digest_sample_age |
8.0 |
0 |
0 |
[0-1048576] |
无限制 |
此变量影响表的语句采样events_statements_summary_by_digest,插入新表行时将产生行摘要值的语句存储为与摘要相关联的当前示例语句。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_performance_schema_max_file_classes |
8.0 |
0 |
80 |
[0-256] |
无限制 |
文件仪表的最大数量。 |
|
loose_performance_schema_max_file_handles |
8.0 |
0 |
0 |
[-1-32768] |
无限制 |
已打开的文件对象的最大数量。 |
|
loose_performance_schema_max_file_instances |
8.0 |
0 |
1000 |
[-1-1048576] |
无限制 |
仪表化文件对象的最大数量。 |
|
loose_performance_schema_max_index_stat |
8.0 |
0 |
10000 |
[-1-1048576] |
无限制 |
Performance Schema维护统计信息的最大索引数。如果超过此最大值导致索引统计信息丢失,则Performance Schema会增加Performance_schema_index_stat_lost状态变量。默认值使用performance_schema_max_table_instances的值进行自动调整。 |
|
loose_performance_schema_max_memory_classes |
8.0 |
0 |
500 |
[0-1024] |
无限制 |
内存仪表的最大数量。 |
|
loose_performance_schema_max_metadata_locks |
8.0 |
0 |
10000 |
[-1-1048576] |
无限制 |
元数据锁仪表的最大数量。此值控制metadata_locks表的大小。如果超过此最大值导致无法对元数据锁进行仪表化,则Performance Schema会增加Performance_schema_metadata_lock_lost状态变量。 |
|
loose_performance_schema_max_mutex_classes |
8.0 |
0 |
256 |
[0-256] |
无限制 |
互斥锁仪表的最大数量。 |
|
loose_performance_schema_max_mutex_instances |
8.0 |
0 |
10000 |
[-1-104857600] |
无限制 |
仪表化互斥锁对象的最大数量。 |
|
loose_performance_schema_max_prepared_statements_instances |
8.0 |
0 |
1000 |
[-1-4194304] |
无限制 |
prepared_statements_instances表中的最大行数。如果超过此最大值导致无法对prepared statement进行仪表化,则Performance Schema会增加Performance_schema_prepared_statements_lost状态变量。 |
|
loose_performance_schema_max_program_instances |
8.0 |
0 |
10000 |
[-1-1048576] |
无限制 |
Performance Schema维护统计信息的最大存储程序数。如果超过此最大值,Performance Schema会增加Performance_schema_program_lost状态变量。 |
|
loose_performance_schema_max_rwlock_classes |
8.0 |
0 |
100 |
[0-256] |
无限制 |
互斥读写锁(rwlock)仪表的最大数量。 |
|
loose_performance_schema_max_rwlock_instances |
8.0 |
0 |
10000 |
[-1-104857600] |
无限制 |
仪表化互斥读写锁(rwlock)对象的最大数量。 |
|
loose_performance_schema_max_socket_classes |
8.0 |
0 |
10 |
[0-256] |
无限制 |
套接字(socket)仪表的最大数量。 |
|
loose_performance_schema_max_socket_instances |
8.0 |
0 |
1000 |
[-1-1048576] |
无限制 |
仪表化套接字(socket)对象的最大数量。 |
|
loose_performance_schema_max_sql_text_length |
8.0 |
0 |
0 |
[0-1048576] |
无限制 |
用于在events_statements_current、events_statements_history和events_statements_history_long语句事件表的SQL_TEXT列中存储SQL语句的最大字节数。超过performance_schema_max_sql_text_length的字节将被丢弃,不会出现在SQL_TEXT列中。在此列中,只有在那么多初始字节之后有差异的语句是无法区分的。 |
|
loose_performance_schema_max_stage_classes |
8.0 |
0 |
200 |
[0-256] |
无限制 |
阶段(stage)仪表的最大数量。 |
|
loose_performance_schema_max_statement_classes |
8.0 |
0 |
256 |
[0-256] |
无限制 |
语句(statement)仪表的最大数量。 |
|
loose_performance_schema_max_statement_stack |
8.0 |
0 |
1 |
[0-256] |
无限制 |
Performance Schema维护统计信息的最大嵌套存储程序调用深度。当超过此最大值时,Performance Schema会针对执行的每个存储程序语句增加Performance_schema_nested_statement_lost状态变量。 |
|
loose_performance_schema_max_table_handles |
8.0 |
0 |
10000 |
[-1-1048576] |
无限制 |
打开的表对象的最大数量。此值控制table_handles表的大小。如果超过此最大值导致无法对表句柄进行仪表化,则Performance Schema会增加Performance_schema_table_handles_lost状态变量。 |
|
loose_performance_schema_max_table_instances |
8.0 |
0 |
1000 |
[-1-1048576] |
无限制 |
仪表化表对象的最大数量。 |
|
loose_performance_schema_max_table_lock_stat |
8.0 |
0 |
10000 |
[-1-1048576] |
无限制 |
Performance Schema维护锁统计信息的表的最大数量。如果超过此最大值导致表锁统计信息丢失,则Performance Schema会增加Performance_schema_table_lock_stat_lost状态变量。 |
|
loose_performance_schema_max_thread_classes |
8.0 |
0 |
100 |
[0-256] |
无限制 |
线程仪表的最大数量。 |
|
loose_performance_schema_max_thread_instances |
8.0 |
0 |
10000 |
[-1-1048576] |
无限制 |
仪表化线程对象的最大数量。该值控制threads表的大小。如果超过此最大值导致无法对线程进行仪表化,则Performance Schema会增加Performance_schema_thread_instances_lost状态变量。 |
|
loose_performance_schema_session_connect_attrs_size |
8.0 |
0 |
0 |
[-1-1048576] |
无限制 |
每个线程预分配的内存量,用于保存连接属性键值对。如果客户端发送的连接属性数据的总大小超过此值,Performance Schema会截断属性数据,并增加Performance_schema_session_connect_attrs_lost状态变量,如果log_error_verbosity系统变量值大于1,则还会在错误日志中写入截断发生的消息。 |
|
loose_performance_schema_setup_actors_size |
8.0 |
0 |
10000 |
[-1-1048576] |
无限制 |
setup_actors表中的行数。 |
|
loose_performance_schema_setup_objects_size |
8.0 |
0 |
10000 |
[-1-1048576] |
无限制 |
setup_objects表中的行数。 |
|
loose_performance_schema_users_size |
8.0 |
0 |
10000 |
[-1-1048576] |
无限制 |
users表中的行数。如果此变量为0,则Performance Schema不会在users表中维护连接统计信息,也不会在status_by_user表中维护状态变量信息。 |
|
loose_persist_binlog_to_redo |
8.0 |
1 |
{LEAST(DBInstanceClassCPU/16, 1)} |
[ON|OFF] |
[20230324,99999999) |
持久化事务的binlog事件到重做日志以减少IO。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_rds_audit_log_event_buffer_size |
8.0 |
1 |
8192 |
[0-32768] |
[20201031,99999999) |
RDS审计日志中的最大SQL大小。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_rds_audit_log_version |
8.0 |
1 |
MYSQL_V1 |
[MYSQL_V1|MYSQL_V3] |
[20210930,99999999) |
审计日志的版本,目前支持MYSQL_V1和MYSQL_V3。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_recycle_bin |
8.0 |
1 |
OFF |
[OFF|ON] |
[20200831,99999999) |
回收站开关。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_recycle_bin_retention |
8.0 |
1 |
604800 |
[86400-1209600] |
[20200831,99999999) |
保存回收站的时间长度(秒)。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_recycle_scheduler |
8.0 |
1 |
OFF |
[OFF|ON] |
[20200831,99999999) |
清理线程的开关。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_slave_parallel_workers |
8.0 |
1 |
{GREATEST(DBInstanceClassCPU, 8)} |
[0-1024] |
无限制 |
设置用于并行执行复制事务的应用程序线程数。
|
|
loose_sql_safe_updates |
8.0 |
1 |
OFF |
[ON|OFF] |
[20200430,99999999) |
如果启用此变量,则在UPDATE和DELETE语句中没有在WHERE子句或LIMIT子句中使用键时会产生错误。 |
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_sql_safe_updates |
loose_ssl_cipher |
8.0 |
0 |
"ALL:@SECLEVEL=0" |
[""|"ALL:@SECLEVEL=0"] |
[20231215,99999999) |
要使用的SSL密码。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_ssl_cipher |
loose_thread_pool_enabled |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
启用或禁用线程池。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_thread_pool_oversubscribe |
8.0 |
1 |
32 |
[10-64] |
无限制 |
允许每个组中的额外活动工作线程数。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
loose_thread_pool_size |
8.0 |
1 |
{LEAST(DBInstanceClassCPU*2, 64)} |
[1-16] |
无限制 |
线程池中的线程组数。 |
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_thread_pool_size |
loose_validate_password_length |
8.0 |
1 |
8 |
[1-12] |
无限制 |
密码的最小长度,如果设置为8表示需要密码长度大于等于8。 |
|
low_priority_updates |
8.0 |
1 |
0 |
[0|1] |
无限制 |
如果设置为1,则所有INSERT、UPDATE、DELETE和LOCK TABLE WRITE语句都会等待,直到受影响表上没有待处理的SELECT或LOCK TABLE READ。这仅影响仅使用表级锁定的存储引擎(如MyISAM、MEMORY和MERGE)。此变量以前的名称为sql_low_priority_updates。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_low_priority_updates |
master_verify_checksum |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
启用此变量会导致主服务器在从二进制日志读取时检查校验和。默认情况下禁用master_verify_checksum。在这种情况下,主服务器使用二进制日志中的事件长度来验证事件,以便只有完整的事件才从二进制日志中读取。 |
|
max_allowed_packet |
8.0 |
1 |
1073741824 |
[16384-1073741824] |
无限制 |
一个数据包,或任何生成/中间字符串的最大大小。 单位:字节。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_allowed_packet |
max_binlog_cache_size |
8.0 |
1 |
18446744073709547520 |
[4096-18446744073709547520] |
无限制 |
max_binlog_cache_size仅设置事务缓存的大小。对于max_binlog_cache_size的会话可见性与binlog_cache_size系统变量的可见性相匹配。 |
|
max_binlog_stmt_cache_size |
8.0 |
1 |
18446744073709547520 |
[4096-18446744073709547520] |
无限制 |
如果事务中的非事务性语句需要的内存超过此值,则服务器会生成错误。最小值为4096。在32位平台上,最大和默认值为4GB,在64位平台上为16EB(exabytes)。 |
|
max_connections |
8.0 |
1 |
600 |
[1-200000] |
无限制 |
最大允许的同时客户端连接数。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections |
max_connect_errors |
8.0 |
1 |
100 |
[0-4294967295] |
无限制 |
如果来自主机的连续连接请求被中断而没有成功连接的请求超过此值,则服务器会阻止该主机进一步的连接。可以通过刷新主机缓存来解除被阻止的主机的限制。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connect_errors |
max_digest_length |
8.0 |
0 |
1024 |
[0-1048576] |
无限制 |
为计算规范语句摘要而保留的每个会话的最大字节数。一旦在摘要计算过程中使用了该空间的量,就会发生截断:不再收集来自解析语句的进一步标记,并且不会计入其摘要值中。仅在解析标记之后的那么多字节处不同的语句会产生相同的规范语句摘要,并且如果进行比较或用于摘要统计时被视为相同。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_digest_length |
max_error_count |
8.0 |
1 |
64 |
[0-65535] |
无限制 |
错误、警告和信息消息的最大数量,以便通过SHOW ERRORS和SHOW WARNINGS语句进行存储和显示。这与诊断区域中的条件区域数相同,因此可以通过GET DIAGNOSTICS检查的条件数也相同。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_error_count |
max_execution_time |
8.0 |
1 |
0 |
[0-4294967295] |
无限制 |
如果执行时间超过此值,语句将被中断。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_execution_time |
max_heap_table_size |
8.0 |
1 |
67108864 |
[16384-1844674407370954752] |
无限制 |
此变量设置用户创建的MEMORY表允许增长到的最大大小。变量的值用于计算MEMORY表的MAX_ROWS值。除非使用CREATE TABLE语句重新创建表或使用ALTER TABLE或TRUNCATE TABLE更改表,否则设置此变量对任何现有的MEMORY表都没有影响。服务器重新启动还会将现有MEMORY表的最大大小设置为全局max_heap_table_size值。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_heap_table_size |
max_join_size |
8.0 |
1 |
18446744073709551615 |
[1-18446744073709551615] |
无限制 |
不允许可能需要检查超过max_join_size行(对于单表语句)或行组合(对于多表语句)或可能执行超过max_join_size磁盘查找的语句。通过设置此值,您可以捕获未正确使用键的语句,这些语句可能需要很长时间。如果用户倾向于执行缺少WHERE子句、需要很长时间或返回数百万行的连接操作,请设置此变量。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_join_size |
max_length_for_sort_data |
8.0 |
1 |
1024 |
[0-838860] |
无限制 |
索引值大小的截止点,确定使用哪种文件排序算法。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_length_for_sort_data |
max_points_in_geometry |
8.0 |
1 |
65536 |
[3-1048576] |
无限制 |
ST_Buffer_Strategy()函数中points_per_circle参数的最大值。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_points_in_geometry |
max_prepared_stmt_count |
8.0 |
1 |
16382 |
[0-1048576] |
无限制 |
此变量限制服务器中准备好的语句的总数。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_prepared_stmt_count |
max_seeks_for_key |
8.0 |
1 |
18446744073709500000 |
[1-18446744073709551615] |
无限制 |
限制基于键查找行时假定的最大查找次数。MySQL优化器假定在扫描索引时,查找匹配行所需的键查找次数不超过此数字,无论索引的实际基数如何。通过将其设置为较低的值(例如100),您可以强制MySQL优先选择索引而不是表扫描。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_seeks_for_key |
max_sort_length |
8.0 |
1 |
1024 |
[4-8388608] |
无限制 |
排序数据值时要使用的字节数。服务器仅使用每个值的前max_sort_length个字节,忽略其余部分。因此,对于GROUP BY、ORDER BY和DISTINCT操作,仅在前max_sort_length个字节后不同的值将被视为相等。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_sort_length |
max_sp_recursion_depth |
8.0 |
1 |
0 |
[0-255] |
无限制 |
任何给定存储过程可递归调用的次数。此选项的默认值为0,完全禁用存储过程中的递归。最大值为255。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_sp_recursion_depth |
max_user_connections |
8.0 |
1 |
600 |
[10-200000] |
无限制 |
任何给定MySQL用户账户允许的最大并发连接数。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_user_connections |
max_write_lock_count |
8.0 |
1 |
102400 |
[1-102400] |
无限制 |
在此数量的写锁之后,允许一些读锁在中间运行。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_write_lock_count |
min_examined_row_limit |
8.0 |
1 |
0 |
[0-4294967295] |
无限制 |
查询检查的行数少于此数字时,不会记录到慢查询日志中。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_min_examined_row_limit |
myisam_sort_buffer_size |
8.0 |
1 |
262144 |
[262144-16777216] |
无限制 |
在通过REPAIR TABLE进行排序MyISAM索引或使用CREATE INDEX或ALTER TABLE创建索引时分配的缓冲区的大小。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_myisam_sort_buffer_size |
mysql_native_password_proxy_users |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
此变量控制mysql_native_password内置身份验证插件是否支持代理用户。除非启用check_proxy_users系统变量,否则它没有任何效果。 |
|
net_buffer_length |
8.0 |
1 |
16384 |
[1024-1048576] |
无限制 |
每个客户端线程都与连接缓冲区和结果缓冲区相关联。两者都以net_buffer_length指定的大小开始,但根据需要动态扩大到max_allowed_packet字节。每个SQL语句后,结果缓冲区缩小到net_buffer_length。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_net_buffer_length |
net_read_timeout |
8.0 |
1 |
30 |
[1-18446744073709551615] |
无限制 |
在放弃读取之前,等待来自连接的更多数据的秒数。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_net_read_timeout |
net_retry_count |
8.0 |
1 |
10 |
[1-4294967295] |
无限制 |
如果通信端口上的读取或写入被中断,在放弃之前尝试重新尝试此次数。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_net_retry_count |
net_write_timeout |
8.0 |
1 |
60 |
[1-18446744073709551615] |
无限制 |
在放弃写入之前,等待块写入连接的秒数。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_net_write_timeout |
ngram_token_size |
8.0 |
0 |
2 |
[0-20] |
无限制 |
定义n-gram全文解析器的n-gram token大小。ngram_token_size选项是只读的,只能在启动时修改。默认值为2(二元组)。最大值为10。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_ngram_token_size |
open_files_limit |
8.0 |
0 |
655350 |
[1-2147483647] |
无限制 |
如果这个值不是0,则mysqld将使用此值来保留文件描述符,以与setrlimit()一起使用。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_open_files_limit |
optimizer_prune_level |
8.0 |
1 |
1 |
[0|1] |
无限制 |
控制查询优化期间应用的启发式方法,以从优化器搜索空间中修剪不太有前途的部分计划。值为0会禁用启发式方法,使优化器执行彻底搜索。值为1会导致优化器根据中间计划检索的行数修剪计划。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_optimizer_prune_level |
optimizer_search_depth |
8.0 |
1 |
62 |
[0-62] |
无限制 |
查询优化器执行的最大搜索深度。大于查询结果中关系数的值会导致更好的查询计划,但生成查询的执行计划需要更长时间。小于查询中关系数的值会更快地返回执行计划,但是所得到的计划可能远非最优。如果设置为0,则系统会自动选择合理的值。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_optimizer_search_depth |
optimizer_trace_limit |
8.0 |
1 |
1 |
[0-4294967295] |
无限制 |
显示的优化器跟踪的最大数量。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_optimizer_trace_limit |
optimizer_trace_max_mem_size |
8.0 |
1 |
16384 |
[0-4294967295] |
无限制 |
存储的优化器跟踪的最大累计大小。 |
|
optimizer_trace_offset |
8.0 |
1 |
-1 |
[-2147483648-2147483647] |
无限制 |
要显示的优化器跟踪的偏移量。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_optimizer_trace_offset |
opt_indexstat |
8.0 |
0 |
OFF |
[ON|OFF] |
无限制 |
是否启用索引信息统计。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
opt_tablestat |
8.0 |
0 |
OFF |
[ON|OFF] |
无限制 |
是否打开表信息统计。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
performance_point_iostat_interval |
8.0 |
1 |
2 |
[0-60] |
无限制 |
IO统计收集的间隔时间,以毫秒为单位。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
performance_point_iostat_volume_size |
8.0 |
0 |
10000 |
[0-100000] |
无限制 |
IO统计收集的最大容量,单位为槽数。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
performance_point_lock_rwlock_enabled |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
用于启用或禁用读写锁的性能优化功能。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html |
performance_schema |
8.0 |
0 |
{LEAST(DBInstanceClassMemory/68719476736, 1)} |
[0-1] |
无限制 |
此变量的值为ON或OFF,表示是否启用性能模式。默认情况下,值为ON。在服务器启动时,您可以指定此变量没有值、值为ON或1以启用它,或者值为OFF或0以禁用它。 |
|
preload_buffer_size |
8.0 |
1 |
32768 |
[1024-1073741824] |
无限制 |
预加载索引时分配的缓冲区大小。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_preload_buffer_size |
query_alloc_block_size |
8.0 |
1 |
8192 |
[1024-16384] |
无限制 |
语句解析和执行期间分配给创建对象的内存块的分配大小。 单位:字节。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_alloc_block_size |
query_prealloc_size |
8.0 |
1 |
8192 |
[8192-1048576] |
无限制 |
语句解析和执行过程中使用的持久缓冲区的大小。该缓冲区在语句之间不会释放。如果您正在运行复杂的查询,则较大的query_prealloc_size值可能有助于提高性能,因为它可以减少服务器在查询执行操作期间执行内存分配的需求。 单位:字节。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_query_prealloc_size |
range_alloc_block_size |
8.0 |
1 |
4096 |
[4096-18446744073709551615] |
无限制 |
执行范围优化时分配的块的大小。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_range_alloc_block_size |
range_optimizer_max_mem_size |
8.0 |
1 |
8388608 |
[0-18446744073709551615] |
无限制 |
范围优化器的内存消耗限制。值为0表示“没有限制”。如果优化器考虑的执行计划使用范围访问方法,但优化器估计该方法所需内存的数量将超过限制,则放弃该计划并考虑其他计划。 |
|
read_buffer_size |
8.0 |
1 |
{LEAST(DBInstanceClassMemory/1048576*128, 262144)} |
[8200-2147479552] |
无限制 |
每个执行 MyISAM 表的顺序扫描的线程,为它扫描的每个表分配这个大小(以字节为单位)的缓冲区。如果它设置为不是4KB的倍数的值,它的值将舍入到最近的4KB的倍数。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_read_buffer_size |
read_rnd_buffer_size |
8.0 |
1 |
360448 |
[8200-2147483647] |
无限制 |
这个变量用于从MyISAM表中读取,并且对于任何存储引擎,用于多范围读取优化。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_read_rnd_buffer_size |
regexp_stack_limit |
8.0 |
1 |
8000000 |
[0-2147483647] |
无限制 |
用于REGEXP_LIKE()和类似函数执行的正则表达式匹配操作的内部堆栈的最大可用内存(以字节为单位)。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_regexp_stack_limit |
regexp_time_limit |
8.0 |
1 |
32 |
[0-2147483647] |
无限制 |
由REGEXP_LIKE()和类似函数执行的正则表达式匹配操作的时间限制。该限制表示匹配引擎执行的最大步骤数,并且仅间接影响执行时间。通常,它的数量级为毫秒级。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_regexp_time_limit |
rpl_read_size |
8.0 |
1 |
8192 |
[8192-4294959104] |
无限制 |
rpl_read_size系统变量控制从二进制日志文件和中继日志文件中读取的最小数据量(以字节为单位)。如果这些文件的磁盘I/O活动影响了数据库的性能,增加读取大小可能会减少文件读取和I/O中断,因为文件数据当前未被操作系统缓存。 |
https://dev.mysql.com/doc/refman/8.0/en/replication-options-replica.html#sysvar_rpl_read_size |
schema_definition_cache |
8.0 |
1 |
256 |
[256-524288] |
无限制 |
为字典对象缓存中保留的模式定义对象的数量(已使用和未使用)定义了限制。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_schema_definition_cache |
session_track_gtids |
8.0 |
1 |
OFF |
[OFF|OWN_GTID|ALL_GTIDS] |
无限制 |
控制用于捕获 GTID 并在 OK 数据包中返回它们的跟踪器。根据此选项的值,在执行事务结束时,指定的 GTID 由跟踪器捕获,并附加到 OK 数据包中。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_session_track_gtids |
sha256_password_proxy_users |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
该变量控制sha256_password内置认证插件是否支持代理用户。除非启用了check_proxy_users系统变量,否则它没有任何作用。 |
|
show_create_table_verbosity |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
如果行格式是默认格式,SHOW CREATE TABLE通常不显示ROW_FORMAT表选项。启用此变量会导致SHOW CREATE TABLE无论是否为默认格式都显示ROW_FORMAT。 |
|
show_old_temporals |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
SHOW CREATE TABLE输出是否包括注释,以标记发现的时间列处于5.6.4之前的格式(没有支持小数秒精度的TIME、DATETIME和TIMESTAMP列)。该变量默认为禁用状态。如果启用,则SHOW CREATE TABLE输出将包括标记这些时间列的注释。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_show_old_temporals |
skip_show_database |
8.0 |
0 |
OFF |
[ON|OFF] |
无限制 |
如果没有SHOW DATABASES特权,则防止用户使用SHOW DATABASES语句。如果您担心用户能够看到其他用户的数据库,此功能可以提高安全性。其效果取决于SHOW DATABASES特权:如果变量值为ON,则SHOW DATABASES语句仅允许具有SHOW DATABASES特权的用户,并且该语句显示所有数据库名称。如果值为OFF,则SHOW DATABASES对所有用户都允许,但仅显示用户具有SHOW DATABASES或其他特权的数据库的名称。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_skip_show_database |
slave_net_timeout |
8.0 |
1 |
60 |
[15-300] |
无限制 |
从主服务器等待更多数据的秒数,如果超过这个时间,从服务器将认为连接已断开,终止读取并尝试重新连接。 |
https://dev.mysql.com/doc/refman/8.0/en/replication-options-replica.html#sysvar_slave_net_timeout |
slave_parallel_type |
8.0 |
0 |
LOGICAL_CLOCK |
[DATABASE|LOGICAL_CLOCK] |
无限制 |
该变量指定用于决定在从服务器上并行执行哪些事务的策略。该变量对于未启用多线程的从服务器没有影响。当设置slave_preserve_commit_order=1时,只能使用LOGICAL_CLOCK。 |
https://dev.mysql.com/doc/refman/8.0/en/replication-options-replica.html#sysvar_slave_parallel_type |
slave_transaction_retries |
8.0 |
1 |
10 |
[0-18446744073709551615] |
无限制 |
从MySQL 8.0.26开始,slave_transaction_retries已被弃用,应改用别名replica_transaction_retries。在MySQL 8.0.26之前的版本中,请使用slave_transaction_retries。 |
|
slave_type_conversions |
8.0 |
0 |
|
[s*|ALL_LOSSY|ALL_NON_LOSSY|ALL_SIGNED|ALL_UNSIGNED] |
无限制 |
当使用基于行的复制时,控制从服务器上生效的类型转换模式。 |
|
slow_launch_time |
8.0 |
1 |
2 |
[1-1024] |
无限制 |
如果创建线程的时间超过这么多秒,服务器会增加Slow_launch_threads状态变量。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_slow_launch_time |
slow_query_log |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
指定初始的慢查询日志状态。如果没有参数或者参数为1,则--slow-query-log选项启用日志。如果省略或使用0作为参数,则该选项禁用日志。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_slow_query_log |
sort_buffer_size |
8.0 |
1 |
262144 |
[32768-4294967295] |
无限制 |
必须执行排序的每个会话都会分配一个该大小的缓冲区。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sort_buffer_size |
sql_mode |
8.0 |
1 |
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION |
(s*|REAL_AS_FLOAT|PIPES_AS_CONCAT|ANSI_QUOTES|IGNORE_SPACE|ONLY_FULL_GROUP_BY|NO_UNSIGNED_SUBTRACTION|NO_DIR_IN_CREATE|ANSI|NO_AUTO_VALUE_ON_ZERO|NO_BACKSLASH_ESCAPES|STRICT_TRANS_TABLES|STRICT_ALL_TABLES|NO_ZERO_IN_DATE|NO_ZERO_DATE|ALLOW_INVALID_DATES|ERROR_FOR_DIVISION_BY_ZERO|TRADITIONAL|HIGH_NOT_PRECEDENCE|NO_ENGINE_SUBSTITUTION|PAD_CHAR_TO_FULL_LENGTH)(,REAL_AS_FLOAT|,PIPES_AS_CONCAT|,ANSI_QUOTES|,IGNORE_SPACE|,ONLY_FULL_GROUP_BY|,NO_UNSIGNED_SUBTRACTION|,NO_DIR_IN_CREATE|,ANSI|,NO_AUTO_VALUE_ON_ZERO|,NO_BACKSLASH_ESCAPES|,STRICT_TRANS_TABLES|,STRICT_ALL_TABLES|,NO_ZERO_IN_DATE|,NO_ZERO_DATE|,ALLOW_INVALID_DATES|,ERROR_FOR_DIVISION_BY_ZERO|,TRADITIONAL|,HIGH_NOT_PRECEDENCE|,NO_ENGINE_SUBSTITUTION|,PAD_CHAR_TO_FULL_LENGTH)* |
无限制 |
模式定义了MySQL应支持的SQL语法以及应执行哪种类型的数据验证检查。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sql_mode |
sql_require_primary_key |
8.0 |
1 |
OFF |
[ON|OFF] |
无限制 |
是否强制要求创建新表或更改现有表的结构的语句具有主键。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sql_require_primary_key |
stored_program_cache |
8.0 |
1 |
256 |
[16-524288] |
无限制 |
为每个连接设置了缓存存储过程的软上限。该变量的值是以MySQL服务器分别用于存储过程和存储函数的两个缓存中保存的存储过程数量为单位来指定的。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_stored_program_cache |
stored_program_definition_cache |
8.0 |
1 |
256 |
[256-524288] |
无限制 |
为字典对象缓存中保留的存储过程定义对象的数量(已使用和未使用)定义了限制。 |
|
sync_binlog |
8.0 |
1 |
1 |
[0-4294967295] |
无限制 |
每写入文件#次后将二进制日志同步刷新到磁盘。使用0(默认)禁用同步刷新。 |
https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_sync_binlog |
sync_master_info |
8.0 |
1 |
10000 |
[0-18446744073709551615] |
无限制 |
这个变量在复制从服务器中的影响取决于从服务器的master_info_repository设置为FILE还是TABLE。 |
https://dev.mysql.com/doc/refman/8.0/en/replication-options-replica.html#sysvar_sync_master_info |
sync_relay_log |
8.0 |
1 |
10000 |
[0-4294967295] |
无限制 |
如果该变量的值大于0,则MySQL服务器在写入sync_relay_log事件到中继日志后会将其同步到磁盘(使用fdatasync())。设置此变量立即对所有复制通道生效,包括正在运行的通道。 |
https://dev.mysql.com/doc/refman/8.0/en/replication-options-replica.html#sysvar_sync_relay_log |
sync_relay_log_info |
8.0 |
1 |
10000 |
[0-18446744073709551615] |
无限制 |
设置此变量会立即对所有复制通道生效,包括正在运行的通道。 |
https://dev.mysql.com/doc/refman/8.0/en/replication-options-replica.html#sysvar_sync_relay_log_info |
tablespace_definition_cache |
8.0 |
1 |
256 |
[256-524288] |
无限制 |
为字典对象缓存中保留的表空间定义对象的数量(已使用和未使用)定义了限制。 |
|
table_definition_cache |
8.0 |
1 |
{LEAST(DBInstanceClassMemory/1073741824*512, 8192)} |
[400-524288] |
无限制 |
可以在定义缓存中存储的表定义(来自.frm文件)的数量。如果使用大量的表,则可以创建一个较大的表定义缓存来加速打开表。与普通表缓存不同,表定义缓存占用的空间更少,也不使用文件描述符。最小值和默认值均为400。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_table_definition_cache |
table_open_cache |
8.0 |
1 |
{LEAST(DBInstanceClassMemory/1073741824*512, 8192)} |
[1-524288] |
无限制 |
所有线程打开的表的数量。增加此值会增加mysqld所需的文件描述符数量。您可以通过检查Opened_tables状态变量来检查是否需要增加表缓存。请参阅“服务器状态变量”。如果Opened_tables的值很大,并且您不经常使用FLUSH TABLES(它只是强制关闭并重新打开所有表),则应增加table_open_cache变量的值。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_table_open_cache |
table_open_cache_instances |
8.0 |
0 |
16 |
[1-64] |
无限制 |
打开表缓存实例的数量。为了通过减少会话之间的争用来提高可扩展性,打开表缓存可以被分成大小为table_open_cache / table_open_cache_instances的几个较小的缓存实例。一个会话只需要锁定一个实例,就可以访问它进行DML语句。这将缓存访问分段到实例中,允许在有许多会话访问表的情况下,执行使用缓存的操作时获得更高的性能。DDL语句仍然需要锁定整个缓存,但这些语句比DML语句频率要低得多。 |
|
temptable_max_mmap |
8.0 |
1 |
1073741824 |
[0-18446744073709551615] |
[20210930,99999999] |
定义了在将数据存储到InnoDB内部临时表之前,TempTable存储引擎允许从内存映射临时文件中分配的最大内存量(以字节为单位)。设置为0会禁用从内存映射临时文件的内存分配。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_temptable_max_mmap |
temptable_max_ram |
8.0 |
1 |
1073741824 |
[2097152-107374182400] |
无限制 |
在开始将数据存储到磁盘之前,TempTable存储引擎允许从主存储器(RAM)分配的最大内存量(以字节为单位)。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_temptable_max_ram |
thread_cache_size |
8.0 |
1 |
100 |
[0-16384] |
无限制 |
服务器应该缓存多少个线程以供重复使用。当客户端断开连接时,如果线程缓存中的线程数小于thread_cache_size,则将客户端的线程放入缓存中。如果可能的话,通过重新使用从缓存中获取的线程来满足线程请求,只有在缓存为空时才会创建新线程。如果您有大量的新连接,可以增加此变量以提高性能。通常,如果您有良好的线程实现,这不会提供显着的性能改进。但是,如果您的服务器每秒钟看到数百个连接,则通常应将thread_cache_size设置得足够高,以便大多数新连接使用缓存的线程。通过检查Connections和Threads_created状态变量之间的差异,可以看到线程缓存的效率如何。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_thread_cache_size |
thread_stack |
8.0 |
0 |
1048576 |
[131072-2147483647] |
无限制 |
每个线程的堆栈大小。默认值为192KB(64位系统为256KB),对于正常操作来说已足够大。如果线程堆栈大小太小,它会限制服务器能处理的SQL语句的复杂性,存储过程的递归深度以及其他消耗内存的操作。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_thread_stack |
tls_version |
8.0 |
0 |
TLSv1,TLSv1.1,TLSv1.2 |
[TLSv1,TLSv1.1,TLSv1.2,TLSv1.3|TLSv1,TLSv1.1|TLSv1.2,TLSv1.3|TLSv1.3] |
无限制 |
服务器允许加密连接的协议。该值是一个由逗号分隔的列表,包含一个或多个协议名称。可以为此变量命名的协议取决于用于编译MySQL的SSL库。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_tls_version |
tmp_table_size |
8.0 |
1 |
2097152 |
[262144-268435456] |
无限制 |
内部内存中临时表的最大大小。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_tmp_table_size |
transaction_alloc_block_size |
8.0 |
1 |
8192 |
[1024-131072] |
无限制 |
增加每个事务内存池需要的内存量(以字节为单位)。请参见transaction_prealloc_size的描述。 |
|
transaction_isolation |
8.0 |
1 |
READ-COMMITTED |
[READ-UNCOMMITTED|READ-COMMITTED|REPEATABLE-READ|SERIALIZABLE] |
无限制 |
默认事务隔离级别。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_transaction_isolation |
transaction_prealloc_size |
8.0 |
1 |
4096 |
[1024-131072] |
无限制 |
有一个每个事务的内存池,用于从中分配各种与事务相关的内存。池的初始大小(以字节为单位)为transaction_prealloc_size。对于由于内存不足而无法满足的每个分配,池将增加transaction_alloc_block_size个字节。当事务结束时,池将被截断为transaction_prealloc_size个字节。 |
|
transaction_write_set_extraction |
8.0 |
1 |
XXHASH64 |
[OFF|XXHASH64] |
[20210930,99999999) |
这个系统变量指定在事务中提取的写操作使用的哈希算法。默认值为XXHASH64。 |
|
updatable_views_with_limit |
8.0 |
1 |
YES |
[YES|NO] |
无限制 |
此变量控制在视图不包含底层表中定义的主键的所有列的情况下,是否可以在更新语句中包含LIMIT子句时对视图进行更新(此类更新通常由GUI工具生成)。更新可以是UPDATE或DELETE语句。此处的主键指的是主键或唯一索引,该索引中没有列可以包含NULL。 |
|
wait_timeout |
8.0 |
1 |
86400 |
[1-31536000] |
无限制 |
服务器在关闭非交互式连接之前等待活动的秒数。 |
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_wait_timeout |
windowing_use_high_precision |
8.0 |
1 |
ON |
[ON|OFF] |
无限制 |
是否计算窗口操作时不丢失精度。 |
|
loose_innodb_log_writer_threads |
8.0 |
1 |
ON |
[ON|OFF] |
20201231及之后的版本 |
ON: 启用日志写入线程,由专门的线程负责日志的写入和刷新。OFF: 每个线程各自独立执行日志的写入和刷新操作。 |
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_log_writer_threads |
loose_log_error_suppression_list |
8.0 |
1 |
MY-010520,MY-013360 |
.* |
无限制 |
log_error_suppression_list系统变量适用于目标为错误日志的事件,并指定了在发生时优先级为WARNING或 INFORMATION的哪些事件应被抑制。例如,如果某种警告类型因为频繁出现但对关注点不重要,被认为是错误日志中的无用“噪音”,则可以将其抑制。 |
|
loose_session_track_system_variables |
8.0 |
1 |
无默认值 |
.* |
无限制 |
用于控制服务器是否跟踪及通知客户端关于会话系统变量赋值的系统变量。通过设置此变量,可以指定服务器应当跟踪哪些变量的赋值动作,并将变量名及其新值通知给客户端。 |
|
loose_rpl_semi_sync_master_timeout |
8.0 |
1 |
1000 |
[0-18446744073709551615] |
无限制 |
一个以毫秒为单位的值,用于控制主服务器在从副本接收到提交确认前的等待时间,超过这个时间后,如果还未收到确认,主服务器将回滚到异步复制模式。默认值为10000毫秒(10秒)。
说明
此变量只有在主服务器侧的半同步复制插件已经安装的情况下才可用。 |