您可以在这里了解到截止到发表日MySQL 5.6所有已开放的参数信息。
参数名称 | 大版本 | 是否动态参数 | 默认值 | 取值范围 | 小版本范围 | 中文描述 |
automatic_sp_privileges | 5.6 | 1 | ON | [ON|OFF] | 无限制 | 当该变量的值为ON(默认值)时,如果用户无法执行、修改或删除存储过程,则服务器会自动授予创建者执行和修改存储过程的权限。如果automatic_sp_privileges的值为OFF,则服务器不会自动添加或删除这些权限。 |
auto_increment_increment | 5.6 | 1 | 1 | [1-65535] | 无限制 | 自动增量列的增量值。 |
auto_increment_offset | 5.6 | 1 | 1 | [1-65535] | 无限制 | 决定AUTO_INCREMENT列值的起始点。 |
back_log | 5.6 | 0 | 3000 | [0-65535] | 无限制 | MySQL可以拥有的未完成连接请求的数量。 |
binlog_rows_query_log_events | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | binlog_rows_query_log_events系统变量仅影响基于行的日志记录。启用时,它会导致MySQL服务器将行查询日志事件等信息写入其二进制日志。这些信息可用于调试和相关目的,例如在无法从行更新中重建主查询时获取主服务器上发出的原始查询。 |
binlog_row_image | 5.6 | 1 | full | [full|minimal] | 无限制 | Binlog是否保存每个列或仅保存实际所需列在Binlog中的图像。 |
binlog_stmt_cache_size | 5.6 | 1 | 32768 | [4096-16777216] | 无限制 | 用于二进制日志中非事务引擎的更新语句缓存的大小。 |
block_encryption_mode | 5.6 | 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()的加密。 |
bulk_insert_buffer_size | 5.6 | 1 | 4194304 | [0-4294967295] | 无限制 | MyISAM使用一种特殊的树状缓存来加速对非空表进行批量插入的操作,例如INSERT ... SELECT,INSERT ... VALUES (...), (...), ...和LOAD DATA INFILE。这个变量限制了每个线程的缓存树的大小,单位是字节。将其设置为0将禁用此优化。 默认值:8MB |
character_set_client | 5.6 | 1 | utf8 | [utf8|latin1|gbk|utf8mb4] | 无限制 | 客户端发送的语句的字符集。该变量的会话值是在客户端连接到服务器时,根据客户端请求的字符集设置的。许多客户端支持--default-character-set选项,以便显式指定字符集。 |
character_set_filesystem | 5.6 | 1 | binary | [utf8|latin1|gbk|binary] | 无限制 | 文件系统的字符集。该变量用于解释指向文件名的字符串字面值,例如在LOAD DATA INFILE、SELECT ... INTO OUTFILE语句和LOAD_FILE()函数中。在尝试打开文件之前,这些文件名将从character_set_client转换为character_set_filesystem。 默认值:binary,表示不进行转换。 对于允许使用多字节文件名的系统,可能需要设置不同的值。例如,如果系统使用UTF-8表示文件名,则将character_set_filesystem设置为"utf8"。 |
character_set_server | 5.6 | 0 | utf8 | [utf8|latin1|gbk|utf8mb4] | 无限制 | 服务器的默认字符集。 |
concurrent_insert | 5.6 | 1 | 1 | [0|1|2] | 无限制 | 各取值含义如下:
|
connect_timeout | 5.6 | 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值可能会有所帮助。 |
default_storage_engine | 5.6 | 0 | InnoDB | [InnoDB|TokuDB|innodb|tokudb] | 无限制 | 新表的默认存储引擎。 |
default_time_zone | 5.6 | 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] | 无限制 | 数据库的默认时区。 |
default_week_format | 5.6 | 1 | 0 | [0-7] | 无限制 | 用于WEEK()函数的默认模式值。 |
delayed_insert_limit | 5.6 | 1 | 100 | [1-4294967295] | 无限制 | 在插入delayed_insert_limit个延迟行之后,INSERT DELAYED处理程序线程会检查是否有任何挂起的SELECT语句。如果有,则允许它们在继续插入延迟行之前执行。 |
delayed_insert_timeout | 5.6 | 1 | 300 | [1-3600] | 无限制 | 一个INSERT DELAYED处理程序线程在终止之前应该等待多少秒的INSERT语句。 |
delayed_queue_size | 5.6 | 1 | 1000 | [1-4294967295] | 无限制 | 这是处理INSERT DELAYED语句时在每个表上排队的行数限制。如果队列变满,发出INSERT DELAYED语句的任何客户端都必须等待,直到队列再次有空间为止。 |
delay_key_write | 5.6 | 1 | ON | [ON|OFF|ALL] | 无限制 | 此选项仅适用于MyISAM表。它可以有以下一个值来影响处理在CREATE TABLE语句中可以使用的DELAY_KEY_WRITE表选项的方式。 |
disconnect_on_expired_password | 5.6 | 0 | ON | [ON|OFF] | 无限制 | 该变量控制服务器如何处理具有过期密码的客户端。 |
div_precision_increment | 5.6 | 1 | 4 | [0-30] | 无限制 | 该变量指示通过/运算符执行的除法操作结果的小数位数应增加多少位。最小值和最大值分别为0和30。 默认值:4。 |
end_markers_in_json | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 优化器JSON输出是否应添加结束标记。 |
eq_range_index_dive_limit | 5.6 | 1 | 10 | [0-4294967295] | 无限制 | 如果索引的等值范围数量大于或等于此数字,则优化器将使用现有的索引统计信息而不是进行索引深入。如果设置为0,则始终使用索引深入。 |
explicit_defaults_for_timestamp | 5.6 | 0 | FALSE | [TRUE|FALSE] | 无限制 | TIMESTAMP列的默认值是否为当前时间戳。 |
flush_time | 5.6 | 1 | 0 | [0-31536000] | 无限制 | 如果设置为非零值,则每flush_time秒关闭所有表,以释放资源并将未刷新的数据同步到磁盘。此选项最好仅用于资源最少的系统。 |
ft_max_word_len | 5.6 | 0 | 84 | [10-4294967295] | 无限制 | MyISAM FULLTEXT索引中要包含的单词的最大长度。 |
ft_min_word_len | 5.6 | 0 | 4 | [1-3600] | 无限制 | FULLTEXT索引中要包含的单词的最小长度。 |
ft_query_expansion_limit | 5.6 | 0 | 20 | [0-1000] | 无限制 | 使用WITH QUERY EXPANSION执行全文搜索时要使用的前N个匹配项的数量。 |
general_log | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 通用查询日志是否启用。日志输出的目标由log_output系统变量控制。 |
group_concat_max_len | 5.6 | 1 | 1024 | [4-1844674407370954752] | 无限制 | GROUP_CONCAT()函数允许的最大结果长度(以字节为单位)。 默认值:1024字节。 |
host_cache_size | 5.6 | 1 | 643 | [0-65535] | 无限制 | 内部主机缓存的大小。将大小设置为0将禁用主机缓存。在运行时更改缓存大小会隐式地执行FLUSH HOSTS操作,清除主机缓存并截断host_cache表。 |
init_connect | 5.6 | 1 | '' | [''|'set names utf8mb4'|'set names utf8'] | 无限制 | 每个新连接执行的命令。 |
innodb_adaptive_flushing | 5.6 | 1 | ON | [ON|OFF] | 无限制 | 确定是否根据工作负载动态调整InnoDB缓冲池中脏页刷新的频率。动态调整刷新频率的目的是避免I/O活动的突发情况。 |
innodb_adaptive_flushing_lwm | 5.6 | 1 | 10 | [0-70] | 无限制 | 定义低水位标记,表示重做日志容量的百分比,达到该标记时启用自适应刷新。 |
innodb_adaptive_hash_index | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | innodb_adaptive_hash_index是InnoDB存储引擎的一个参数,用于启用或禁用自适应哈希索引。 |
innodb_adaptive_max_sleep_delay | 5.6 | 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_additional_mem_pool_size | 5.6 | 0 | 2097152 | [2097152-104857600] | 无限制 | 用于设置InnoDB存储引擎的额外内存池大小。 |
innodb_autoextend_increment | 5.6 | 1 | 64 | [1-1000] | 无限制 | 当自动扩展的InnoDB系统表空间文件满时,增加其大小的增量大小(以兆字节为单位)。 默认值:64 |
innodb_autoinc_lock_mode | 5.6 | 0 | 2 | [0|1|2] | 无限制 | 用于生成自动增量值的锁定模式。允许值分别为:
|
innodb_buffer_pool_dump_at_shutdown | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 指定是否在MySQL服务器关闭时记录InnoDB缓冲池中缓存的页面,以缩短下次重启时的预热过程。通常与innodb_buffer_pool_load_at_startup配合使用。innodb_buffer_pool_dump_pct选项定义需要转储的最近使用的缓冲池页面的百分比。 |
innodb_buffer_pool_instances | 5.6 | 0 | {LEAST(DBInstanceClassMemory/1073741824, 8)} | [1-64] | 无限制 | InnoDB缓冲池被划分为的区域数。对于具有多GB级缓存池的系统,将缓存池划分为单独的实例可以提高并发性,通过减少不同线程读写缓存页面时的争用。每个存储在或从缓存池中读取的页面随机分配到缓存池实例之一,使用哈希函数进行分配。每个缓存池管理其自己的空闲列表、刷新列表、LRUs和所有与缓存池连接的其他数据结构,并由其自己的缓存池互斥量进行保护。 |
innodb_buffer_pool_load_at_startup | 5.6 | 0 | OFF | [ON|OFF] | 无限制 | 指定在MySQL服务器启动时,通过加载之前保存在InnoDB缓冲池中的相同页面来自动预热缓冲池。通常与innodb_buffer_pool_dump_at_shutdown一起使用。 |
innodb_buffer_pool_size | 5.6 | 0 | {DBInstanceClassMemory*3/4} | [134217728-18446744073709551615] | 无限制 | 缓冲池的大小(以字节为单位),即InnoDB缓存表和索引数据的内存区域。只能通过表达式设置,不支持设置具体的数值。 |
innodb_change_buffering | 5.6 | 1 | all | [none|inserts|deletes|changes|purges|all] | 无限制 | InnoDB是否执行更改缓冲,这是一种优化,它延迟对辅助索引的写操作,以便可以顺序执行I/O操作。 |
innodb_change_buffer_max_size | 5.6 | 1 | 25 | [0-50] | 无限制 | InnoDB更改缓冲区的最大大小,作为缓冲池总大小的百分比。您可能需要增加此值,以适应具有大量插入、更新和删除活动的MySQL服务器,或降低此值以适应用于报告的不变数据的MySQL服务器。 |
innodb_checksum_algorithm | 5.6 | 1 | innodb | [innodb|crc32|none|strict_innodb|strict_crc32|strict_none] | 无限制 | 指定如何生成和验证存储在InnoDB表空间的磁盘块中的校验和。 |
innodb_cmp_per_index_enabled | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 在INFORMATION_SCHEMA.INNODB_CMP_PER_INDEX表中启用每个索引的压缩相关统计信息。由于这些统计信息的收集可能很昂贵,因此仅在与InnoDB压缩表相关的性能调整期间,仅在开发、测试或从属实例上启用此选项。 |
innodb_commit_concurrency | 5.6 | 0 | 0 | [0-1000] | 无限制 | 可以同时提交的线程数。值为0(默认值)允许任意数量的事务同时提交。 |
innodb_compression_failure_threshold_pct | 5.6 | 1 | 5 | [0-100] | 无限制 | 定义表的压缩失败率阈值,以百分比表示,此时MySQL开始在压缩页面中添加填充,以避免昂贵的压缩失败。当超过此阈值时,MySQL开始在每个新的压缩页面中留下额外的空闲空间,动态调整空闲空间的数量,最多调整到innodb_compression_pad_pct_max指定的页面大小的百分比。值为零将禁用监视压缩效率并动态调整填充量的机制。 |
innodb_compression_level | 5.6 | 1 | 6 | [0-9] | 无限制 | 指定用于InnoDB压缩表和索引的zlib压缩级别。较高的值可以让您将更多的数据放入存储设备中,但在压缩过程中会带来更多的CPU开销。较低的值可以在存储空间不关键或您期望数据不是特别可压缩时减少CPU开销。 |
innodb_compression_pad_pct_max | 5.6 | 1 | 50 | [0-70] | 无限制 | 指定可以作为每个压缩页面内预留的最大百分比的空闲空间,以便在更新压缩表或索引并且数据可能需要重新压缩时,为数据和修改日志在页面内重新组织提供空间。仅适用于innodb_compression_failure_threshold_pct设置为非零值并且压缩失败率超过截止点时。 |
innodb_concurrency_tickets | 5.6 | 1 | 5000 | [1-4294967295] | 无限制 | innodb_thread_concurrency变量确定可以同时进入InnoDB的线程数。 |
innodb_disable_sort_file_cache | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 如果启用,则在InnoDB使用排序文件时禁用页缓存。 |
innodb_flush_log_at_trx_commit | 5.6 | 1 | 1 | [0|1|2] | 无限制 | 当innodb_flush_log_at_trx_commit的值为0时,日志缓冲区每秒写入一次日志文件,并执行对日志文件的刷新到磁盘操作,但在事务提交时不执行任何操作。 当值为1(默认值)时,日志缓冲区在每个事务提交时写入日志文件,并执行对日志文件的刷新到磁盘操作。 当值为2时,日志缓冲区在每个提交时写入文件,但不对其执行刷新到磁盘操作。然而,当值为2时,日志文件每秒也会进行一次刷新。 |
innodb_flush_method | 5.6 | 0 | O_DIRECT | [fsync|O_DSYNC|littlesync|nosync|O_DIRECT|O_DIRECT_NO_FSYNC] | 无限制 | 定义用于将数据刷新到InnoDB数据文件和日志文件的方法,这可能会影响I/O吞吐量。 |
innodb_flush_neighbors | 5.6 | 1 | 0 | [0|1|2] | 无限制 | 指定是否将从InnoDB缓冲池中刷新页面也刷新同一扩展中的其他脏页。 |
innodb_ft_cache_size | 5.6 | 0 | 8000000 | [1600000-80000000] | 无限制 | 为InnoDB FULLTEXT搜索索引缓存分配的内存,以字节为单位,在创建InnoDB FULLTEXT索引时在内存中保存解析的文档。只有当达到innodb_ft_cache_size大小限制时,索引插入和更新才会提交到磁盘。innodb_ft_cache_size在每个表的基础上定义缓存大小。 |
innodb_ft_enable_diag_print | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 是否启用额外的全文搜索(FTS)诊断输出。此选项主要用于高级FTS调试,对大多数用户不感兴趣。输出打印到错误日志中,包括信息。 |
innodb_ft_enable_stopword | 5.6 | 1 | ON | [ON|OFF] | 无限制 | 在创建InnoDB FULLTEXT索引时,指定一组停用词与之关联。如果设置了innodb_ft_user_stopword_table选项,则从该表中获取停用词。否则,如果设置了innodb_ft_server_stopword_table选项,则从该表中获取停用词。否则,使用内置的默认停用词集。 |
innodb_ft_max_token_size | 5.6 | 0 | 84 | [10-84] | 无限制 | 存储在InnoDB FULLTEXT索引中的单词的最大长度。 |
innodb_ft_min_token_size | 5.6 | 0 | 3 | [0-16] | 无限制 | 存储在InnoDB FULLTEXT索引中的单词的最小长度。 |
innodb_ft_num_word_optimize | 5.6 | 1 | 2000 | [0-10000] | 无限制 | 在对InnoDB FULLTEXT索引进行每个OPTIMIZE TABLE操作时要处理的单词数。因为对包含全文搜索索引的表的大容量插入或更新操作可能需要进行大量索引维护以合并所有更改,所以您可能会执行一系列OPTIMIZE TABLE语句,每个语句在上一个语句结束的地方继续执行。 |
innodb_ft_result_cache_limit | 5.6 | 1 | 2000000000 | [1000000-4294967295] | 无限制 | InnoDB全文搜索查询结果缓存限制(以字节为单位),每个全文搜索查询或每个线程限制。中间和最终的InnoDB全文搜索查询结果在内存中处理。 使用innodb_ft_result_cache_limit在全文搜索查询结果缓存上设置大小限制,以避免在出现非常大的InnoDB全文搜索查询结果(例如数百万或数亿行)时过度消耗内存。 处理全文搜索查询时会根据需要分配内存。如果达到结果缓存大小限制,将返回错误,指示查询超过了允许的最大内存。 |
innodb_lru_scan_depth | 5.6 | 1 | 1024 | [100-18446744073709551615] | 无限制 | 一个影响InnoDB缓冲池刷新操作算法和启发式算法的参数。主要用于调优I/O密集型工作负载的性能专家。它指定每个缓冲池实例,页面清理器线程在缓冲池LRU页面列表中扫描多远以查找要刷新的脏页。这是一个每秒执行一次的后台操作。 |
innodb_max_dirty_pages_pct | 5.6 | 1 | 75 | [0-99] | 无限制 | 这是一个整数,范围为0~100。内置InnoDB的默认值为90,InnoDB插件的默认值为75。InnoDB中的主线程尝试从缓冲池中写入页面,以使脏(尚未写入)页面的百分比不超过此值。 |
innodb_max_dirty_pages_pct_lwm | 5.6 | 1 | 10 | [0-99] | 无限制 | 定义一个低水位标记,表示脏页百分比,该百分比上开始启用预刷操作来控制脏页比率。 默认值:0,完全禁用预刷行为。 |
innodb_max_purge_lag | 5.6 | 1 | 0 | [0-4294967295] | 无限制 | 定义清理队列的最大长度。 默认值:0,表示没有限制(没有延迟)。 |
innodb_max_purge_lag_delay | 5.6 | 1 | 0 | [0-10000000] | 无限制 | 指定由innodb_max_purge_lag配置选项施加的延迟的最大延迟时间(以微秒为单位)。非零值表示对延迟周期施加基于innodb_max_purge_lag值的公式的上限。 默认值:0,表示没有对延迟间隔施加上限。 |
innodb_monitor_disable | 5.6 | 1 | 不涉及 | all | 无限制 | 禁用InnoDB度量计数器。可以使用INFORMATION_SCHEMA.INNODB_METRICS表查询计数器数据。 |
innodb_monitor_enable | 5.6 | 1 | 不涉及 | all | 无限制 | 启用InnoDB监视器输出。启用后,InnoDB会生成详细的运行时信息,可用于性能分析和故障排除。可以使用SHOW ENGINE INNODB STATUS命令查看输出。 |
innodb_old_blocks_pct | 5.6 | 1 | 37 | [5-95] | 无限制 | (仅适用于InnoDB插件)指定用于旧块子列表的InnoDB缓冲池的近似百分比。 取值范围:5~95 默认值:37(即池的3/8) |
innodb_old_blocks_time | 5.6 | 1 | 1000 | [0-1024] | 无限制 | (仅适用于InnoDB插件)指定插入到旧子列表中的块在首次访问后必须在那里停留的时间(以毫秒为单位),然后才能移动到新子列表。 默认值:0,插入到旧子列表中的块在首次访问时立即移动到新子列表中,无论插入后多久访问发生。 如果该值大于0,则块保留在旧子列表中,直到首次访问至少在第一次访问之后的这么多毫秒后发生。 单位:毫秒 |
innodb_online_alter_log_max_size | 5.6 | 1 | 134217728 | [134217728-2147483647] | 无限制 | 在线索引创建的最大修改日志文件大小。 |
innodb_open_files | 5.6 | 0 | {LEAST(DBInstanceClassCPU*500, 8000)} | [10-2147483647] | 无限制 | 此变量仅在使用多个InnoDB表空间时才相关。它指定MySQL一次可以保持打开的最大.ibd文件数量。最小值为10。 默认值:300 |
innodb_optimize_fulltext_only | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 更改OPTIMIZE TABLE在InnoDB表上操作的方式。旨在具有FULLTEXT索引的InnoDB表的维护操作期间临时启用。 |
innodb_print_all_deadlocks | 5.6 | 1 | OFF | [OFF|ON] | 无限制 | 将所有死锁信息打印到MySQL错误日志中(默认情况下关闭)。 |
innodb_purge_batch_size | 5.6 | 0 | 300 | [1-5000] | 无限制 | 表示触发清除操作(将更改的缓冲池块刷新到磁盘)的更改粒度,以重做日志记录为单位。 |
innodb_purge_threads | 5.6 | 0 | {LEAST(DBInstanceClassMemory/1073741824, 8)} | [1-32] | 无限制 | 专门用于InnoDB清除操作的后台线程数。 |
innodb_random_read_ahead | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 启用随机预读技术以优化InnoDB I/O。 |
innodb_read_ahead_threshold | 5.6 | 1 | 56 | [0-1024] | 无限制 | (仅适用于InnoDB插件)控制InnoDB用于预读页面到缓冲池中的线性预读的灵敏度。如果InnoDB从一个范围(64页)中按顺序读取了至少innodb_read_ahead_threshold页,则会启动整个后续范围的异步读取。 |
innodb_read_io_threads | 5.6 | 0 | 4 | [1-64] | 无限制 | (仅适用于InnoDB插件)InnoDB读取操作的I/O线程数。 默认值:4 |
innodb_rollback_on_timeout | 5.6 | 0 | OFF | [OFF|ON] | 无限制 | 默认情况下,InnoDB仅回滚事务超时的最后一条语句。如果指定了--innodb_rollback_on_timeout,则事务超时会导致InnoDB中止并回滚整个事务(与MySQL 4.1中的行为相同)。此变量是在MySQL 5.1.15中添加的。 |
innodb_rollback_segments | 5.6 | 1 | 128 | [1-128] | 无限制 | 定义InnoDB使用的回滚段数。 |
innodb_sort_buffer_size | 5.6 | 0 | 1048576 | [65536-67108864] | 无限制 | 指定在创建InnoDB索引期间用于排序数据的排序缓冲区的大小。指定的大小定义了读入内存进行内部排序并写出到磁盘的数据量。这个过程称为“运行”。在合并阶段,会读取指定大小的一对缓冲区并进行合并。设置越大,运行和合并就越少。 |
innodb_spin_wait_delay | 5.6 | 1 | 6 | [0-4294967295] | 无限制 | 自旋锁轮询的最大延迟。该机制的底层实现因硬件和操作系统的组合而异,因此延迟不对应于固定的时间间隔。 |
innodb_stats_auto_recalc | 5.6 | 1 | ON | [ON|OFF] | 无限制 | 使InnoDB在表中的数据发生重大更改后自动重新计算持久性统计信息。阈值为表中行数的10%。此设置适用于在启用innodb_stats_persistent选项时创建的表。 还可以通过在CREATE TABLE或ALTER TABLE语句中指定STATS_PERSISTENT=1来配置自动统计重计算。生成统计数据的采样数据量由innodb_stats_persistent_sample_pages配置选项控制。 |
innodb_stats_method | 5.6 | 1 | nulls_equal | [nulls_equal|nulls_unequal|nulls_ignored] | 无限制 | 在收集关于InnoDB表的索引值分布统计信息时,服务器如何处理NULL值。 该变量有三个可能的值:nulls_equal,nulls_unequal和nulls_ignored。
|
innodb_stats_on_metadata | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 此选项仅适用于优化器统计信息配置为非持久性的情况。当innodb_stats_persistent被禁用或在stats_persistent=0的情况下创建或更改单个表时,优化器统计信息不会持久化到磁盘。 |
innodb_stats_persistent | 5.6 | 1 | ON | [ON|OFF] | 无限制 | 指定是否将InnoDB索引统计信息持久保存到磁盘。否则,统计信息可能会经常重新计算,这可能会导致查询执行计划的变化。此设置在创建表时与每个表一起存储。 您可以在创建表之前在全局级别设置innodb_stats_persistent,或者使用CREATE TABLE和ALTER TABLE语句的STATS_PERSISTENT子句来覆盖系统范围内的设置,并为单个表配置持久性统计信息。 |
innodb_stats_persistent_sample_pages | 5.6 | 1 | 20 | [0-4294967295] | 无限制 | 在估算索引列的基数和其他统计信息(例如由ANALYZE TABLE计算的信息)时,要采样的索引页数。增加该值可以提高索引统计信息的准确性,从而可以提高查询执行计划,但会增加执行InnoDB表的ANALYZE TABLE期间的I/O负载。 |
innodb_stats_sample_pages | 5.6 | 1 | 8 | [1-4294967296] | 无限制 | (仅适用于InnoDB插件)用于索引分布统计信息的索引页数,例如由ANALYZE TABLE计算的统计信息。 默认值:8 |
innodb_stats_transient_sample_pages | 5.6 | 1 | 8 | [1-4294967295] | 无限制 | 在估算索引列的基数和其他统计信息(例如由ANALYZE TABLE计算的信息)时,要采样的索引页数。增加该值可以提高索引统计信息的准确性,从而可以提高查询执行计划,但会增加打开InnoDB表或重新计算统计信息时的I/O负载。 默认值:8 |
innodb_status_output | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 启用或禁用标准InnoDB监视器的定期输出。也与innodb_status_output_locks结合使用,以启用或禁用InnoDB锁监视器的定期输出。 |
innodb_status_output_locks | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 启用或禁用InnoDB锁监视器。 启用时,InnoDB锁监视器在SHOW ENGINE INNODB STATUS输出中打印有关锁的其他信息,并在打印到MySQL错误日志的定期输出中打印。 InnoDB锁监视器的定期输出作为标准InnoDB监视器输出的一部分打印。因此,在InnoDB锁监视器定期将数据打印到MySQL错误日志中时,必须启用标准InnoDB监视器。 |
innodb_strict_mode | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | (仅适用于InnoDB插件)InnoDB是否返回错误而不是警告,以针对某些条件进行严格SQL模式类似的操作。 |
innodb_support_xa | 5.6 | 1 | ON | [ON|OFF] | 无限制 | 启用InnoDB对XA事务的两阶段提交的支持,导致事务准备时进行额外的磁盘刷新。XA机制在内部使用,对于任何打开二进制日志并从多个线程接受数据更改的服务器都是必不可少的。 如果禁用innodb_support_xa,则事务可以以与实时数据库提交它们的顺序不同的顺序写入二进制日志,这可能会在灾难恢复或复制从属服务器上回放二进制日志时产生不同的数据。除非您有一种只有一个线程能够更改数据的非常规设置,否则不要在复制主服务器上禁用innodb_support_xa。 |
innodb_sync_array_size | 5.6 | 0 | 128 | [1-1024] | 无限制 | 定义互斥锁/锁等待数组的大小。增加该值会分割用于协调线程的内部数据结构,从而提高具有大量等待线程的工作负载的并发性。必须在MySQL实例启动时配置此设置,之后无法更改。建议对于频繁产生大量等待线程的工作负载,通常大于768,应该增加该值。 |
innodb_sync_spin_loops | 5.6 | 1 | 100 | [0-4294967295] | 无限制 | 线程等待InnoDB互斥锁被释放的次数,然后线程被挂起。 |
innodb_table_locks | 5.6 | 1 | ON | [ON|OFF] | 无限制 | 如果autocommit = 0,则InnoDB遵循LOCK TABLES;MySQL在LOCK TABLES ... WRITE之前不会返回,直到所有其他线程释放了它们对表的锁定。innodb_table_locks的默认值为1,这意味着如果autocommit = 0,则LOCK TABLES会导致InnoDB在内部锁定表。 |
innodb_thread_concurrency | 5.6 | 1 | 0 | [0-1000] | 无限制 | InnoDB试图保持在InnoDB内并发运行的操作系统线程数量小于或等于此变量给出的限制。一旦线程数达到此限制,额外的线程将被放置在等待状态中,排队等待执行(FIFO队列)。 |
innodb_thread_sleep_delay | 5.6 | 1 | 10000 | [0-1000000] | 无限制 | 加入innodb队列之前innodb线程睡眠的时间(usec)。值0禁用睡眠。 |
innodb_write_io_threads | 5.6 | 0 | 4 | [1-64] | 无限制 | (仅适用于InnoDB插件)InnoDB中用于写操作的I/O线程数量。 默认值:4 |
interactive_timeout | 5.6 | 1 | 7200 | [10-86400] | 无限制 | 服务器在关闭交互式连接之前等待交互连接上的活动的秒数。交互式客户端定义为使用CLIENT_INTERACTIVE选项连接到mysql_real_connect()的客户端。 单位:秒 |
join_buffer_size | 5.6 | 1 | {LEAST(DBInstanceClassMemory/1048576*128, 262144)} | [128-4294967295] | 无限制 | 用于普通索引扫描、范围索引扫描和不使用索引的连接(因此执行完整表扫描)的缓冲区的最小大小。 |
key_cache_age_threshold | 5.6 | 1 | 300 | [100-4294967295] | 无限制 | 此值控制缓存关键字热子列表的缓冲区向温子列表的降级。较低的值会使降级更快。最小值为100。 默认值:300 单位:秒 |
key_cache_block_size | 5.6 | 1 | 1024 | [512-16384] | 无限制 | 关键字缓存中块的大小,以字节为单位。 默认值:1024 单位:字节 |
key_cache_division_limit | 5.6 | 1 | 100 | [1-100] | 无限制 | 关键字缓存缓冲区列表的热子列表和温子列表的分界点。该值是用于温子列表的缓冲区列表的百分比。 取值范围:1~100 默认值:100 |
lc_time_names | 5.6 | 1 | en_US | [ja_JP|pt_BR|en_US] | 无限制 | 该变量指定控制显示日期和月份名称和缩写所使用的语言的区域设置。此变量会影响DATE_FORMAT()、DAYNAME()和MONTHNAME()函数的输出。区域设置名称是类POSIX风格的值,例如'ja_JP'或'pt_BR'。默认值:'en_US',不考虑系统的区域设置。 |
local_infile | 5.6 | 1 | ON | [ON|OFF] | 无限制 | 此变量控制LOAD DATA语句的服务器端LOCAL功能。 |
lock_wait_timeout | 5.6 | 1 | 31536000 | [1-1073741824] | 无限制 | 此变量指定尝试获取元数据锁的超时时间(以秒为单位)。 取值范围:1~31536000(1年) 默认值:31536000 |
log_bin_use_v1_row_events | 5.6 | 1 | 1 | [0|1] | 无限制 |
|
log_queries_not_using_indexes | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 是否将不使用索引的查询记录到慢查询日志中。 |
log_slow_admin_statements | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 将慢查询日志中写入的语句包括慢速管理语句。 |
log_throttle_queries_not_using_indexes | 5.6 | 1 | 0 | [0-4294967295] | 无限制 | 如果启用了log_queries_not_using_indexes,则log_throttle_queries_not_using_indexes变量限制每分钟可以写入慢查询日志中的此类查询的数量。 |
log_warnings | 5.6 | 1 | 1 | [0-18446744073709551615] | 无限制 | 是否生成额外的警告消息到错误日志。 |
long_query_time | 5.6 | 1 | 1 | [0.1-31536000] | 无限制 | 如果查询耗时超过这么多秒,服务器就会增加Slow_queries状态变量的计数。如果启用了慢查询日志,则将查询记录到慢查询日志文件中。单位:秒 |
loose_gap_lock_raise_error | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 在执行依赖于间隙锁(Gap Lock)的查询时是否引发错误。 |
loose_gap_lock_write_log | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 在执行依赖于间隙锁(Gap Lock)的查询时,将写入到gap_lock_log_file中。 默认值:OFF |
loose_innodb_data_file_purge | 5.6 | 1 | ON | [ON|OFF] | 无限制 | 逐步逐渐地进行数据文件清理。 |
loose_innodb_data_file_purge_interval | 5.6 | 1 | 100 | [0-10000] | 无限制 | 每个数据文件清理操作之间的时间间隔(毫秒)。 |
loose_innodb_data_file_purge_max_size | 5.6 | 1 | 512 | [16-1073741824] | 无限制 | 每个数据文件清理操作的最大大小(MB)。 |
loose_innodb_rds_faster_ddl | 5.6 | 1 | ON | [ON|OFF] | [20200430,99999999) | 更快DDL的功能开关。 |
loose_max_execution_time | 5.6 | 1 | 0 | [0-4294967295] | [20200630,99999999) | 如果执行时间超过此值,将中断语句的执行。 |
loose_max_statement_time | 5.6 | 1 | 0 | [0-4294967295] | 无限制 | 如果执行时间超过此值,语句将被中断。 |
loose_optimizer_switch | 5.6 | 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系统变量可以控制优化器的行为。 |
loose_optimizer_trace | 5.6 | 1 | enabled=off,one_line=off | .* | 无限制 | optimizer_trace系统变量具有这些开关选项:enabled、one_line。 |
loose_optimizer_trace_features | 5.6 | 1 | greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on | .* | 无限制 | 可以使用optimizer_trace_features系统变量将这些功能排除在跟踪之外。 |
loose_rds_audit_max_sql_size | 5.6 | 1 | 8192 | [0-32768] | 无限制 | RDS审计日志中的最大SQL大小。 |
loose_rds_indexstat | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 如果设置为ON,开始收集索引信息。 |
loose_rds_max_tmp_disk_space | 5.6 | 1 | 10737418240 | [10737418240-107374182400] | 无限制 | 用于设置临时磁盘空间的最大限制。 |
loose_rds_set_connection_id_enabled | 5.6 | 1 | ON | [ON|OFF] | 无限制 | 用于启用或禁用自定义连接ID,默认禁止。 |
loose_rds_tablestat | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 用于启用或禁用RDS实例上的表统计信息收集,默认禁止。 |
loose_rds_threads_running_high_watermark | 5.6 | 1 | 50000 | [0-50000] | 无限制 | 最大允许的SELECT并发数。 |
loose_sql_safe_updates | 5.6 | 1 | OFF | [ON|OFF] | [20200430,99999999) | 如果启用此变量,则在UPDATE和DELETE语句中没有在WHERE子句或LIMIT子句中使用键时会产生错误。 |
loose_thread_pool_enabled | 5.6 | 1 | ON | [ON|OFF] | 无限制 | 启用或禁用线程池。 |
loose_thread_pool_oversubscribe | 5.6 | 1 | 32 | [10-64] | 无限制 | 允许每个组中的额外活动工作线程数。 |
loose_thread_pool_size | 5.6 | 1 | 4 | [1-16] | 无限制 | 线程池中的线程组数。 |
loose_tokudb_auto_analyze | 5.6 | 1 | 30 | [0-4294967295] | 无限制 | 触发ANALYZE TABLE的表更改百分比。 |
loose_tokudb_buffer_pool_ratio | 5.6 | 0 | 0 | [0-100] | 无限制 | TokuDB缓冲池大小比例。 |
loose_validate_password_length | 5.6 | 1 | 8 | [1-15] | 无限制 | 该变量是validate_password插件提供的,用于设置密码最小长度的要求。只有在安装了validate_password插件的情况下,该变量才可用。 |
lower_case_table_names | 5.6 | 0 | 1 | [0|1] | 无限制 |
|
low_priority_updates | 5.6 | 1 | 0 | [0|1] | 无限制 | 如果设置为1,则所有INSERT、UPDATE、DELETE和LOCK TABLE WRITE语句都会等待,直到受影响表上没有待处理的SELECT或LOCK TABLE READ。这仅影响仅使用表级锁定的存储引擎(如MyISAM、MEMORY和MERGE)。 此变量以前的名称为sql_low_priority_updates。 |
master_verify_checksum | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 启用此变量会导致主服务器在从二进制日志读取时检查校验和。默认情况下禁用master_verify_checksum。在这种情况下,主服务器使用二进制日志中的事件长度来验证事件,以便只有完整的事件才从二进制日志中读取。 |
max_allowed_packet | 5.6 | 1 | 1073741824 | [16384-1073741824] | 无限制 | 数据包消息缓冲区被初始化为net_buffer_length字节,但在需要时可以增长到max_allowed_packet字节。默认情况下,这个值很小,以捕获大的(可能不正确的)数据包。 |
max_binlog_cache_size | 5.6 | 1 | 1.84467E+19 | [4096-18446744073709547520] | 无限制 | max_binlog_cache_size仅设置事务缓存的大小。对于max_binlog_cache_size的会话可见性与binlog_cache_size系统变量的可见性相匹配。 |
max_binlog_stmt_cache_size | 5.6 | 1 | 1.84467E+19 | [4096-18446744073709547520] | 无限制 | 如果事务中的非事务性语句需要的内存超过此值,则服务器会生成错误。最小值为4096。在32位平台上,最大和默认值为4GB,在64位平台上为16EB(exabytes)。 |
max_connections | 5.6 | 1 | 600 | [1-200000] | 无限制 | 最大允许的同时客户端连接数。 |
max_connect_errors | 5.6 | 1 | 100 | [0-4294967295] | 无限制 | 如果来自主机的连续连接请求被中断而没有成功连接的请求超过此值,则服务器会阻止该主机进一步的连接。可以通过刷新主机缓存来解除被阻止的主机的限制。 |
max_error_count | 5.6 | 1 | 64 | [0-65535] | 无限制 | 错误、警告和信息消息的最大数量,以便通过SHOW ERRORS和SHOW WARNINGS语句进行存储和显示。这与诊断区域中的条件区域数相同,因此可以通过GET DIAGNOSTICS检查的条件数也相同。 |
max_heap_table_size | 5.6 | 1 | 16777216 | [16384-1844674407370954752] | 无限制 | 此变量设置用户创建的MEMORY表允许增长到的最大大小。变量的值用于计算MEMORY表的MAX_ROWS值。除非使用CREATE TABLE语句重新创建表或使用ALTER TABLE或TRUNCATE TABLE更改表,否则设置此变量对任何现有的MEMORY表都没有影响。服务器重新启动还会将现有MEMORY表的最大大小设置为全局max_heap_table_size值。 |
max_join_size | 5.6 | 1 | 1.84467E+19 | [1-18446744073709551615] | 无限制 | 不允许可能需要检查超过max_join_size行(对于单表语句)或行组合(对于多表语句)或可能执行超过max_join_size磁盘查找的语句。通过设置此值,您可以捕获未正确使用键的语句,这些语句可能需要很长时间。如果用户倾向于执行缺少WHERE子句、需要很长时间或返回数百万行的连接操作,请设置此变量。 |
max_length_for_sort_data | 5.6 | 1 | 1024 | [0-838860] | 无限制 | 索引值大小的截止点,确定使用哪种文件排序算法。 |
max_prepared_stmt_count | 5.6 | 1 | 16382 | [0-1048576] | 无限制 | 此变量限制服务器中准备好的语句的总数。 |
max_seeks_for_key | 5.6 | 1 | 1.84467E+19 | [1-18446744073709551615] | 无限制 | 限制基于键查找行时假定的最大查找次数。MySQL优化器假定在扫描索引时,查找匹配行所需的键查找次数不超过此数字,无论索引的实际基数如何。通过将其设置为较低的值(例如100),您可以强制MySQL优先选择索引而不是表扫描。 |
max_sort_length | 5.6 | 1 | 1024 | [4-8388608] | 无限制 | 排序数据值时要使用的字节数。服务器仅使用每个值的前max_sort_length个字节,忽略其余部分。因此,对于GROUP BY、ORDER BY和DISTINCT操作,仅在前max_sort_length个字节后不同的值将被视为相等。 |
max_sp_recursion_depth | 5.6 | 1 | 0 | [0-255] | 无限制 | 任何给定存储过程可递归调用的次数。此选项的默认值为0,完全禁用存储过程中的递归。最大值为255。 |
max_user_connections | 5.6 | 1 | 600 | [10-200000] | 无限制 | 任何给定MySQL用户账户允许的最大并发连接数。 |
max_write_lock_count | 5.6 | 1 | 102400 | [1-102400] | 无限制 | 在此数量的写锁之后,允许一些读锁在中间运行。 |
metadata_locks_cache_size | 5.6 | 0 | 1024 | [1-1048576] | 无限制 | 元数据锁缓存的大小。服务器使用此缓存以避免创建和销毁同步对象。在这些操作昂贵的系统上,例如Windows XP,这特别有帮助。 |
min_examined_row_limit | 5.6 | 1 | 0 | [0-4294967295] | 无限制 | 查询检查的行数少于此数字时,不会记录到慢查询日志中。 |
myisam_sort_buffer_size | 5.6 | 1 | 262144 | [262144-16777216] | 无限制 | 在通过REPAIR TABLE进行排序MyISAM索引或使用CREATE INDEX或ALTER TABLE创建索引时分配的缓冲区的大小。 |
net_buffer_length | 5.6 | 1 | 16384 | [1024-1048576] | 无限制 | 每个客户端线程都与连接缓冲区和结果缓冲区相关联。两者都以net_buffer_length指定的大小开始,但根据需要动态扩大到max_allowed_packet字节。每个SQL语句后,结果缓冲区缩小到net_buffer_length。 |
net_read_timeout | 5.6 | 1 | 30 | [1-18446744073709551615] | 无限制 | 在放弃读取之前,等待来自连接的更多数据的秒数。 |
net_retry_count | 5.6 | 1 | 10 | [1-4294967295] | 无限制 | 如果通信端口上的读取或写入被中断,在放弃之前尝试重新尝试此次数。 |
net_write_timeout | 5.6 | 1 | 60 | [1-18446744073709551615] | 无限制 | 在放弃写入之前,等待块写入连接的秒数。 |
old_passwords | 5.6 | 1 | 0 | [0|1|2] | 无限制 | 此变量控制PASSWORD()函数使用的密码哈希方法。它还影响使用IDENTIFIED BY子句指定密码的CREATE USER和GRANT语句执行的密码哈希。 |
open_files_limit | 5.6 | 0 | 655350 | [1-2147483647] | 无限制 | 如果这个值不是0,则mysqld将使用此值来保留文件描述符,以与setrlimit()一起使用。 |
optimizer_prune_level | 5.6 | 1 | 1 | [0|1] | 无限制 | 控制查询优化期间应用的启发式方法,以从优化器搜索空间中修剪不太有前途的部分计划。值为0会禁用启发式方法,使优化器执行彻底搜索。值为1会导致优化器根据中间计划检索的行数修剪计划。 |
optimizer_search_depth | 5.6 | 1 | 62 | [0-62] | 无限制 | 查询优化器执行的最大搜索深度。大于查询结果中关系数的值会导致更好的查询计划,但生成查询的执行计划需要更长时间。小于查询中关系数的值会更快地返回执行计划,但是所得到的计划可能远非最优。如果设置为0,则系统会自动选择合理的值。 |
optimizer_trace_limit | 5.6 | 1 | 1 | [0-4294967295] | 无限制 | 显示的优化器跟踪的最大数量。 |
optimizer_trace_max_mem_size | 5.6 | 1 | 16384 | [0-4294967295] | 无限制 | 存储的优化器跟踪的最大累计大小。 |
optimizer_trace_offset | 5.6 | 1 | -1 | [-2147483648-2147483647] | 无限制 | 要显示的优化器跟踪的偏移量。 |
performance_schema | 5.6 | 0 | OFF | [ON|OFF] | 无限制 | 此变量的值为ON或OFF,表示是否启用性能模式。默认情况下,值为ON。在服务器启动时,您可以指定此变量没有值、值为ON或1以启用它,或者值为OFF或0以禁用它。 |
preload_buffer_size | 5.6 | 1 | 32768 | [1024-1073741824] | 无限制 | 预加载索引时分配的缓冲区大小。 |
query_alloc_block_size | 5.6 | 1 | 8192 | [1024-16384] | 无限制 | 语句解析和执行期间分配给创建对象的内存块的分配大小。 单位:字节 |
query_cache_limit | 5.6 | 1 | 1048576 | [1-1048576] | 无限制 | 不要缓存大于此字节数的结果。默认值为1MB。 |
query_cache_min_res_unit | 5.6 | 1 | 4096 | [512-18446744073709551608] | 无限制 | 查询缓存分配的块的最小大小(以字节为单位)。 默认值:4096(4KB) |
query_cache_size | 5.6 | 1 | 3145728 | [0-104857600] | 无限制 | 为缓存查询结果分配的内存量。默认值为0,表示禁用查询缓存。允许的值为1024的倍数;其他值将舍入到最近的倍数。 单位:字节 |
query_cache_type | 5.6 | 0 | 0 | [0|1|2] | 无限制 | 各取值含义如下:
|
query_cache_wlock_invalidate | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 通常情况下,当一个客户端在MyISAM表上获得写锁时,如果查询结果存在于查询缓存中,则其他客户端不会被阻止发出从表中读取的语句。将此变量设置为1会导致获取表的写锁来使查询缓存中引用该表的任何查询失效。这将强制其他试图访问表的客户端在锁定生效时等待。 |
query_prealloc_size | 5.6 | 1 | 8192 | [8192-1048576] | 无限制 | 语句解析和执行过程中使用的持久缓冲区的大小。该缓冲区在语句之间不会释放。如果您正在运行复杂的查询,则较大的query_prealloc_size值可能有助于提高性能,因为它可以减少服务器在查询执行操作期间执行内存分配的需求。 单位:字节 |
range_alloc_block_size | 5.6 | 1 | 4096 | [4096-18446744073709551615] | 无限制 | 执行范围优化时分配的块的大小。 |
rds_reset_all_filter | 5.6 | 1 | 0 | [0|1] | 无限制 | 用于重置过滤器规则。 |
read_buffer_size | 5.6 | 1 | {LEAST(DBInstanceClassMemory/1048576*128, 262144)} | [8200-2147479552] | 无限制 | 每个执行MyISAM表的顺序扫描的线程,为它扫描的每个表分配这个大小(以字节为单位)的缓冲区。如果它设置为不是4KB的倍数的值,它的值将舍入到最近的4KB的倍数。 |
slave_net_timeout | 5.6 | 1 | 60 | [15-300] | 无限制 | 从主服务器等待更多数据的秒数,如果超过这个时间,从服务器将认为连接已断开,终止读取并尝试重新连接。 |
slave_type_conversions | 5.6 | 0 | 不涉及 | [s*|ALL_LOSSY|ALL_NON_LOSSY|ALL_SIGNED|ALL_UNSIGNED] | 无限制 | 当使用基于行的复制时,控制从服务器上生效的类型转换模式。 |
slow_launch_time | 5.6 | 1 | 2 | [1-1024] | 无限制 | 如果创建线程的时间超过这么多秒,服务器会增加Slow_launch_threads状态变量。 |
slow_query_log | 5.6 | 1 | ON | [ON|OFF] | 无限制 | 指定初始的慢查询日志状态。如果没有参数或者参数为1,则--slow-query-log选项启用日志。如果省略或使用0作为参数,则该选项禁用日志。 |
sort_buffer_size | 5.6 | 1 | 262144 | [32768-4294967295] | 无限制 | 必须执行排序的每个会话都会分配一个该大小的缓冲区。 |
sql_mode | 5.6 | 1 | 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|POSTGRESQL|ORACLE|MSSQL|DB2|MAXDB|NO_KEY_OPTIONS|NO_TABLE_OPTIONS|NO_FIELD_OPTIONS|MYSQL323|MYSQL40|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|NO_AUTO_CREATE_USER)(,NO_AUTO_CREATE_USER|,REAL_AS_FLOAT|,PIPES_AS_CONCAT|,ANSI_QUOTES|,IGNORE_SPACE|,ONLY_FULL_GROUP_BY|,NO_UNSIGNED_SUBTRACTION|,NO_DIR_IN_CREATE|,POSTGRESQL|,ORACLE|,MSSQL|,DB2|,MAXDB|,NO_KEY_OPTIONS|,NO_TABLE_OPTIONS|,NO_FIELD_OPTIONS|,MYSQL323|,MYSQL40|,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语法以及应执行哪种类型的数据验证检查。 |
stored_program_cache | 5.6 | 1 | 256 | [16-524288] | 无限制 | 为每个连接设置了缓存存储过程的软上限。该变量的值是以MySQL服务器分别用于存储过程和存储函数的两个缓存中保存的存储过程数量为单位来指定的。 |
sync_binlog | 5.6 | 1 | 1 | [0-4294967295] | 无限制 | 每写入文件#次后将二进制日志同步刷新到磁盘。使用0(默认)禁用同步刷新。 |
sync_master_info | 5.6 | 1 | 10000 | [0-18446744073709551615] | 无限制 | 这个变量在复制从服务器中的影响取决于从服务器的master_info_repository设置为FILE还是TABLE。 |
sync_relay_log_info | 5.6 | 1 | 10000 | [0-18446744073709551615] | 无限制 | 设置此变量会立即对所有复制通道生效,包括正在运行的通道。 |
table_definition_cache | 5.6 | 1 | {LEAST(DBInstanceClassMemory/1073741824*512, 8192)} | [400-524288] | 无限制 | 可以在定义缓存中存储的表定义(来自.frm文件)的数量。如果使用大量的表,则可以创建一个较大的表定义缓存来加速打开表。与普通表缓存不同,表定义缓存占用的空间更少,也不使用文件描述符。最小值和默认值均为400。 |
table_open_cache | 5.6 | 1 | {LEAST(DBInstanceClassMemory/1073741824*512, 8192)} | [1-524288] | 无限制 | 所有线程打开的表的数量。增加此值会增加mysqld所需的文件描述符数量。您可以通过检查Opened_tables状态变量来检查是否需要增加表缓存。如果Opened_tables的值很大,并且您不经常使用FLUSH TABLES(它只是强制关闭并重新打开所有表),则应增加table_open_cache变量的值。 |
table_open_cache_instances | 5.6 | 0 | 16 | [1-64] | 无限制 | 打开表缓存实例的数量。为了通过减少会话之间的争用来提高可扩展性,打开表缓存可以被分成大小为table_open_cache / table_open_cache_instances的几个较小的缓存实例。一个会话只需要锁定一个实例,就可以访问它进行DML语句。这将缓存访问分段到实例中,允许在有许多会话访问表的情况下,执行使用缓存的操作时获得更高的性能。DDL语句仍然需要锁定整个缓存,但这些语句比DML语句频率要低得多。 |
thread_cache_size | 5.6 | 1 | 256 | [0-16384] | 无限制 | 服务器应为重用而缓存的线程数。当客户端断开连接时,如果缓存中的线程数少于thread_cache_size,则将客户端的线程放入缓存中。如果可能,请求线程的请求将通过重用从缓存中获取的线程来满足,只有当缓存为空时才会创建新的线程。如果您有许多新连接,可以增加此变量以提高性能。 通常,如果您有良好的线程实现,这不会提供显着的性能改进。然而,如果您的服务器每秒处理数百个连接,通常应将thread_cache_size设置得足够高,以便大多数新连接使用缓存的线程。 |
thread_stack | 5.6 | 0 | 1048576 | [131072-2147483647] | 无限制 | 每个线程的堆栈大小。默认值为192KB(64位系统为256KB),对于正常操作来说已足够大。如果线程堆栈大小太小,它会限制服务器能处理的SQL语句的复杂性,存储过程的递归深度以及其他消耗内存的操作。 |
tls_version | 5.6 | 0 | TLSv1,TLSv1.1,TLSv1.2 | [TLSv1,TLSv1.1,TLSv1.2|TLSv1,TLSv1.1|TLSv1.2] | 无限制 | 服务器允许加密连接的协议。该值是一个由逗号分隔的列表,包含一个或多个协议名称。可以为此变量命名的协议取决于用于编译MySQL的SSL库。 |
tmp_table_size | 5.6 | 1 | 2097152 | [262144-268435456] | 无限制 | 内部内存中临时表的最大大小。 |
transaction_alloc_block_size | 5.6 | 1 | 8192 | [1024-131072] | 无限制 | 增加每个事务内存池需要的内存量(以字节为单位)。请参见transaction_prealloc_size的描述。 |
transaction_isolation | 5.6 | 0 | READ-COMMITTED | [READ-COMMITTED|REPEATABLE-READ] | 无限制 | 默认事务隔离级别。 |
transaction_prealloc_size | 5.6 | 1 | 4096 | [1024-131072] | 无限制 | 有一个每个事务的内存池,用于从中分配各种与事务相关的内存。池的初始大小(以字节为单位)为transaction_prealloc_size。对于由于内存不足而无法满足的每个分配,池将增加transaction_alloc_block_size个字节。当事务结束时,池将被截断为transaction_prealloc_size个字节。 |
updatable_views_with_limit | 5.6 | 1 | YES | [YES|NO] | 无限制 | 此变量控制在视图不包含底层表中定义的主键的所有列的情况下,是否可以在更新语句中包含LIMIT子句时对视图进行更新(此类更新通常由GUI工具生成)。更新可以是UPDATE或DELETE语句。此处的主键指的是主键或唯一索引,该索引中没有列可以包含NULL。 |
wait_timeout | 5.6 | 1 | 86400 | [1-31536000] | 无限制 | 服务器在关闭非交互式连接之前等待活动的秒数。 |
loose_session_track_state_change | 5.6 | 1 | OFF | [ON|OFF] | 无限制 | 用于控制服务器是否跟踪当前会话状态的变化,并在状态变化发生时通知客户端。此变量关注的是变化的发生而非具体内容,也就是说,它会报告状态属性何时改变,但不包括改变后的具体值。 |
loose_session_track_system_variables | 5.6 | 1 | 无默认值 | .* | 无限制 | 用于控制服务器是否跟踪及通知客户端关于会话系统变量赋值的系统变量。通过设置此变量,可以指定服务器应当跟踪哪些变量的赋值动作,并将变量名及其新值通知给客户端。 |