全部產品
Search
文件中心

ApsaraDB RDS:RDS MySQL 5.6開放參數一覽表

更新時間:Aug 17, 2024

您可以在這裡瞭解到截止到發表日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]

無限制

各取值含義如下:

  • 0:禁用並發插入。

  • 1:(預設)為沒有空洞的MyISAM表啟用並發插入。

  • 2:為所有MyISAM表啟用並發插入,即使它們有空洞。對於有空洞的表,如果該表正在被另一個線程使用,則新行將插入到該表的末尾。否則,MySQL會擷取普通的寫鎖,並將行插入到空洞中。

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系統資料表空間檔案滿時,增加其大小的增量大小(以MB為單位)。

預設值:64

innodb_autoinc_lock_mode

5.6

0

2

[0|1|2]

無限制

用於產生自動增量值的鎖定模式。允許值分別為:

  • 0:traditional

  • 1:consecutive

  • 2:interleaved

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。

  • 對於nulls_equal,所有NULL索引值都被視為相等,並形成一個大小等於NULL值數量的單個值組。

  • 對於nulls_unequal,將NULL值視為不相等,並且每個NULL形成一個大小為1的不同值組。

  • 對於nulls_ignored,將忽略NULL值。

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]

無限制

  • 如果等於1,則將版本1行事件寫入基於行的二進位日誌。

  • 如果等於0,則將最新版本的事件寫入。在某些升級期間,此選項非常有用。

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]

無限制

  • 如果設定為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]

無限制

各取值含義如下:

  • OFF/0:不緩衝或檢索結果。

  • ON/1:緩衝所有結果,除了SELECT SQL_NO_CACHE 查詢。

  • DEMAND/2:僅緩衝SELECT SQL_CACHE ...查詢。

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

無預設值

.*

無限制

用於控制伺服器是否跟蹤及通知用戶端關於會話系統變數賦值的系統變數。通過設定此變數,可以指定伺服器應當跟蹤哪些變數的賦值動作,並將變數名及其新值通知給用戶端。