久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    mysql 5.6 參數(shù)詳解

     peijs5201314 2015-10-26
    系統(tǒng)變量提供的是各種與服務(wù)器配置和功能有關(guān)的信息。大部分的系統(tǒng)變量都可以在服務(wù)器啟動(dòng)時(shí)進(jìn)行設(shè)置。在運(yùn)行時(shí),每一個(gè)系統(tǒng)變量都擁有一個(gè)全局值或會(huì)話值,或者同時(shí)擁有這兩個(gè)值。許多系統(tǒng)變量都是動(dòng)態(tài)的,也就是說(shuō),可以在服務(wù)器鄭州運(yùn)行時(shí)修改它們的值。這些類型的信息都會(huì)在每個(gè)變量的描述里(與變量名同處一行)指明。
    對(duì)于那些可以在服務(wù)器啟動(dòng)時(shí)設(shè)置的變量,看到的是“自動(dòng)”一詞,后面緊跟著“直接設(shè)置”或某個(gè)選項(xiàng)。“直接設(shè)置”的意思是:可以在命令行上或者在選項(xiàng)文件里,使用與變量名同名的選項(xiàng)直接設(shè)置該變量。否則,在“啟動(dòng)”的后面需要緊跟用來(lái)設(shè)置變量的那個(gè)選項(xiàng)。
    如果需要指明某個(gè)變量的作用范圍,則會(huì)看到“啟動(dòng)”一詞,而后面緊跟著的是“全局”或“會(huì)話”(或者兩者皆有),用以表明該變量是否擁有GLOBAL形式或SESSION形式(或者是否同時(shí)擁有這兩種形式)。運(yùn)行時(shí)只讀的變量通常只有一個(gè)全局值。
    對(duì)于那些在服務(wù)器運(yùn)行時(shí)可以進(jìn)行修改的變量,則會(huì)看到“動(dòng)態(tài)”一詞。
    通過(guò) SHOW VARIABLES 語(yǔ)句或 mysqladmin variables 命令,可以查看這些系統(tǒng)變量。也可以檢查數(shù)據(jù)庫(kù) INFORMATION_SCHEMA 里的 GLOBAL_VARIABLES 表和 SESSION_VARIABLES 表,以獲得系統(tǒng)變量的信息。要想顯示單個(gè)變量值,可以對(duì)于全局變量使用 SELECT @@GLOBAL.var_name,對(duì)會(huì)話變量使用 SELECT @@SESSION.var_name 或 SELECT @@var_name。
    使用 SET 語(yǔ)句可以設(shè)置系統(tǒng)變量。如果要設(shè)置全局變量,則必須要擁有 SUPER 權(quán)限。設(shè)置會(huì)話變量通常不需要特別的權(quán)限。例外情況會(huì)特別注明。
    系統(tǒng)變量的名字不區(qū)分大小寫。
    
    
    auto_increment_increment (啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    在服務(wù)器每次生成一個(gè)新序列值時(shí),AUTO_INCREMENT 值的地增量。取值范圍是 1~65535;默認(rèn)值為1 。
    auto_increment_offset (啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    AUTO_INCREMENT 序列的其實(shí)質(zhì)。取值范圍是 1~65535;默認(rèn)值為 1 。
    autocommit (啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    事務(wù)處理的自動(dòng)提交模式。默認(rèn)值為 1,因此自動(dòng)提交功能是啟用的,并且語(yǔ)句會(huì)立即生效。本質(zhì)上,每條語(yǔ)句都是其自身的事務(wù)。將這個(gè)值設(shè)置為 0,可以禁用自動(dòng)提交功能,如此一來(lái),后續(xù)語(yǔ)句便只有等到提交完成(可以使用 COMMIT 語(yǔ)句,或者將 autocommit 設(shè)置為1來(lái)完成提交)之后才能生效。如果提交還未發(fā)生,則可以通過(guò) ROLLBACK 來(lái)取消事務(wù)里的語(yǔ)句。將 autocommit 這時(shí)為1,可以重新啟用自動(dòng)提交(并且會(huì)隱式提交所有掛起的事務(wù))。
    auto_sp_privileges (啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果此變量為1(默認(rèn)值),那么在你創(chuàng)建存儲(chǔ)例程時(shí),MySQL服務(wù)器將自動(dòng)授予你 EXECUTEALTER ROUTINE 權(quán)限,讓你隨后可以執(zhí)行、修改或刪除該例程。當(dāng)刪除例程時(shí),MySQL服務(wù)器會(huì)收回那些權(quán)限。如果auto_sp_privileges 的值為0,則上述權(quán)限的自動(dòng)授予和回收機(jī)制將不起作用。
    back_log(啟動(dòng):直接設(shè)置;作用范圍:全局)
    當(dāng)前連接正在處理時(shí),排隊(duì)中的最大等待連接請(qǐng)求數(shù)量。
    basedir(啟動(dòng):直接設(shè)置;作用范圍:全局)
    MySQL安裝根目錄的路徑名。如果其他路徑名是以相對(duì)路徑名的形式給出的,那么這些路徑名會(huì)相對(duì)于此目錄進(jìn)行解析。
    big_tables(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    將此變量設(shè)置為1,可以使得在處理大型的結(jié)果集時(shí),將所有臨時(shí)結(jié)果保存到磁盤,而不是講它們保留在內(nèi)存里。雖然這樣做會(huì)使性能變得慢一點(diǎn),但是那些要求大型臨時(shí)表的SELECT語(yǔ)句不會(huì)產(chǎn)生“表已滿”的錯(cuò)誤。其默認(rèn)值為0(即把臨時(shí)表保存在內(nèi)存里)。通常情況下,不需要設(shè)置此變量,因?yàn)榉?wù)器會(huì)根據(jù)需要自動(dòng)將結(jié)果保存到磁盤里。
    bind_address(啟動(dòng):直接設(shè)置;作用范圍:全局)
    服務(wù)器在監(jiān)聽TCP/IP客戶端連接時(shí)所綁定的那個(gè)IP地址。自MySQL5.6.6起,其默認(rèn)值為*(即監(jiān)聽所有的IPv4和IPv6接口);那一起的版本,默認(rèn)值為0.0.0.0(即監(jiān)聽所有的IPv4接口)。此變量是在MySQL5.6.1里引入的。
    binlog_cache_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    用于存儲(chǔ)SQL語(yǔ)句(在將它們刷新到二進(jìn)制日志之前,它們是事務(wù)的一部分)的那個(gè)緩存的大小。(只有當(dāng)事務(wù)被提交,或者事務(wù)里包括有對(duì)非事務(wù)型表進(jìn)行更新的語(yǔ)句時(shí),這些語(yǔ)句才會(huì)被刷新。如果只回滾某個(gè)更新事務(wù)型表的事務(wù),那么這些語(yǔ)句將被丟棄。)
    binlog_checksum(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    是否在往二進(jìn)制日志寫入的事件里包含校驗(yàn)和。可取值包括:NONE(不寫入校驗(yàn)和)和CRC32。此變量是在MySQL 5.6.2里引入的。在MySQL 5.6.6之前,默認(rèn)值為NONE;之后,默認(rèn)值為CRC32。
    binlog_direct_non_transactional_updates(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    可以同時(shí)更新事務(wù)型表和非事務(wù)型表的事務(wù),可能會(huì)導(dǎo)致住服務(wù)器里的更新與從服務(wù)器里的更新不一致,因?yàn)閷?duì)非事務(wù)型語(yǔ)句的更新,在它們出現(xiàn)在二進(jìn)制日志之前,對(duì)于其他會(huì)話來(lái)講是可見的。啟用此變量(默認(rèn)是禁用的)會(huì)導(dǎo)致非事務(wù)型更新被立即寫到二進(jìn)制日志里,而不是被緩存起來(lái),一直到事務(wù)提交之后才寫入。啟用此變量,僅對(duì)于那些使用基于語(yǔ)句的日志記錄進(jìn)行復(fù)制的語(yǔ)句才有效。
    binlog_format(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    二進(jìn)制的日志記錄格式。其可取值包括:STATEMENT、ROW和MIXED,分別代表的是基于語(yǔ)句的日志記錄格式、基于行的日志記錄格式和混合型日志記錄格式。如果使用unhealthy格式,則MySQL服務(wù)器將根據(jù)具體情況在基于語(yǔ)句的和基于行的日志記錄格式之間自動(dòng)切換。默認(rèn)格式為STATEMENT。運(yùn)行時(shí),如果要更改此變量或者會(huì)話值,客戶端必須擁有SUPER權(quán)限。
    binlog_row_image(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    基于行的二進(jìn)制日志記錄會(huì)使用之前和之后的“圖像”來(lái)標(biāo)書原始行和更改行。binlog_row_image控制著這些圖像將包含多少列。FULL(默認(rèn)值)表示記錄所有列。MINIMAL只會(huì)記錄那些需要確定行的列和被更改過(guò)的列。NOBLOB與FULL很想,它去掉了無(wú)關(guān)緊要的BLOB和TEXT列。此變量是在MySQL 5.6.2里引入的。
    binlog_rows_query_log_events(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    在啟用基于行的二進(jìn)制日志記錄之后,啟用此變量可以讓有助于調(diào)試的信息包含在二進(jìn)制日志里。此變量是在MySQL 5.6.2里引入的。
    binlog_stmt_cache_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    在事務(wù)內(nèi)執(zhí)行非事務(wù)語(yǔ)句所需要的使用的緩存的大小。默認(rèn)大小為32K。此變量是在MySQL 5.5.9里引入的。
    bulk_insert_buffer_size(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    用于幫助優(yōu)化往MyISAM表里批量插入語(yǔ)句的緩存的大小。這里包括LOAD DATA語(yǔ)句、行INSERT語(yǔ)句和INSERT INTOSELECT語(yǔ)句。當(dāng)值為0時(shí)將禁用優(yōu)化。
    character_set_client(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    客戶端想服務(wù)器發(fā)送的那些SQL語(yǔ)句的字符集。
    character_set_connection(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    “客戶端-服務(wù)器”連接的字符集。它主要用于解釋字符串常量(帶有前異符的字符串不包括在內(nèi)),以及哪些“從數(shù)字轉(zhuǎn)換到字符串”而得到的那些字符串的字符集。
    character_set_database(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    默認(rèn)數(shù)據(jù)庫(kù)(如果有的話)的字符集。如果沒有默認(rèn)的數(shù)據(jù)庫(kù)(例如,如果客戶在連接MySQL服務(wù)器時(shí)沒有指定默認(rèn)數(shù)據(jù)庫(kù)),此變量將被設(shè)置為系統(tǒng)變量character_set_server的值。每當(dāng)用戶選擇一個(gè)不同的數(shù)據(jù)庫(kù),MySQL服務(wù)器便會(huì)自動(dòng)設(shè)置character_set_database的值。
    character_set_filesystem(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    文件系統(tǒng)的字符集。這個(gè)字符集用來(lái)解釋SQL語(yǔ)句里的文件名字符串,如LOAD DATA語(yǔ)句里的數(shù)據(jù)文件的名字。服務(wù)器在訪問(wèn)文件之前,會(huì)先把文件名從character_set_client變量指定的字符集轉(zhuǎn)換為character_set_filesystem變量指定的那個(gè)字符集。默認(rèn)為binary(即不會(huì)進(jìn)行轉(zhuǎn)換)。
    character_set_results(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    服務(wù)器的發(fā)送給客戶端的那些查詢結(jié)果的字符集。
    character_set_server(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    服務(wù)器的默認(rèn)字符集。
    character_set_system(作用范圍:全局)
    系統(tǒng)字符集。其值總是utf8。這是各種元數(shù)據(jù)(如數(shù)據(jù)庫(kù)名、表名和列名)鎖使用的字符集。像DATABASE()、CURRENT_USER()、USER()和VERSION()這樣的函數(shù)也是使用這個(gè)字符集。
    character_set_dir(啟動(dòng):直接設(shè)置;作用范圍:全局)
    存放字符集文件的那個(gè)目錄。
    collation_connection(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    鏈接的字符集排序規(guī)則。
    collation_database(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    數(shù)據(jù)庫(kù)的字符集排序規(guī)則,如果有的話。如果沒有默認(rèn)的數(shù)據(jù)庫(kù)(例如,如果客戶在連接MySQL服務(wù)器時(shí)沒有指定默認(rèn)數(shù)據(jù)庫(kù)),此變量將被色織為系統(tǒng)變量collation_server的值。每當(dāng)用戶選擇一個(gè)不同的數(shù)據(jù)庫(kù),MySQL服務(wù)器便會(huì)自動(dòng)設(shè)置collation_database的值。
    collation_server(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    服務(wù)器默認(rèn)字符集所對(duì)應(yīng)的默認(rèn)排序方式。
    completion_type(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    事務(wù)的完成類型。此變量的值為0(默認(rèn)值)或NO_CHAIN時(shí),不會(huì)影響COMMITROLLBACK。此變量的值為1或CHAIN時(shí),將導(dǎo)致COMMITROLLBACK分別等價(jià)于COMMIT AND CHAIN和ROLLBACK AND CHAIN語(yǔ)句。此變量的值為2或者RELEASE時(shí),將使它們分別等價(jià)于COMMIT RELEASE和ROLLBACK RELEASE。AND CHAIN的含義是,當(dāng)一個(gè)事務(wù)結(jié)束時(shí),服務(wù)器將終止會(huì)話。
    concurrent_insert(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    對(duì)于在數(shù)據(jù)文件的中間沒用空洞的MyISAM表,MySQL服務(wù)器允許在對(duì)已有行進(jìn)行檢索的同時(shí)在該表的末尾插入新行。此變量控制著服務(wù)器是否允許并發(fā)插入。此變量的值為0(或NEVER)時(shí),會(huì)禁用此功能。此變量的值為1(或AUTO)時(shí),會(huì)啟用此功能。此變量的值為2(或ALWAYS)時(shí),會(huì)對(duì)所有的MyISAM表啟用并發(fā)插入,不管它們的數(shù)據(jù)文件里是否有空洞;此時(shí),新行將被添加到正被使用的那個(gè)表的末尾,或者插到空洞處。默認(rèn)值為1。
    connect_timeout(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    mysqld在開始建立連接時(shí)等待數(shù)據(jù)包的秒數(shù)。默認(rèn)值為10。
    core_file(啟動(dòng):直接設(shè)置;作用范圍:全局)
    當(dāng)發(fā)生致命錯(cuò)誤時(shí),服務(wù)器在退出前是否需要生成一個(gè)核心文件。此變量是在MySQL 5.6.2里引入的。
    datadir(啟動(dòng):直接設(shè)置;作用范圍:全局)
    MySQL數(shù)據(jù)目錄的路徑名。
    date_format(作用范圍:全局)
    此變量未被使用。
    datetime_format(作用范圍:全局)
    此變量未被使用。
    debug(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    調(diào)試輸出的類型。此變量只有在服務(wù)器編譯時(shí)帶有調(diào)試支持時(shí)才存在。
    default_storage_engine(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    在創(chuàng)建表時(shí),如果沒有帶上ENGINE=engine_name選項(xiàng)或使用了一個(gè)不被支持的engine_name值,就使用此變量指定的引擎作為默認(rèn)存儲(chǔ)引擎。存儲(chǔ)引擎的名字不區(qū)分大小寫。默認(rèn)為InnoDB。
    default_tmp_storage_engine(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    與default_storage_engine相似,但它適用于那些使用CREATE TEMPORARY TABLE創(chuàng)建的表。此變量是在MySQL 5.6.3里引用的。
    default_week_format(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    當(dāng)調(diào)用WEEK()或YEARWEEK()函數(shù)時(shí),如果不帶可選的mode參數(shù),則默認(rèn)為此變量設(shè)置的那個(gè)模式值。
    delay_key_write(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    對(duì)于使用DELAY_KEY_WRITE選項(xiàng)創(chuàng)建的MyISAM表,服務(wù)器是否需要延遲鍵寫入。此變量由以下3中可取值。
    ON(默認(rèn)值)。此時(shí),服務(wù)器會(huì)根據(jù)DELAY_KEY_WRITE選項(xiàng)的值進(jìn)行操作;如果表時(shí)用DELAY_KEY_WRITE=1選項(xiàng)創(chuàng)建的,則延遲鍵寫入;如果表使用DELAY_KEY_WRITE=0選項(xiàng)創(chuàng)建的,則不延遲。
    OFF。它表示的是,對(duì)任務(wù)表都不延遲鍵寫入,不管它們是如何定義的。
    ALL。它表示的是,對(duì)任務(wù)表都總是延遲鍵寫入,不管它們是如何定義的。
    比較常見的做法是,在運(yùn)行復(fù)制從服務(wù)器時(shí)將delay_key_write設(shè)置為ALL,以提高M(jìn)yISAM表的性能(不管這些表最初是如何被創(chuàng)建的,都延遲其鍵寫入)。
    delayed_insert_limit(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是該表的延遲行處理器在檢查表是否有新的SELECT語(yǔ)句到來(lái)之前插入的源自INSERT DELAYED語(yǔ)句的行數(shù)量。如果有語(yǔ)句到達(dá),則將插入操作掛起,以便檢索操作能夠得到執(zhí)行。
    delayed_insert_timeout(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    當(dāng)INSERT DELAYED操作的處理器插入完排隊(duì)的各個(gè)行是,它會(huì)等待dealyed_insert_timeout秒,檢查一下是否有新的INSERT DELAYED行到達(dá)。如果有行到達(dá),則繼續(xù)插入;否則終止插入操作。
    delayed_queue_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    每個(gè)表針對(duì)INSERT DELAYED有可以排入隊(duì)列的行數(shù)量。當(dāng)隊(duì)列排滿時(shí),則會(huì)有更多針對(duì)該表的INSERT DELAYED語(yǔ)句被阻塞,一直到隊(duì)列擁有足夠的空間為止。
    div_precision_increment(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    在使用操作符/對(duì)兩個(gè)精確數(shù)值做除法運(yùn)算時(shí),此變量表示的是需要增加的精度位數(shù)。例如,當(dāng)div_precision_increment的值為46時(shí),.1/.7的結(jié)果分別為.142860.1428571。此變量的取值范圍是0~30,默認(rèn)為4。
    eq_range_index_dive_limit(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    對(duì)于使用非唯一索引的相等比較處理,它指的是優(yōu)化器使用索引統(tǒng)計(jì)代替索引等分進(jìn)行行估算的范圍上限。當(dāng)值為0時(shí),將禁用統(tǒng)計(jì)。默認(rèn)為10。此變量是在MySQL 5.6.5里引入的。在此之前,不管范圍值為多少,都會(huì)使用索引等分。
    error_count(作用范圍:會(huì)話)
    這時(shí)一個(gè)只讀會(huì)話變量,它表示的是可能產(chǎn)生錯(cuò)誤的最后那條語(yǔ)句所產(chǎn)生的錯(cuò)誤數(shù)量。
    event_scheduler(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    時(shí)間調(diào)度器的狀態(tài)。此變量的可取值包括:OFF、ON或DISABLED。在啟動(dòng)MySQL服務(wù)器時(shí),如果把此變量設(shè)置為DISABLED,那么時(shí)間調(diào)度器的狀態(tài)將無(wú)法再M(fèi)ySQL服務(wù)器運(yùn)行時(shí)被更改。在啟動(dòng)MySQL服務(wù)器時(shí),如果把此變量設(shè)置為ON或OFF,那么在MySQL服務(wù)器運(yùn)行時(shí)只能讓事件調(diào)度器的狀態(tài)在這兩個(gè)值之間進(jìn)行更改。默認(rèn)值為OFF。
    expire_logs_days(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    此變量的默認(rèn)值為0。如果將其設(shè)置成其他的值,則MySQL服務(wù)器將自動(dòng)刪除在expire_logs_days天之前創(chuàng)建的日志文件,并更新該二進(jìn)制日志的索引文件。MySQL服務(wù)器將在它每次啟動(dòng)以及每次打開一個(gè)新的二進(jìn)制日志文件時(shí)執(zhí)行這個(gè)到期檢查。
    external_user(作用范圍:會(huì)話)
    這是個(gè)只讀變量,可以通過(guò)用于認(rèn)證當(dāng)前用戶的身份認(rèn)證插件進(jìn)行設(shè)置。此變量是在MySQL 5.5.7里引入的。
    flush(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它用于表明服務(wù)器是否會(huì)在每次更新后將MyISAM表刷新到磁盤。這樣可以降低在出現(xiàn)系統(tǒng)崩潰時(shí)表被損壞的風(fēng)險(xiǎn),但是它會(huì)嚴(yán)重降低性能。因此,只有在使用不穩(wěn)定的系統(tǒng)時(shí)它才會(huì)有用處。默認(rèn)值是OFF。
    flush_time(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果此變量為非零值,那么MySQL服務(wù)器會(huì)每隔flush_time秒關(guān)閉一次表,以便將尚未寫入磁盤的更改刷新到磁盤。如果你的系統(tǒng)不夠穩(wěn)定,經(jīng)常會(huì)死機(jī)或重啟,那么使用此方法強(qiáng)行更新表,便可以減少表受損或數(shù)據(jù)丟失的概率,但是會(huì)降低性能。在Unix系統(tǒng)上,其默認(rèn)值為0;在Windows上,其默認(rèn)值為1800(即30分鐘)。
    foreign_key_checks(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    將此變量設(shè)置為01將分別禁用或期待InnoDB表的外鍵檢查。默認(rèn)進(jìn)行檢查。禁用外鍵檢查有時(shí)會(huì)非常有用。例如,可以按不同于表的外鍵關(guān)系所要求的順序恢復(fù)一個(gè)創(chuàng)建和加載表的轉(zhuǎn)儲(chǔ)文件。在加載完表之后,可以重新啟用外鍵檢查。
    ft_boolean_syntax(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    支持使用IN BOOLEAN MODE模式的進(jìn)行FULLTEXT搜索的操作符列表。
    ft_max_word_len(啟動(dòng):直接設(shè)置;作用范圍:全局)
    包括在FULLTEXT索引里的單詞所允許的最大長(zhǎng)度。更長(zhǎng)的單詞會(huì)被忽略掉。在你更改此變量的值時(shí),應(yīng)該重建所有擁有這些FULLTEXT索引的MyISAM表的索引。默認(rèn)值為84。
    ft_min_word_len(啟動(dòng):直接設(shè)置;作用范圍:全局)
    包括在FULLTEXT索引里的單詞所允許的最小長(zhǎng)度。更短的單詞會(huì)被忽略掉。在你更改此變量的值時(shí),應(yīng)該重建所有擁有這些FULLTEXT索引的MyISAM表的索引。默認(rèn)值為4。
    ft_query_expansion_limit(啟動(dòng):直接設(shè)置;作用范圍:全局)
    此變量用于那些使用WITH QUERYEXPANSION子句完成的全文檢索。它決定了在每次搜索的第二階段所能使用的“最佳匹配”的數(shù)量。
    ft_stopword_file(啟動(dòng):直接設(shè)置;作用范圍:全局)
    用于FULLTEXT索引的停用詞文件。默認(rèn)使用內(nèi)奸的停用詞列表。如果要禁用停用詞,可以將此變量的值設(shè)置為空串。在你更改此變量的值或者停用詞列表的內(nèi)容時(shí),應(yīng)該重建所有擁有這些FULLTEXT索引的MyISAM表的索引。
    general_log(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它用于指定是否要用普通查詢?nèi)罩镜娜罩居涗洝H绻獑⒂茫琹og_output變量會(huì)控制日志的輸出目標(biāo)。
    general_log_file(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是普通查詢?nèi)罩疚募拿帧T趩⒂昧薋ILE日志記錄目標(biāo)時(shí),會(huì)用到它。它默認(rèn)位于數(shù)據(jù)目錄里的HOSTNAME.log中,其中HOSTNAME時(shí)服務(wù)器主機(jī)的名字。如果其文件名是以相對(duì)路徑形式給出的,則服務(wù)器會(huì)將它解釋為相對(duì)于數(shù)據(jù)目錄。
    group_concat_max_len(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    GROUP_CONCAT()函數(shù)返回值的長(zhǎng)度上限(默認(rèn)為1024)。
    have_compress(作用范圍:全局)
    它表示的是,服務(wù)器用于實(shí)現(xiàn)COMPRESS()和UNCOMPRESS()函數(shù)所需要的那個(gè)zlib壓縮庫(kù)是否可用。如果不可用,那么這兩個(gè)函數(shù)將無(wú)法使用。
    have_crypt(作用范圍:全局)
    它表示的是,服務(wù)器用于實(shí)現(xiàn)CRYPT()函數(shù)所需要的那個(gè)crypt()系統(tǒng)調(diào)用是否可用。如果不可用,那么該函數(shù)將無(wú)法使用。
    hav_dynamic_loading(作用范圍:全局)
    它表示的是,服務(wù)器是否支持動(dòng)態(tài)加載各種插件。
    have_geometry(作用范圍:全局)
    它表示的是,空間數(shù)據(jù)類型是否可用。
    have_openssl(作用范圍:全局)
    它表示的是,服務(wù)器是否允許客戶端使用SSL來(lái)建立加密連接。have_openssl等同于have_ssl。
    have_query_cache(作用范圍:全局)
    它表示的是,查詢緩存是否可用。
    have_rtree_keys(作用范圍:全局)
    它表示的是,RTREE索引是否可用于SPATIAL索引。
    have_ssl(作用范圍:全局)
    它表示的是,服務(wù)器是否允許客戶端使用SSL來(lái)建立加密連接。have_ssl等同于have_openssl。
    have_symlink(作用范圍:全局)
    如果服務(wù)器在啟動(dòng)時(shí)帶有—skip-symbolic-links選項(xiàng),則此變量為DISABLED;否則,其可取值為YES或NO,但是實(shí)際的含義取決于具體的系統(tǒng)平臺(tái)。在Unix里,它表示MyISAM表是否支持表符號(hào)的鏈接。在Windows里,它表示是否支持?jǐn)?shù)據(jù)庫(kù)符號(hào)鏈接。
    host_cache_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是主機(jī)緩存的大小,這個(gè)緩存的用途是保存與客戶端連接嘗試以及嘗試是否成功有關(guān)的信息。連接失敗時(shí)主機(jī)通常會(huì)被阻塞,一直到該緩存被刷新。在運(yùn)行時(shí)更改此變量的值會(huì)刷新該緩存(與FLUSH HOSTS的效果一樣)。默認(rèn)值為128。此變量是在MySQL 5.6.5里引入的。
    hostname(作用范圍:全局)
    服務(wù)器的主機(jī)名。MySQL服務(wù)器會(huì)在啟動(dòng)時(shí)自動(dòng)確定此變量的值。
    identity(作用范圍:會(huì)話;動(dòng)態(tài))
    等同于會(huì)話變量last_insert_id。
    ignore_db_dirs(啟動(dòng):直接設(shè)置;作用范圍:全局)
    此變量會(huì)被—ignore-db-dir選項(xiàng)的實(shí)例進(jìn)行設(shè)置,它表示的是數(shù)據(jù)庫(kù)目錄里的目錄不會(huì)被SHOW DATABASES或數(shù)據(jù)庫(kù)INFORMATION_SCHEMA里的表當(dāng)作數(shù)據(jù)庫(kù)目錄。默認(rèn)為空。此變量是在MySQL 5.6.3里引入的。
    init_connect(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果此變量的值不為空,那么它指定的是一條或多條以分號(hào)分隔的SQL語(yǔ)句(它們會(huì)在每個(gè)SUPER權(quán)限的用戶,init_connect變量將被忽略,目的是為了避免此變量值里包含的不正確或不恰當(dāng)?shù)恼Z(yǔ)句導(dǎo)致管理員用戶無(wú)法連接到服務(wù)器更正該錯(cuò)誤。
    init_file(啟動(dòng):直接設(shè)置;作用范圍:全局)
    如果此變量的值不為空,那么它指定的是一個(gè)文件名,該文件名對(duì)應(yīng)的文件中包括的是服務(wù)器在啟動(dòng)時(shí)執(zhí)行的SQL語(yǔ)句。如果文件名是以相對(duì)路徑形式指定的,那么服務(wù)器會(huì)將它解釋為相對(duì)于數(shù)據(jù)目錄。此文件應(yīng)該是每行一條語(yǔ)句,并且這些語(yǔ)句不應(yīng)該以“;”或者其他終止符作為結(jié)尾。
    init_slave(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    對(duì)于主復(fù)制服務(wù)器,如果此變量的值不為空,那么它指定的是在每個(gè)從復(fù)制服務(wù)器進(jìn)行連接時(shí)都會(huì)被執(zhí)行的語(yǔ)句。該值的內(nèi)容應(yīng)該是一條或多條SQL語(yǔ)句,期間用分號(hào)分割。
    Innodb_xxx
    
    insert_id(作用范圍:會(huì)話;動(dòng)態(tài))
    設(shè)置此變量,可以指定下一個(gè)INSERT語(yǔ)句在插入一個(gè)AUTO_INcREMENT列時(shí)使用的值。它用于二進(jìn)制日志的處理。
    interactive_timeout(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    此變量指的是,在服務(wù)器自己認(rèn)為可以將交互式客戶端會(huì)話關(guān)閉之前,該會(huì)話能夠保持空閑的秒數(shù)。對(duì)于非交互式客戶端,需要使用wait_timeout變量來(lái)代替。
    join_buffe_size(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是連接(它們是在未使用索引的情況下執(zhí)行的,并且需要進(jìn)行全表掃描)和特定類型的索引掃描所使用的緩沖區(qū)的最小大小。
    keep_files_on_create(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    如果在創(chuàng)建MySAM表的CREATE TABLE語(yǔ)句里明確給出了DATA DIRECTORY或INDEX DIRECTORY選項(xiàng),并且服務(wù)器在給定的目錄里分別找到了一個(gè)已有的數(shù)據(jù)文件或索引文件,那么它會(huì)返回一個(gè)錯(cuò)誤。當(dāng)沒有使用DATA DIRECTORY或INDEX DIRECTORY選項(xiàng)來(lái)指定數(shù)據(jù)文件或索引文件的存放位置時(shí),keep_files_on_create變量會(huì)控制服務(wù)器如何創(chuàng)建MyISAM表。如果此變量的值為OFF(默認(rèn)值),并且服務(wù)器找到了一個(gè)已有的.MYD數(shù)據(jù)文件或.MYI索引文件,那么它會(huì)覆蓋該文件。如果此變量的值為ON,服務(wù)器會(huì)返回一個(gè)錯(cuò)誤。
    key_buffer_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是用于緩存MyISAM表索引塊的緩沖區(qū)大小。這個(gè)緩沖區(qū)在各個(gè)會(huì)話之間是共享的。此變量和其他的鍵緩存變量(key_cache_age_threshold、key_cache_block_size和key_cache_limit)是以分組的形式存在的,并且可以作為結(jié)構(gòu)化系統(tǒng)變量的組成部分進(jìn)行訪問(wèn)。為了更好地控制鍵緩存的作用,可以創(chuàng)建多個(gè)鍵緩存。
    key_cache_age_threshold(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,在被移到暖子鏈之前,未使用的緩沖塊在MyISAM鍵緩存的熱子鏈里可以保留多久。值越高,允許緩沖塊在熱子鏈里保留的時(shí)間越長(zhǎng)。默認(rèn)值為300。最小值為100。
    key_cache_block_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是MyISAM鍵緩存的塊大小。默認(rèn)情況下,一個(gè)緩存看的大小為1024字節(jié)。
    key_cache_limit(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果此變量被設(shè)置為它的默認(rèn)值100,則MyISAM鍵緩存將使用“最近最少使用”策略來(lái)解決緩存緩沖區(qū)的重用問(wèn)題。如果設(shè)置的值小于100,則鍵緩存將使用“中間插入”策略,而此變量的值即為暖緩沖子鏈?zhǔn)褂玫逆I緩存百分比值。此變量的取值范圍是1~100language(啟動(dòng):直接設(shè)置;作用范圍:全局)
    此變量已過(guò)時(shí)。請(qǐng)使用lc_messages和lc_messages_dir來(lái)代替。
    large_files_support(作用范圍:全局)
    它指的是,MySQL服務(wù)器是否能夠處理大文件。
    large_page_size(作用范圍:全局)
    如果啟用了大頁(yè)面支持,此變量指的是大內(nèi)存頁(yè)的大小。如果未啟用,則其值為0。
    large_pages(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是是否啟用了大內(nèi)存頁(yè)支持功能。只有Linux系統(tǒng)才支持大頁(yè)面。
    last_insert_id(作用范圍:會(huì)話;動(dòng)態(tài))
    設(shè)置此變量,可以指定LAST_INSERT_ID()的返回值。它用于二進(jìn)制日志的處理。
    lc_messages(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    出錯(cuò)信息的本地化語(yǔ)言。服務(wù)器會(huì)將本地化名字轉(zhuǎn)換為語(yǔ)言名字,并在lc_messages_dir變量指定的目錄里查找該語(yǔ)言名字所對(duì)應(yīng)的目錄,以便找到錯(cuò)誤信息文件的位置。
    lc_messages_dir(啟動(dòng):直接設(shè)置;作用范圍:全局)
    存放出錯(cuò)信息文件的目錄。
    lc_time_names(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是函數(shù)DATE_FORMAT()、DAYTIME()和MONTHNAME()顯示日期和月份名字所使用的本地化語(yǔ)言。默認(rèn)值為en_US,但是也可以設(shè)置為POSIX風(fēng)格的語(yǔ)言名稱,如es_AR(西班牙語(yǔ)/阿根廷)或zh_HK(中文/中國(guó)香港)。
    license(作用范圍:全局)
    它指的是服務(wù)器所使用的許可類型。例如,如果服務(wù)器遵從的是GNU GPL(通用公共許可證)條款,則其值為GPL。
    local_infile(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是服務(wù)器是否允許在LOAD DATA語(yǔ)句里使用LOCAL修飾符。
    lock_wait_timeout(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是等待每個(gè)元數(shù)據(jù)所的秒數(shù)。如果語(yǔ)句阻塞的時(shí)間超過(guò)了等待鎖的時(shí)間,就會(huì)出錯(cuò)。允許的取值范圍是1~31536000(默認(rèn)為1年)。此變量是在MySQL 5.5.3里引入的。
    locked_In_memory(啟動(dòng):--memlock;作用范圍:全局)
    服務(wù)器是否鎖定在內(nèi)存中。
    log(作用范圍:全局)
    此變量已在MySQL 5.6里被棄用并刪除。請(qǐng)使用general_log來(lái)代替。
    log_bin(作用范圍:全局)
    是否啟用二進(jìn)制日志記錄功能。請(qǐng)注意,--log-bin選項(xiàng)設(shè)置的是log_bin_basename,而非log_bin。
    log_bin_basename(作用范圍:全局)
    二進(jìn)制日志文件的完整路徑名。此變量是在MySQL 5.6.2里引入的。
    log_bin_index(作用范圍:全局)
    二進(jìn)制日志索引文件的名字。此變量是在MySQL 5.6.2里引入的。
    log_bin_trust_function_creators(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果要?jiǎng)?chuàng)建或修改存儲(chǔ)函數(shù),則必須擁有相應(yīng)的CREATE ROUTINE權(quán)限或ALTER ROUTINE權(quán)限。不過(guò),如果啟用了二進(jìn)制日志記錄功能,并且log_bin_trust_function_creators的值為0(默認(rèn)值),那么還必須擁有SUPER權(quán)限,并且生命該存儲(chǔ)函數(shù)是確定性的(即不會(huì)修改任何數(shù)據(jù))。如果想禁用這些附加的要求,可以將此變量值設(shè)置為1。
    log_error(啟動(dòng):直接設(shè)置;作用范圍:全局)
    錯(cuò)誤日志文件的名字。如果不設(shè)置此變量,服務(wù)器會(huì)吧出錯(cuò)信息輸出到控制臺(tái)中斷。如果在服務(wù)器啟動(dòng)時(shí)指定了此變量,但未設(shè)置具體值,則日志文件名為數(shù)據(jù)目錄里的HOSTNAME.err,其中,HOSTNAME為服務(wù)器主機(jī)的名字。如果其文件是以相對(duì)路徑形式給出的,則服務(wù)器會(huì)將它解釋為相對(duì)于數(shù)據(jù)目錄。如果在指定文件名時(shí)沒有帶擴(kuò)展名,mysqld會(huì)添加一個(gè)擴(kuò)展名.err。
    log_output(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果啟用了普通查詢?nèi)罩竞吐樵內(nèi)罩荆瑒t此變量指定的是它們的輸出目標(biāo)。此變量列出的是一組以都好分割的輸出目標(biāo)名。允許目標(biāo)包括:TABLE、FILE和NONE。如果指定了此變量,則NONE值會(huì)禁用日志記錄功能,并且它比其他的值優(yōu)先級(jí)更高。默認(rèn)值為FILE。設(shè)置系統(tǒng)變量general_log_file或slow_query_log_file,可以指定相應(yīng)日志文件的名字。
    log_queries_not_using_indexs(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果啟用了慢查詢?nèi)罩荆瑒t此變量將控制那些不使用索引的查詢是否應(yīng)該被記錄。如果進(jìn)行記錄,將使得日志文件迅速變得較大。請(qǐng)參考log_throttle_queries_not_using_indexes。
    log_slave_updates(啟動(dòng):直接設(shè)置;作用范圍:全局)
    對(duì)于復(fù)制從服務(wù)器從其主服務(wù)器的二進(jìn)制日志里接收到的更新,此變量控制著從服務(wù)器是否把這些更新記錄到它自己的二進(jìn)制日志里。默認(rèn)情況下,從服務(wù)器的更新記錄功能是禁用的。但是在鏈?zhǔn)綇?fù)制設(shè)置里,允許將一個(gè)從服務(wù)器當(dāng)作另一個(gè)從服務(wù)器的主服務(wù)器。
    log_throttle_queries_not_using_indexes(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果啟用了log_throttle_queries_not_using_indexes,則它指的是每分鐘最多向慢查詢?nèi)罩纠飳懭氲恼Z(yǔ)句數(shù)量。默認(rèn)值為0,表示“無(wú)限制”。此變量是在MySQL 5.6.5里引入的。
    log_slow_queries(啟動(dòng):直接設(shè)置;作用范圍:全局)
    此變量已在MySQL 5.6里被棄用并刪除。請(qǐng)使用slow_query_log來(lái)代替。
    log_warnings(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是把非關(guān)鍵性警告信息記錄到出錯(cuò)日志的記錄級(jí)別。如果此變量的值為0,則不記錄這些警告消息;如果值為1(默認(rèn)值),則啟用記錄。如果此變量的值大于1,則會(huì)提高日志記錄的級(jí)別,以包括那些與異常中止連接和“拒絕訪問(wèn)”錯(cuò)誤有關(guān)的信息。
    long_query_time(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    此變量值的單位是秒。如果某個(gè)查詢命令的執(zhí)行時(shí)間大于了這個(gè)值(以及檢查的記錄會(huì)超過(guò)min_examined_row_limit行),則它會(huì)被認(rèn)為是一個(gè)“慢”查詢,并且會(huì)導(dǎo)致狀態(tài)變量slow_queries增加。此外,如果已啟用慢查詢?nèi)罩居涗浌δ埽瑒t服務(wù)器會(huì)將該查詢寫入該日志。
    最小值和默認(rèn)值分別為010。該值可以包含小數(shù)部分(即微秒)。不過(guò),只有日志目標(biāo)時(shí)一個(gè)文件,而不是mysql.slow_query表時(shí),才會(huì)記錄小數(shù)部分。
    low_priority_updates(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    如果啟用此變量,則對(duì)于使用表級(jí)鎖定機(jī)制的存儲(chǔ)引起,更新操作的優(yōu)先級(jí)將低于檢索操作。那些會(huì)修改表內(nèi)容的語(yǔ)句(DELETEINSERTREPLACEUPDATE)將一直等待,知道表上沒有SELECT語(yǔ)句正在執(zhí)行或者正在等待執(zhí)行。如果有心的SELECT語(yǔ)句到來(lái)時(shí),另一條SELECT語(yǔ)句還在執(zhí)行,那么新語(yǔ)句會(huì)立即執(zhí)行,而不是等待優(yōu)先級(jí)的修改語(yǔ)句。對(duì)于那些支持LOW_PRIORITY選項(xiàng)的語(yǔ)句(如INSERTUPDATE),啟用此變量與指定該選項(xiàng)的效果一樣。對(duì)于單獨(dú)的INSERT語(yǔ)句,可以通過(guò)HIGH_PRIORITY選項(xiàng)來(lái)取笑此變量的效果,并把插入操作恢復(fù)到正常的優(yōu)先級(jí)。
    lower_case_file_system(作用范圍:全局)
    此變量用來(lái)表明包含數(shù)據(jù)目錄的文件系統(tǒng)是否區(qū)分文件名的大小寫。如果此變量的值為ON,怎文件名不區(qū)分大小寫。(即可以把ON的含義理解為文件名的大寫和小寫版本都是一樣的。)如果此變量的值為OFF,則文件名區(qū)分大小寫。
    lower_case_table_names(啟動(dòng):直接設(shè)置;作用范圍:全局)
    此變量控制的是,在執(zhí)行CREATE DATABASE和CREATE TABLE語(yǔ)句時(shí),如何處理數(shù)據(jù)庫(kù)名和表明所對(duì)應(yīng)的目錄名和文件名。當(dāng)執(zhí)行這些語(yǔ)句時(shí),它還控制著服務(wù)器會(huì)如何進(jìn)行名字比較。下表列出了各種可能的取值。
    取值                                     含義                                 
    0        按照CREATE DATABASE和CREATE TABLE語(yǔ)句里給出的名字來(lái)創(chuàng)建磁盤文件。名字的比較會(huì)區(qū)分大小寫。在文件名區(qū)分大小寫的系統(tǒng)里,它是默認(rèn)設(shè)置。
    1        在創(chuàng)建數(shù)據(jù)庫(kù)和表時(shí),名字強(qiáng)制轉(zhuǎn)換為小寫形式。名字的比較不區(qū)分大小寫
    2        以小寫形式保存名字,但是在進(jìn)行比較時(shí)不區(qū)分大小寫。也就是說(shuō),創(chuàng)建的文件名與那些CREATE語(yǔ)句里指定的一樣,但是不以區(qū)分大小寫的形式進(jìn)行不叫。只有在文件名區(qū)分大小寫的系統(tǒng)里才會(huì)使用此變量的值。
    當(dāng)沒有顯示設(shè)置lower_case_table_names變量時(shí),如果數(shù)據(jù)目錄所在的文件系統(tǒng)不區(qū)分文件名的大小寫,那么MySQL服務(wù)器將自動(dòng)把此變量設(shè)置為2。將此變量設(shè)置為非零值,也會(huì)使得表的別名不區(qū)分大小寫。
    master_info_repository(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    此變量表示的是,從服務(wù)器是將主服務(wù)器的日志信息寫入文件,還是寫入表。如果該值為FILE(默認(rèn)值),則從服務(wù)器日志文件有—master-info-file選項(xiàng)指定。如果該值為TABLE,則服務(wù)器會(huì)把日志記錄到mysql.slave_master_inro表中。此變量是在MySQL 5.6.2里引入的。
    master_verify_checksum(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    此變量表示的是,在主服務(wù)器把從二進(jìn)制日志里讀取到的事件發(fā)送到從服務(wù)器之前,它是否驗(yàn)證這些時(shí)間的校驗(yàn)和。默認(rèn)值為OFF。此變量是在MySQL 5.6.2里引入的。
    max_allowed_packet(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是服務(wù)器與客戶端之間通信時(shí)使用的那個(gè)緩沖區(qū)的最大大小。該緩沖區(qū)的初始大小為net_buffer_length個(gè)字節(jié),但是會(huì)根據(jù)需要增大到max_allowed_packet個(gè)字節(jié)。這個(gè)值也會(huì)限制MySQL服務(wù)器所能處理的字符串的最大長(zhǎng)度。此變量的默認(rèn)值和最大值分別是1MB和1GB。它的會(huì)話值是只讀的。
    max_binlog_cache_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是二進(jìn)制日志緩存的最大大小。在事務(wù)被提交之前,構(gòu)成事務(wù)的那些語(yǔ)句都會(huì)保存在二進(jìn)制日志緩存里,它們要等到事務(wù)被提交時(shí)才會(huì)被寫入二進(jìn)制日志。如果某個(gè)事務(wù)超出了此變量所設(shè)定的最大長(zhǎng)度,就必須被刷新到一個(gè)臨時(shí)硬盤文件里。那些影響非事務(wù)語(yǔ)句的語(yǔ)句會(huì)被單獨(dú)緩存;請(qǐng)參考max_binlog_stmt_cache_size。
    max_binlog_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是二進(jìn)制日志文件的最大大小。如果當(dāng)前二進(jìn)制日志文件達(dá)到了此大小,則MySQL服務(wù)器將關(guān)閉它,并開始使用下一個(gè)文件。此變量的取值范圍為4KB~1GB。默認(rèn)值為1GB。
    如max_relay_log_size被設(shè)置為0,那么max_binlog_size變量頁(yè)會(huì)對(duì)從服務(wù)器的中繼日志文件的大小進(jìn)行限制。
    max_binlog_stmt_cache_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    此變量與max_binlog_cache_size相似,但是僅限于那些影響非事務(wù)表的語(yǔ)句(它們會(huì)被單獨(dú)緩存起來(lái))。此變量是在MySQL 5.5.9里引入的。
    max_connect_errors(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,主機(jī)在被組織繼續(xù)進(jìn)行連接之前,允許連接失敗的次數(shù)。這是為了防止有人從該主機(jī)試圖攻擊數(shù)據(jù)庫(kù)系統(tǒng)。如果想清空這個(gè)主機(jī)緩存,并重新啟用被阻塞的主機(jī),可以使用FLUSH HOSTS語(yǔ)句或者mysqladmin flush-hosts命令。請(qǐng)參考狀態(tài)變量Connect_errors_xxx。
    max_connections(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是客戶端連接的最大并發(fā)數(shù)。默認(rèn)值為151。
    max_delayed_threads(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是為處理INSERT DELAYED語(yǔ)句而允許創(chuàng)建的最大線程數(shù)。當(dāng)達(dá)到最大處理器數(shù)時(shí),所有新接收到的這類語(yǔ)句都將被當(dāng)作非DELAYED語(yǔ)句。客戶端可以把此變量的值設(shè)置為0,以便在自己的會(huì)話里禁用DELAYED插入。
    max_error_count(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是服務(wù)器可以保存的出錯(cuò)信息、警告信息和提醒信息的最大數(shù)量。(這些信息總是會(huì)被通緝。此變量只會(huì)影響相關(guān)信息的存儲(chǔ)數(shù)量,并且可供SHOW ERRORS和SHOW WARNINGS使用。)
    max_heap_table_size(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是新建MEMORY表的最大允許長(zhǎng)度。更改此變量的值不會(huì)影響那些已有表,除非使用ALTER TABLE或者TRUNCATE TABLE語(yǔ)句來(lái)修改它們。此變量可以用于防止服務(wù)器使用過(guò)多的內(nèi)存。此變量還會(huì)對(duì)服務(wù)器如何處理其內(nèi)部使用的各種內(nèi)存表產(chǎn)生影響;請(qǐng)參考對(duì)tmp_table_size變量的描述。
    max_insert_delayed_threads(啟動(dòng):使用—max-delayed-threads選項(xiàng);作用范圍:全局、會(huì)話;動(dòng)態(tài))
    此變量等同于max_delayed_threads。
    max_join_size(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    當(dāng)執(zhí)行多表連接時(shí),MySQL優(yōu)化器會(huì)估算它需要檢查多少個(gè)行組合。如果估算值超過(guò)了max_join_size行,則會(huì)出現(xiàn)一個(gè)錯(cuò)誤。如果你習(xí)慣于編寫會(huì)返回大量行的SELECT語(yǔ)句,則可以使用此變量。這個(gè)限制不會(huì)應(yīng)用于存儲(chǔ)在查詢緩存里的查詢結(jié)果,因?yàn)榫彺胬锏牟樵兘Y(jié)果不需要再次執(zhí)行該查詢即可被返回。
    此變量需要與sql_big_selects變量一起使用,詳見對(duì)該變量描述的討論。將max_join_size設(shè)置為DEFAULT以外的某個(gè)值,會(huì)自動(dòng)將sql_big_selects設(shè)置為0。
    max_length_for_sort_data(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    查詢優(yōu)化器將使用此變量來(lái)確定應(yīng)該為ORDER BY操作執(zhí)行哪一種filesort當(dāng)作。
    max_prepared_stmt_count(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是服務(wù)器可以同時(shí)維護(hù)的預(yù)處理語(yǔ)句的最大數(shù)。將此變量的值設(shè)置得更小一點(diǎn),可將其用于限制服務(wù)器占用的內(nèi)存。此變量的可取值范圍是0~1000000默認(rèn)值為16382。當(dāng)將其值設(shè)置為0時(shí),可以完全禁用預(yù)處理語(yǔ)句。
    max_relay_log_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是從服務(wù)器中繼日志文件的最大長(zhǎng)度。如果當(dāng)前中繼日志文件達(dá)到了此大小,則MySQL服務(wù)器將關(guān)閉它,并開始使用下一個(gè)文件。如果此變量的值是0,則服務(wù)器將使用max_binlog_size變量來(lái)控制中繼日志文件的最大長(zhǎng)度。此變量的取值范圍為4KB~1GB;默認(rèn)值為0。
    max_seeks_for_key(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    查詢優(yōu)化器在進(jìn)行基于鍵的查找時(shí)會(huì)使用此變量。如果某個(gè)索引的差異度比較低(只有很少量的唯一值),那么優(yōu)化器可能會(huì)認(rèn)為在執(zhí)行鍵查找操作時(shí)需要進(jìn)行多次查找,從而會(huì)采用全表掃描的方式來(lái)代替。把此變量設(shè)置成某個(gè)小一點(diǎn)的值,則會(huì)使優(yōu)化器認(rèn)為在執(zhí)行鍵查找時(shí)最多只需要指定數(shù)量的索引尋找,從而使其更傾向于選擇使用索引,而不會(huì)執(zhí)行全表掃描。
    max_sort_length(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    使用每個(gè)數(shù)據(jù)值的前max_sort_length個(gè)字節(jié)來(lái)進(jìn)行排序。默認(rèn)值為1024。如果被排序值在這么多的字節(jié)內(nèi)是唯一的,那么將此變量設(shè)置為更小一點(diǎn)的值可以獲得更少的比較次數(shù),同時(shí)也不會(huì)損失精確到。反之,如果被排序值在這么多的字節(jié)內(nèi)不是唯一的,那么增加這個(gè)值可以獲得更好的區(qū)分效果。
    max_sp_recursion_depth(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是每個(gè)存儲(chǔ)過(guò)程的最大遞歸深度。默認(rèn)值為0(不允許遞歸),最大值為255。
    max_tmp_tables(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    此變量未被使用。
    max_user_connections(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是每個(gè)賬戶同時(shí)進(jìn)行連接的客戶端最大個(gè)數(shù)。默認(rèn)值為0,表示“無(wú)限制”。兵法連接數(shù)還會(huì)受到max_connections變量的全局限制。
    此變量的會(huì)話值是只讀的。它的會(huì)話值與全局值是相等的,除非賬戶在user表里的行擁有一個(gè)非零的MAX_USER_CONNECTIONS值。此時(shí),該會(huì)話值將從賬戶的行里獲得。
    如果需要為某個(gè)特定的賬戶指定連接限制,可以使用GRANT語(yǔ)句。
    max_write_lock_count(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    在對(duì)某個(gè)表使用了max_write_lock_count個(gè)寫鎖定之后,對(duì)于那些正在等待獲得該表讀鎖的語(yǔ)句,服務(wù)器將適當(dāng)提升它們的優(yōu)先級(jí)。
    metadata_locks_cache_size(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是服務(wù)器為元數(shù)據(jù)鎖所使用的那個(gè)緩存的大小。此變量是在MySQL 5.5.19里引入的。
    min_examined_row_limit(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    一個(gè)查詢至少需要檢查min_examined_row_limit個(gè)行才被允許記錄到慢查詢?nèi)罩尽DJ(rèn)值為0。
    myisam_data_pointer_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是MyISAM索引文件的行指針的字節(jié)大小。此變量的取值范圍是2~7,默認(rèn)為6。對(duì)于個(gè)別的表,這個(gè)指針大小會(huì)受到指定的那個(gè)MAX_ROWS表選項(xiàng)的影響。
    myisam_max_sort_file_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    對(duì)于REPAIR TABLEALTER TABLELOAD DATA等語(yǔ)句,在對(duì)MyISAM表進(jìn)行重建時(shí),既可以使用一個(gè)臨時(shí)文件,頁(yè)可以使用鍵緩存。具體使用哪一種方法由這個(gè)變量的值來(lái)決定。如果臨時(shí)文件的大小可能會(huì)大于這個(gè)值,則需要使用鍵緩存。
    myisam_mmap_size(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的的壓縮收的MyISAM表文件在進(jìn)行內(nèi)存映射時(shí)使用的最大內(nèi)存量。此變量是在MySQL 5.5.1里引入的。
    myisam_recover_options(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是自動(dòng)修復(fù)MyISAM表時(shí)使用的模式。如果啟用它,那么當(dāng)服務(wù)器打開某個(gè)MyISAM表時(shí),如果該表被標(biāo)記為崩潰或者在上次使用時(shí)未正確關(guān)閉,那么它會(huì)嘗試修復(fù)該表。這個(gè)變量的值應(yīng)該為一個(gè)以逗號(hào)分隔的列表,其中可以帶有這樣一些選項(xiàng):BACKUP(如果修復(fù)操作會(huì)更改這個(gè)表,則先為它創(chuàng)建一個(gè)備份)、FORCE(即使丟失了多行數(shù)據(jù)也要強(qiáng)制進(jìn)行恢復(fù))、QUICK(快速恢復(fù))、DEFAULT(在恢復(fù)時(shí)不進(jìn)行任何其他特殊的處理)或者OFF(不進(jìn)行恢復(fù);這是默認(rèn)值)。
    如果在運(yùn)行服務(wù)器時(shí)啟用了系統(tǒng)變量delay_key_write,或者對(duì)單個(gè)MyISAM表進(jìn)行了配置,啟用了延遲索引寫入功能,那么啟用表的自動(dòng)修復(fù)功能是種不錯(cuò)的做法。
    myisam_repair_threads(啟動(dòng):直接設(shè)置:作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是在修復(fù)操作過(guò)程中用來(lái)創(chuàng)建MyISAM表使用的線程數(shù)。默認(rèn)值為1,表示的是使用單個(gè)線程進(jìn)行修復(fù)。將此變量的值設(shè)置為大于1,實(shí)現(xiàn)多線程修復(fù)——此功能仍處于體驗(yàn)階段。
    myisam_sort_buffer_size(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    在執(zhí)行類似ALTER TABLECREATE INDEX和REPAIR TABLE這樣的操作期間,需要分配緩沖區(qū),以便對(duì)MyISAM表的索引進(jìn)行排序。此變量指定的便是該緩沖區(qū)的大小。
    myisam_stats_method(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    此變量表示的是,服務(wù)器在為MyISAM表通緝其索引鍵的分布概率時(shí),應(yīng)該把NULL值視為相同,還是視為不同。可設(shè)置的值包括有:nulls_equal(所有的NULL值在同一個(gè)組里)、nulls_unequal(每個(gè)NULL值單獨(dú)成為一組)或nulls_ignored(忽略NULL值)。
    myisam_use_mmap(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是服務(wù)器在讀寫MyISAM表時(shí)是否需要使用內(nèi)存映射。默認(rèn)值為OFF。
    named_pipe(啟動(dòng):直接設(shè)置)
    它指的是服務(wù)器是否允許客戶端使用命名管道連接。只有Windows支持這種連接方式。默認(rèn)值為OFF。
    net_buffer_length(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是服務(wù)器與客戶端程序進(jìn)行通信時(shí)使用的連接和結(jié)果緩沖區(qū)的初始大小。此緩沖區(qū)可以擴(kuò)展到max_allowed_packet個(gè)字節(jié)大小。此變量的取值范圍是1KB~1MB;默認(rèn)為16KB。它的會(huì)話值是只讀的。
    net_read_timeout(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是在連接出現(xiàn)超時(shí)之前等待客戶端發(fā)送數(shù)據(jù)的秒數(shù)。
    net_retry_count(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是中斷的讀取操作被重試的次數(shù)。
    net_write_count(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是在連接出現(xiàn)超時(shí)之前將數(shù)據(jù)寫入客戶端所需要等待的秒數(shù)。
    new(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    此變量未被使用。
    old(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它是一個(gè)用于解決兼容問(wèn)題的變量,可以啟用某些較舊的行為特性。目前,它會(huì)導(dǎo)致索引提示無(wú)法 應(yīng)用到ORDER BYGROUP BY字句。
    old_alter_table(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    對(duì)于某些ALTER TABLE操作(在MySQL 5.0里,它們會(huì)需要表的臨時(shí)副本),當(dāng)前服務(wù)器并不需要臨時(shí)副本。啟用此變量可以讓服務(wù)器使用臨時(shí)副本。
    old_passwords(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    從MySQL 4.1版開始,MySQL服務(wù)器開始支持一種較以前更為安全的密碼散列方法。仍然支持那些擁有舊風(fēng)格散列密碼的已有賬戶,但是默認(rèn)情況下此變量是禁用的,并且新的密碼會(huì)使用新的散列方法。啟用此變量可以是密碼散列操作使用4.1版本之前的舊方法。這個(gè)變量可能會(huì)對(duì)服務(wù)器降級(jí)或?qū)①~戶移動(dòng)到舊服務(wù)器有好處。
    open_files_limit(啟動(dòng):直接設(shè)置;作用范圍:全局)
    此變量值的是MySQL服務(wù)器試圖保留的文件描述符的個(gè)數(shù)。如果在服務(wù)器啟動(dòng)時(shí)將此變量設(shè)置為一個(gè)非零值,但是發(fā)現(xiàn)服務(wù)器顯示的實(shí)際值卻小于指定值,那么該實(shí)際值表示的是操作系統(tǒng)所允許的文件描述符的最大數(shù)。(如果服務(wù)器顯示的值為0,則表示操作系統(tǒng)不允許mysqld更改文件描述符的個(gè)數(shù)。)如果在服務(wù)器啟動(dòng)時(shí)沒有設(shè)置此變量或是將其設(shè)置為0,那么MySQL服務(wù)器會(huì)把max_connections X 5和max_connections + table_open_cache X 2這兩者當(dāng)中較大的那個(gè)數(shù)作為保留的文件描述符個(gè)數(shù)。open_files_limit變量獨(dú)立地控制著文件描述符的分配,與innodb_open_files變量控制的文件描述符無(wú)關(guān)。
    optimizer_prune_level(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    查詢優(yōu)化器將分析多個(gè)執(zhí)行計(jì)劃并從中選出一個(gè)最佳的。此變量決定著優(yōu)化器如何處理中間計(jì)劃。如果此變量的值是1(默認(rèn)值),你怎么優(yōu)化器將之對(duì)各候選計(jì)劃將要檢查的行個(gè)數(shù)進(jìn)行估算,并根據(jù)估算結(jié)果丟棄中間計(jì)劃。如果此變量被設(shè)置為0,則優(yōu)化器將在所有計(jì)劃中執(zhí)行窮舉搜索。
    optimizer_search_depth(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    此變量控制著查詢優(yōu)化器搜索執(zhí)行計(jì)劃的深度。如果此變量的值是0,則優(yōu)化器將自動(dòng)選擇一個(gè)合理的深度值。默認(rèn)行為是執(zhí)行窮舉搜索。
    optimizer_switch(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    此變量控制的是可以被關(guān)閉或打開的優(yōu)化器策略。其值為一個(gè)以逗號(hào)隔開的flag=value設(shè)置列表,其中,value的值可以為on或off。你頁(yè)可以將標(biāo)志設(shè)置為default,以表示不管其默認(rèn)值為何值都需要返回它;或者將optimizer_switch自己設(shè)置為default,將所有的標(biāo)志都恢復(fù)成默認(rèn)值。對(duì)于各種策略的描述請(qǐng)參考MySQL參考手冊(cè)。
    optimizer_trace_xxx(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話)
    這些以optimizer_trace作為開頭的系統(tǒng)變量主要用于跟蹤查詢優(yōu)化器的內(nèi)部操作。這些變量是在MySQL 5.6.3里引入的。
    performance_schema_xxx
    這些以performance_schema作為開頭的系統(tǒng)變量主要是與搜索和分析服務(wù)器性能數(shù)據(jù)所使用的那個(gè)Performance Schema有關(guān)。更多信息請(qǐng)參考MySQL參考手冊(cè)。
    pid_file(啟動(dòng):直接設(shè)置;作用范圍:全局)
    在mysqld啟動(dòng)時(shí),它會(huì)將其進(jìn)程ID(即PID)寫入一個(gè)文件里。此變量指定的是哪個(gè)PID文件的路徑名。此文件可能被其他進(jìn)程用于確定服務(wù)器的進(jìn)程編號(hào),通常是用于向服務(wù)器發(fā)送信號(hào)。例如,當(dāng)mysql.server向服務(wù)器發(fā)送關(guān)閉信號(hào)時(shí),會(huì)讀取這個(gè)文件。如果其文件名是以相對(duì)路徑形式給出的,服務(wù)器會(huì)將它解釋為相對(duì)于數(shù)據(jù)目錄。默認(rèn)為host_name.pid。
    plugin_dir(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是存放插件的那個(gè)目錄的路徑名。
    port(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是服務(wù)器用來(lái)監(jiān)聽客戶端連接的TCP/IP端口號(hào)。
    preload_buffer_size(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    此變量決定著MySQL服務(wù)器在使用LOAD INDEX語(yǔ)句預(yù)加載有關(guān)索引時(shí)會(huì)分配一個(gè)多大的緩沖區(qū)。
    protocol_version(作用范圍:全局)
    服務(wù)器所使用的客戶端/服務(wù)器協(xié)議的版本號(hào)。
    proxy_user(作用范圍:全局)
    這是一個(gè)只讀的會(huì)話變量。在啟用了代理功能時(shí),它表示的是代理用戶;否則為NULL。此變量是在MySQL 5.5.7里引入的。
    pseudo_thread_id(作用范圍:會(huì)話;動(dòng)態(tài))
    此變量?jī)H供MySQL服務(wù)器內(nèi)部使用。
    query_alloc_block_size(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是在分析和執(zhí)行SQL語(yǔ)句時(shí)分配的臨時(shí)內(nèi)存塊大小。
    query_cache_limit(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是查詢結(jié)果的最大緩存大小,超過(guò)這一大小的查詢結(jié)果將不會(huì)被緩存。默認(rèn)大小為1MB。
    query_cache_min_res_unit(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是為把查詢結(jié)果存入查詢緩存里而分配的內(nèi)存塊大小。默認(rèn)大小為4KB。
    query_cache_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是用來(lái)緩存查詢結(jié)果的內(nèi)存大小。當(dāng)把此變量設(shè)置為0時(shí),即使query_cache_type不為OFF,也要禁用查詢緩存。反之,如果把此變量設(shè)置為一個(gè)非零值,那么即使query_cache_type的值為OFF,也要強(qiáng)行分配那么多的內(nèi)存。取值為1024的倍數(shù)。query_cache_type(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    當(dāng)query_cache_size的值大于0時(shí),它指的是查詢緩存的操作模式。下表列出了各種可能的取值。
    模式             含義                                                
    0    不緩存查詢結(jié)果,也不檢索緩存結(jié)果
    1        將可緩存的查詢緩存起來(lái),那些以SELECT SQL_NO_CACHE作為開頭的查詢除外
    2        根據(jù)需要只將那些以SELECT SQL_CACHE作為開頭的可緩存查詢緩存起來(lái)
    如果使用SET語(yǔ)句來(lái)設(shè)置query_cache_type變量,那么符號(hào)值OFF、ON和DEMAND分別對(duì)應(yīng)模式0、模式1和模式2.
    query_cache_wlock_invalidate(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    當(dāng)此變量為0(默認(rèn)值)時(shí),即使某個(gè)客戶對(duì)某個(gè)表進(jìn)行了WRITE鎖定,其客戶端也能檢索該表已被緩存的查詢結(jié)果。如果把此變量設(shè)置為1,那么在某個(gè)客戶端對(duì)某個(gè)表獲得WRITE所期間,該表已被緩存的查詢結(jié)果將變得不可用,其他客戶端必須等到該鎖被釋放。
    query_prealloc_size(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是為分析和執(zhí)行SQL語(yǔ)句而分配的那個(gè)緩沖區(qū)的長(zhǎng)度。與那些由query_alloc_block_size變量控制的內(nèi)存分配塊不同,這個(gè)緩沖區(qū)在前后兩條語(yǔ)句之間不會(huì)被釋放。
    rand_seed1和rand_seed2(作用范圍:會(huì)話;動(dòng)態(tài))
    它們是復(fù)制RAND()函數(shù)時(shí)內(nèi)部使用的只讀會(huì)話變量。
    range_alloc_block_size(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是在進(jìn)行范圍優(yōu)化時(shí)分配的內(nèi)存的塊大小。
    read_buffer_size(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是對(duì)表進(jìn)行順序掃描的那個(gè)線程所使用的緩存區(qū)的大小。緩沖區(qū)會(huì)根據(jù)每個(gè)客戶端的需要進(jìn)行分配。
    read_only(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    此變量控制的是從服務(wù)器是否會(huì)以只讀方式來(lái)處理客戶連接。默認(rèn)情況下,read_only的值為OFF,此時(shí),客戶端的更新都會(huì)以平常的方式(即它們都有權(quán)限這樣做)被接收。如果把此變量設(shè)置為ON,那么只有從主服務(wù)器那里接收到的語(yǔ)句(對(duì)于從服務(wù)器)或者擁有SUPER權(quán)限的客戶端所執(zhí)行的語(yǔ)句才能執(zhí)行更新操作;SET PASSWORD要求SUPER權(quán)限。read_only不會(huì)應(yīng)用于TEMPORARY表。
    如果你明確地?fù)碛斜礞i或者還有尚未執(zhí)行完畢的事務(wù),那么你不能啟用此變量。在其他客戶端擁有表鎖或者還有尚未執(zhí)行完畢的事務(wù)時(shí),如果你試圖激活此變量,那么你的請(qǐng)求將被阻塞,一直到這些鎖被釋放或是事務(wù)執(zhí)行完畢位置。當(dāng)你的請(qǐng)求被阻塞時(shí),如果其他客戶端試圖要獲得新的表鎖或是試圖開始新的事務(wù),那么它們也將被阻塞。這些阻塞條件對(duì)FLUSH TABLES WITH READ LOCK語(yǔ)句沒有作用,因?yàn)樗@得的是全局讀鎖,不是表鎖。
    rand_rnd_buffer_size(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是在對(duì)行進(jìn)行排序之后,順序讀取各行時(shí)使用的那個(gè)緩沖區(qū)的大小。緩沖區(qū)會(huì)根據(jù)每個(gè)客戶端的需要進(jìn)行分配。
    relay_log(啟動(dòng):直接設(shè)置;作用范圍:全局)
    中繼日志文件的名字。
    relay_log_basename(作用范圍:全局)
    中繼日志文件的完整路徑名。此變量是在MySQL 5.6.2里引入的。
    relay_log_index(作用范圍:全局)
    中繼日志索引文件的名字。
    relay_log_info_file(啟動(dòng):直接設(shè)置;作用范圍:全局)
    中繼日志信息文件的名字;默認(rèn)為relay-log.info。
    relay_log_info_repository(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    此變量表示的是,從服務(wù)器是將中繼日志信息寫入文件,還是寫入表。如果該值為FILE(默認(rèn)值),那么從服務(wù)器會(huì)把日志記錄到—relay-log-info-file選項(xiàng)所指定的文件里。如果該值為TABLE,那么服務(wù)器會(huì)把日志記錄到mysql.slave_relay_log_info_file表里。此變量的在MySQL 5.6.2里引入的。
    relay_log_purge(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果此變量被設(shè)置為1(默認(rèn)值),從服務(wù)器會(huì)在用完一個(gè)中繼日志文件之后立刻刪除它。如果把此變量設(shè)置為0,中繼日志文件將不會(huì)被自動(dòng)刪除。
    relay_log_recovery(啟動(dòng):直接設(shè)置;作用范圍:全局)
    此變量在從服務(wù)器崩潰之后非常游泳。在啟動(dòng)時(shí)啟用它,可以使從服務(wù)器刪除所有的還未處理的中繼日志,并再次從主服務(wù)器獲取它們。此變量默認(rèn)是禁用的。
    relay_log_space_limit(啟動(dòng):直接設(shè)置;作用范圍:全局)
    全體中繼日志文件的最大允許大小。當(dāng)達(dá)到這個(gè)限制時(shí),從服務(wù)器的I/O線程會(huì)等待SQL線程處理更多的事件,并通過(guò)刪除日志文件的方式釋放空間。
    report_host、report_password、report_port、report_user(作用范圍:全局)
    在從復(fù)制服務(wù)器上,可以設(shè)置這些變量,以表示從服務(wù)器進(jìn)行連接時(shí)應(yīng)該報(bào)告給主服務(wù)器的那些值。它們不需要與從服務(wù)器在建立連接時(shí)實(shí)際使用的那些值相對(duì)應(yīng)。當(dāng)SHOW SLAVE HOSTS語(yǔ)句在主服務(wù)器上執(zhí)行時(shí),這些值會(huì)顯示在該語(yǔ)句的輸出里。只有在主服務(wù)器啟動(dòng)時(shí)帶有—show-slave-auth-info選項(xiàng),才會(huì)報(bào)告report_user和report_password的值。
    secure_auth(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它表示的是,服務(wù)器是否只允許那些擁有MySQL 4.1里引入的密碼格式的用戶進(jìn)行連接。如果此變量被設(shè)置為OFF,那么服務(wù)器將允許那些使用4.1版本之前的就密碼格式的賬戶進(jìn)行連接。在MySQL 5.6.5之前,此變量的默認(rèn)值為OFF;之后的默認(rèn)值為ON。
    secure_file_priv(啟動(dòng):直接設(shè)置;作用范圍:全局)
    如果把此變量設(shè)置為目錄路徑名,服務(wù)器將只允許LOAD DATA和SELECTINTO OUTFILE語(yǔ)句以及LOAD_FILE()函數(shù)對(duì)該目錄的文件進(jìn)行操作。默認(rèn)情況下,此變量的值為空(沒有上述限制)。
    server_id(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    MySQL服務(wù)器的復(fù)制ID編號(hào)。如果編號(hào)值為0,則表示該服務(wù)器不參與復(fù)制;否則,這個(gè)值必須是一個(gè)1~232次方)-1的整數(shù)。每一個(gè)服務(wù)器的復(fù)制ID編號(hào)都必須是唯一的。
    server_uuid(作用范圍:全局)
    服務(wù)器自動(dòng)生成的UUID值。此變量是在MySQL 5.6.0里引入的。
    shared_memory(啟動(dòng):直接設(shè)置)
    它指的是服務(wù)器是否允許客戶端使用共享內(nèi)存連接。只有Windows支持這種連接方式。默認(rèn)值為OFF。
    shared_memory_base_name(啟動(dòng):直接設(shè)置)
    它指的是用來(lái)建立共享內(nèi)存連接的共享內(nèi)存的名字。默認(rèn)名字為MYSQL(區(qū)分大小寫)。
    skip_external_locking(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是外部鎖定機(jī)制(即文件系統(tǒng)級(jí)的鎖定機(jī)制)是否被禁止。
    skip_name_resolve(啟動(dòng):直接設(shè)置;作用范圍:全局)
    此變量默認(rèn)是禁用的。啟用它之后,可以禁止主機(jī)名解析,并且在權(quán)限表里必須通過(guò)IP地址或使用localhost來(lái)指定這些主機(jī)。
    skip_networking(啟動(dòng):直接設(shè)置;作用范圍:全局)
    如果禁用此變量(默認(rèn)值),則服務(wù)器允許使用TCP/IP連接。如果啟用它,則會(huì)禁用TCP/IP連接。客戶端只可以從本地主機(jī)進(jìn)行連接,且必須使用非TCP/IP接口。Unix客戶端可使用Unix套接字文件。Windows客戶端可以使用共享內(nèi)存或命名管道(如果這些鏈接類型被棄用了的話)連接。
    skip_show_databases(啟動(dòng):直接設(shè)置;作用范圍:全局)
    如果禁用此變量(默認(rèn)值),則有用戶都可以執(zhí)行SHOW DATABASES語(yǔ)句。如果用戶擁有SHOW DATABASE權(quán)限,則它可以看到所有的數(shù)據(jù)庫(kù),否則,用戶只能看到它直接權(quán)限能夠訪問(wèn)的那些數(shù)據(jù)庫(kù)。如果啟用此變量,則只有擁有SHOW DATABASE權(quán)限的用戶才能使用SHOW DATABASE語(yǔ)句,并且它會(huì)顯示所有的數(shù)據(jù)庫(kù)。
    slave_allow_batching(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    啟用從服務(wù)器的批請(qǐng)求功能。它僅適用于MySQL集群。
    slave_checkpoint_group(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果啟用了多線程從服務(wù)器執(zhí)行(請(qǐng)參考slave_parallel_threads),則此變量控制的是從服務(wù)器在獲得一個(gè)檢查點(diǎn)之前執(zhí)行的最大事務(wù)數(shù)。默認(rèn)值為512。允許的取值范圍為32~512KB。此變量是在MySQL 5.6.3里引入的。檢查點(diǎn)依賴于slave_checkpoint_group和slave_checkpoint_period;超過(guò)任何一個(gè)限制都會(huì)導(dǎo)致從服務(wù)器回到檢查點(diǎn),并重置與它們兩個(gè)關(guān)聯(lián)在一起的那些計(jì)數(shù)器。
    slave_checkpoint_group(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果啟用了多線程從服務(wù)器執(zhí)行(請(qǐng)參考slave_parallel_threads),則此變量控制的是從服務(wù)器在獲得一個(gè)檢查點(diǎn)之前執(zhí)行的最大時(shí)間(單位為毫秒)。默認(rèn)值為300。允許的取值范圍為1~4GB。此變量是在MySQL 5.6.3里引入的。請(qǐng)參考slave_checkpoint_group。
    slave_compressed_protocol(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    此變量決定著是否要對(duì)從服務(wù)器和主服務(wù)器之間的通信進(jìn)行壓縮。這需要主、從服務(wù)器都支持使用壓縮協(xié)議才行。
    slave_load_mode(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是從服務(wù)器的執(zhí)行模式,取值可以為STRICT(默認(rèn))或IDEMPOTENT。后面那個(gè)設(shè)置對(duì)于涉及循環(huán)或多個(gè)主服務(wù)器的復(fù)制拓?fù)淇赡芎苡杏茫捎糜诜乐钩霈F(xiàn)“鍵恢復(fù)”會(huì)“鍵未找到”的錯(cuò)誤。
    slave_load_tmpdir(啟動(dòng):直接設(shè)置;作用范圍:全局)
    如果服務(wù)器是一個(gè)復(fù)制從服務(wù)器,那么它指的是用于處理LOAD DATA語(yǔ)句的那個(gè)目錄的路徑名。此變量的默認(rèn)值是系統(tǒng)變量他們怕敵人的值。
    slave_max_allowed_packet(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    與max_allowed_packet類似,但它適用于從服務(wù)器的SQL線程和I/O線程。默認(rèn)大小為1GB。
    slave_net_timeout(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是在連接出現(xiàn)超時(shí)之前等待主服務(wù)器發(fā)送數(shù)據(jù)的秒數(shù)。
    slave_parallel_workers(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    在從服務(wù)器上,將此變量設(shè)置為大于0,以啟用多線程復(fù)制。通常情況下會(huì)執(zhí)行從從服務(wù)器上接收到的所有事件的那個(gè)SQL線程,實(shí)際上會(huì)變成執(zhí)行這些時(shí)間的那個(gè)工作線程slave_parallel_workers的坐標(biāo)。默認(rèn)值為0。允許的取值范圍為0~1024。此變量是在MySQL 5.6.3里引入的。
    slave_pending_jobs_size_max(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果啟用了從服務(wù)器多線程執(zhí)行(請(qǐng)參考slave_parallel_threads),則此變量控制的是工作線程用于緩存未處理事件的最大內(nèi)存量。默認(rèn)大小為16MB。允許的取值范圍為1KB~18EB。此變量是在MySQL 5.6.3里引入的。
    slave_skip_errors(啟動(dòng):直接設(shè)置;作用范圍:全局)
    此變量用于指定一個(gè)錯(cuò)誤列表;在列表里的錯(cuò)誤出現(xiàn)時(shí),從服務(wù)器會(huì)忽略它們,而不是將復(fù)制過(guò)程掛起。(不過(guò),與利用這個(gè)選項(xiàng)來(lái)忽略錯(cuò)誤的做法相比,還是找出問(wèn)題的根源并徹底解決更好。)如果此變量的值為all,則會(huì)忽略所有的錯(cuò)誤。否則,此變量的值應(yīng)該是以逗號(hào)分隔的一個(gè)或者多個(gè)出錯(cuò)編號(hào)。
    slave_sql_verify_checksum(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是從服務(wù)器的SQL線程是否應(yīng)該驗(yàn)證中繼日志里讀取到的事件的校驗(yàn)和。如果校驗(yàn)和錯(cuò)誤,復(fù)制過(guò)程會(huì)停止。默認(rèn)值為OFF。此變量是在MySQL 5.6.2里引入的。
    slave_transaction_retries(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是從服務(wù)器重試失敗事務(wù)的次數(shù)。事務(wù)失敗的原因包括:死鎖或者已經(jīng)到達(dá)存儲(chǔ)引起的超時(shí)限制。默認(rèn)值為10。
    slave_type_conversions(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    這個(gè)變量表示的是在從服務(wù)器上進(jìn)行基于行的復(fù)制時(shí)允許的各種類型轉(zhuǎn)換。默認(rèn)值為空串(即不允許轉(zhuǎn)換)。當(dāng)其值為非空時(shí),它應(yīng)該是一個(gè)以逗號(hào)分隔的值列表,其中的值為一個(gè)或多個(gè)ALL_LOSSY(允許丟失信息的轉(zhuǎn)換)或ALL_NON_LOSSY(允許那些不丟失信息的轉(zhuǎn)換)。此變量是在MySQL 5.5.3里引入的。
    slow_launch_time(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是創(chuàng)建“慢”線程所占用的秒數(shù)。任何線程的創(chuàng)建時(shí)間超過(guò)這個(gè)值時(shí),都會(huì)導(dǎo)致狀態(tài)變量Slow_launch_threads的值加1。
    slow_query_log(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它用于指定是否要啟用慢查詢?nèi)罩居涗洝H绻獑⒂茫瑒tlog_output變量會(huì)控制日志的輸出目標(biāo)。
    slow_query_log_file(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是慢查詢?nèi)罩疚募拿帧T趩⒂昧薋ILE日志目標(biāo)時(shí),會(huì)用到它。它的默認(rèn)值是數(shù)據(jù)目錄里的HOSTNAME-slow.log文件,其中,HOSTNAME是服務(wù)器主機(jī)的名字。如果其文件名是以相對(duì)路徑形式給出的,則服務(wù)器會(huì)將它解釋為相對(duì)于數(shù)據(jù)目錄。
    socket(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是Unix域套接字的路徑名或Windows中命名管道的名字。
    sort_buffer_size(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    供那些用來(lái)完成排序操作(GROUP BYORDER BY)的線程使用的緩沖區(qū)的大小。如有必要,每個(gè)客戶端都能分配到一個(gè)這樣的緩沖區(qū)。一般來(lái)說(shuō),如果你有許多個(gè)客戶端會(huì)在同一時(shí)間進(jìn)行排序操作,就不應(yīng)該把這個(gè)值設(shè)置得很大(超過(guò)1MB)。
    sql_auto_is_null(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    如果此變量設(shè)置為1,那么最近生成的AUTO_INCREMENT值可以選擇使用WHERE col_name IS NULL形式的子句來(lái)進(jìn)行查詢,其中,col_name是AUTO_INCREMENT列的名稱。有些ODBC程序會(huì)使用此功能。如果要禁用它,可以將此變量設(shè)置為0。默認(rèn)是0(在MySQL 5.5.3之前默認(rèn)為1)。
    sql_big_selects(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    服務(wù)器會(huì)把此變量與系統(tǒng)變量max_join_size一起使用。如果sql_big_selects為1(默認(rèn)),服務(wù)器會(huì)接受那些返回任意大小結(jié)果集的查詢。如果sql_big_selects為0,服務(wù)器會(huì)拒絕那些由可能返回大量行的查詢。在這種情況下,執(zhí)行連接操作時(shí),會(huì)使用max_join_size的值:服務(wù)器會(huì)對(duì)它需要檢查的行組合數(shù)量進(jìn)行估算,如果該值超過(guò)了max_join_size的值,那么服務(wù)器將返回一個(gè)錯(cuò)誤,而不會(huì)執(zhí)行該查詢。
    將max_join_size設(shè)置為DEFAULT以外的某個(gè)值,會(huì)自動(dòng)將sql_big_selects設(shè)置為0。
    sql_buffer_result(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    將此變量設(shè)置為1,會(huì)導(dǎo)致服務(wù)器使用內(nèi)部臨時(shí)表來(lái)保存SELECT語(yǔ)句的結(jié)果。帶來(lái)的效果是,服務(wù)器可以快速地釋放由生成結(jié)果的那個(gè)表所占用的鎖。默認(rèn)值為0。
    sql_log_bin(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    將這個(gè)變量的會(huì)話值設(shè)置為01,可以禁用或啟用當(dāng)前客戶端會(huì)話的二進(jìn)制日志記錄。在運(yùn)行時(shí),客戶端必須擁有SUPER權(quán)限才能更改這個(gè)變量,即使是更改其會(huì)話值也是如此。該變量只有在啟用二進(jìn)制日志記錄的情況下才會(huì)發(fā)揮作用。
    sql_log_off(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    將這個(gè)變量的會(huì)話值設(shè)置為01,可以啟用或禁用當(dāng)前客戶端會(huì)話的普遍查詢?nèi)罩居涗洝T谶\(yùn)行時(shí),客戶端必須擁有SUPER權(quán)限才能更改這個(gè)變量,即使是更改其會(huì)話值也是如此。該變量只有在啟用普通查詢?nèi)罩居涗浀那闆r下才會(huì)發(fā)揮作用。
    sql_mode(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    服務(wù)器的SQL模式。這個(gè)變量將改變MySQL服務(wù)器的某些行為,使它更符合SQL語(yǔ)言標(biāo)準(zhǔn)或是與其他數(shù)據(jù)庫(kù)服務(wù)器或老版本的MySQL服務(wù)器保持兼容。此變量的值應(yīng)該是一個(gè)空串(這將清除以前設(shè)置的SQL模式)或者是由下面將要介紹的一個(gè)或多個(gè)模式值以逗號(hào)分隔而構(gòu)成的一系列值。自MySQL 5.6.6起,其默認(rèn)值為NO_ENGINE_SUBSTITUTION;而對(duì)于之前的版本,其值為空串。有些模式值很簡(jiǎn)單,它們可以單獨(dú)使用以啟用某種特定的行為。其他的則是復(fù)合模式,每種復(fù)合SQL模式涵蓋多種簡(jiǎn)單SQL模式,這使得用于可以方便地一次設(shè)置多種SQL模式。模式值不區(qū)分大小寫。
    術(shù)語(yǔ)“嚴(yán)格模式“(strict mode)指的是這樣一種sql_mode設(shè)置:它啟用了STRICT_TRANS_TABLES和STRICT_ALL_TABLES,以便讓服務(wù)器在對(duì)數(shù)據(jù)進(jìn)行檢查時(shí)更加嚴(yán)格。
    下面列出了一些簡(jiǎn)單的SQL模式值。
    n    ALLOW_INVALID_DATES
    在嚴(yán)格模式里,禁止對(duì)DATE和DATETIME值進(jìn)行全面的日期有效性檢查。唯一的要求是月份的取值范圍必須為1~12,日期的取值范圍必須為131。但是TIMASTAMP值是個(gè)例外:不管是否啟用了這個(gè)SQL模式,它們都必須是有效的。
    n    ANSI_QUOTES
    把雙引號(hào)自負(fù)解釋為供標(biāo)識(shí)符(如數(shù)據(jù)庫(kù)名、表名和列名)使用的引號(hào)字符,而不是供字符串使用的引號(hào)字符。(不管這個(gè)模式是否啟用,都可以用反引號(hào)來(lái)當(dāng)作名字的引號(hào)字符。)
    n    ERROR_FOR_DIVISION_BY_ZERO
    對(duì)于行插入或修改操作,即使是在嚴(yán)格模式下,以零為除數(shù)的出發(fā)(或求余數(shù))運(yùn)算得到的結(jié)果通常是NULL,且不會(huì)返回任何警告信息。啟用ERROR_FOR_DIVISION_BY_ZERO模式將更改這種行為。如果沒有啟用嚴(yán)格模式,那么以零為除數(shù)時(shí)結(jié)果將為NULL值,但會(huì)返回一條警告信息;如果啟用了嚴(yán)格模式,那么在執(zhí)行INSERTUPDATE語(yǔ)句期間遇到以零為除數(shù)的情況時(shí),將產(chǎn)生一個(gè)錯(cuò)誤,并且該語(yǔ)句會(huì)失敗。如果想要禁止在插入或更新是出現(xiàn)錯(cuò)誤,并且產(chǎn)生一個(gè)NULL值和警告信息,可以使用INSERT IGNORE或UPDATE IGNORE。
    n    HIGH_NOT_PRECEDENCE
    此模式可以更改NOT操作符的優(yōu)先級(jí),使其與!操作符的優(yōu)先級(jí)相同。
    n    IGNORE_SPACE
    讓服務(wù)器忽略內(nèi)建函數(shù)名與引入?yún)?shù)表的那個(gè)左括號(hào)“(”之間的空格。默認(rèn)情況下,那個(gè)左括號(hào)必須緊跟在函數(shù)名的后面,其中間不允許有間隔。此模式會(huì)使函數(shù)名被當(dāng)作保留字。
    n    NO_AUTO_CREATE_USER
    防止GRANT語(yǔ)句創(chuàng)建不安全的新賬戶。也就是說(shuō),如果某個(gè)賬戶不存在,那么GRANT會(huì)執(zhí)行失敗,并且不會(huì)創(chuàng)建賬戶,除非該語(yǔ)句包含一個(gè)指定有非空密碼的IDENTIFIED BY子句,或者包含有一個(gè)指定身份驗(yàn)證插件的IDENTIFIED WITH子句。
    n    NO_AUTO_VALUE_ON_ZERO
    通常情況下,把0插入一個(gè)AUTO_INCREMENT列,等效于插入NULL值:MySQL將自動(dòng)生成下一個(gè)序列編號(hào),并把它保存在該列里。如果啟用了此模式,那么往AUTO_INCREMENT列里插入0將會(huì)把數(shù)字0存入該列。
    n    NO_BACKSLASH_ESCAPES
    如果啟用了這個(gè)模式,那么反斜線字符(“\”)將被當(dāng)作一個(gè)沒有特殊含義的普通字符,而不是當(dāng)作一個(gè)字符串的轉(zhuǎn)義字符。
    n    NO_DIR_IN_CREATE
    忽略CREATE TABLEALTER TABLE語(yǔ)句時(shí),該模式所指定的存儲(chǔ)引擎不可用——此時(shí),這個(gè)模式便決定著服務(wù)器將如何處理它們。如果啟用了此模式,那么會(huì)出現(xiàn)一個(gè)錯(cuò)誤,并且該表不會(huì)被創(chuàng)建(或更改)。如果禁用了此模式,那么允許替換為默認(rèn)的存儲(chǔ)引擎。
    n    NO_ZERO_DATE
    在嚴(yán)格模式下,拒絕接收’0000-00-00’作為一個(gè)有效日期值通常情況下,MySQL允許存儲(chǔ)“零”日期值。這個(gè)模式可以通過(guò)使用INSERT IGNORE語(yǔ)句代替INSERT語(yǔ)句的辦法來(lái)覆蓋。
    n    NO_ZERO_IN_DATE
    在嚴(yán)格模式下,拒絕接收月或日部分是零的日期值。(年份是零的日期值是允許的。)通常情況下,MySQL允許存儲(chǔ)這樣的日期值。在非嚴(yán)格模式下,或者如果用戶發(fā)出的是INSERT IGNORE語(yǔ)句,MySQL將把這樣的日期值保存為’0000-00-00’。
    n    ONLY_FULL_GROUP_BY
    通常情況下,MySQL允許SELECT語(yǔ)句的輸出列列表里帶有非聚合型列,或者使用不是列在GROUP BY子句里的HAVING子句。例如:
    select a,b,count(*) from t group by a;
    ONLY_FULL_GROUP_BY標(biāo)志要求非聚合型輸出列(或HAVING列)都被列在GROUP BY里:
    select a,b,count(*) from t group by a,b;
    n    PAD_CHAR_TO_FULL_LENGTH
    通常情況下,服務(wù)器在檢索CHAR列值時(shí)會(huì)刪除其尾部空格。如果啟用了這個(gè)模式,MySQL服務(wù)器將禁止刪除CHAR列的尾部空格,這樣,檢索到的值的長(zhǎng)度就等于列的定義寬度。
    n    PIPES_AS_CONCAT
    如果啟用了這個(gè)模式,那么||將被解釋為字符串連接操作符,而不會(huì)解釋為邏輯或。
    n    REAL_AS_FLOAT
    如果啟用了這個(gè)模式,那么數(shù)據(jù)類型REAL將于FLOAT同義,而不是等同于DOUBLE。
    n    STRICT_ALL_TABLES
    如果啟用了這個(gè)模式,那么所有的存儲(chǔ)引擎都將對(duì)輸入數(shù)據(jù)做更嚴(yán)格的檢查,這將導(dǎo)致MySQL拒絕接收絕大多數(shù)非法值。如果想要更加嚴(yán)格,可以使用TRADITIONAL模式。
    n    STRICT_TRANS_TABLES
    如果啟用了這個(gè)模式,那么事務(wù)型存儲(chǔ)引擎將輸入數(shù)據(jù)值做嚴(yán)格的檢查,這將導(dǎo)致MySQL拒絕接受絕大多數(shù)非法值。在此基礎(chǔ)上,只要有可能(例如,遇到插入單個(gè)行的INSERT語(yǔ)句),非事務(wù)型存儲(chǔ)引擎也將對(duì)輸入數(shù)據(jù)做嚴(yán)格的檢查。如果想要更加嚴(yán)格,可以使用TRADITIONAL模式。
    下表列出的是復(fù)合SQL模式,以及每種復(fù)合模式所包含的模式內(nèi)容。
    復(fù)合模式                組成模式
    ANSI            ANSI_QUOTES, IGNORE_SPACE, PIPES_AS_CONCAT, REAL_AS_FLOAT
    DB2    ANSI_QUOTES, IGNORE_SPACE, NO_FIELD_OPTIONS, NO_KEY_OPTIONS, NO_TABLE_OOPTIONS, PEPES_AS_CONCAT
    MAXDB    ANSI_QUOTES, IGNORE_SPACE, NO_AUTO_CREATE_USER, NO_FIELD_OPTIONS, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, PEPES_AS_CONCAT
    MSSQL    ANSI_QUOTES, IGNORE_SPACE, NO_FIELD_OPTIONS, NO_KEY_OPTIONS, NO_TABLE_OOPTIONS, PEPES_AS_CONCAT
    MYSQL323            HIGH_NOT_PRECEDENCE, NO_FIELD_OPTIONS
    MYSQL40            HIGH_NOT_PRECEDENCE, NO_FIELD_OPTIONS
    ORACLE    ANSI_QUOTES, IGNORE_SPACE, NO_AUTO_CREATE_USER, NO_FIELD_OPTIONS, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, PEPES_AS_CONCAT
    POSTGRESQL    ANSI_QUOTES, IGNORE_SPACE, NO_FIELD_OPTIONS, NO_KEY_OPTIONS, NO_TABLE_OOPTIONS, PEPES_AS_CONCAT
    TRADITIONAL    ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER, NO_ZERO_DATE, NO_ZERO_IN_DATE, STRICT_ALL_TABLES, STRICT_TRANS_TABLES
    之所以稱之為TRADITIONAL模式,是因?yàn)樗鼏⒂眠@樣的模式——它們使得MySQL在處理輸入值時(shí),可以表現(xiàn)得像那些會(huì)拒絕無(wú)效數(shù)據(jù)的傳統(tǒng)數(shù)據(jù)庫(kù)一樣。它有點(diǎn)像嚴(yán)格模式,但是對(duì)于更加嚴(yán)格的檢查又包含了幾個(gè)附加的約束。
    
    sql_log_off(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    將此變量設(shè)置為01(默認(rèn)值),可以控制服務(wù)器是禁止還是記錄Note級(jí)的警告。
    sql_quote_show_create(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    此變量控制的是,在語(yǔ)句SHOW CREATE TABLESHOW CREATE DATABASE的輸出結(jié)果里是否需要標(biāo)識(shí)符(數(shù)據(jù)庫(kù)名、表名、列名和索引名)用引號(hào)引起來(lái)。默認(rèn)為1(即需要使用引號(hào))。將此變量設(shè)置為0,可以不要求使用引號(hào)。當(dāng)生產(chǎn)用于其他數(shù)據(jù)庫(kù)服務(wù)器的CREATE TABLE語(yǔ)句時(shí),不使用引號(hào)會(huì)帶來(lái)好處。如果禁用引號(hào),則一定要確保表沒有使用保留字或者沒有包含特殊字符。
    如果禁用了SQL模式ANSI_QUOTES,引用標(biāo)識(shí)符將使用反撇號(hào)(`);否則,會(huì)使用雙引號(hào)(”)。
    sql_safe_updates(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    如果將此變量設(shè)置為1,那么只有這些被修改的行是通過(guò)鍵值來(lái)確定的,或者使用了LIMIT子句,服務(wù)器才會(huì)接受UPDATE和DELETE。當(dāng)使用默認(rèn)值0時(shí),無(wú)這種限制。
    sql_select_limit(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    此變量指定的是SELECT語(yǔ)句返回的最大行數(shù)。如果顯式地給出了LIMIT子句,那么該子句的優(yōu)先級(jí)要高于此變量。默認(rèn)值為每個(gè)表所能容納的最大行數(shù)。如果你曾經(jīng)更改過(guò)此變量的值,可以使用之DEFAULT來(lái)恢復(fù)其默認(rèn)值。
    對(duì)于存儲(chǔ)例程或那些不會(huì)把行返回給客戶端的SELECT操作(如子查詢、INSERT INTO … SELECT和CREATE TABLE … SELECT語(yǔ)句),此變量沒有任何作用。
    sql_slave_skip_counter(作用范圍:全局;動(dòng)態(tài))
    擁有SUPER權(quán)限的用戶可以把此變量當(dāng)作GLOBAL變量設(shè)置為n,告訴復(fù)制從服務(wù)器跳過(guò)接下來(lái)從其主服務(wù)器接收到的n個(gè)時(shí)間。如果最后的位置位于一組事件(如某個(gè)事務(wù)的一組事件)的中間,那么從服務(wù)器還會(huì)跳過(guò)組里的其余時(shí)間。
    sql_warnings(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    如果將此變量設(shè)置為1,那么MySQL會(huì)報(bào)告警告統(tǒng)計(jì)信息(即使對(duì)于單個(gè)行的插入操作也會(huì)報(bào)告)。對(duì)于默認(rèn)值0,則只會(huì)針對(duì)插入多個(gè)行的INSERT語(yǔ)句報(bào)告警告統(tǒng)計(jì)信息。
    ssl_xxx
    ssl_xxx變量表示的是與服務(wù)器啟動(dòng)時(shí)給定的各個(gè)—ssl-xxx選項(xiàng)相對(duì)應(yīng)的值。(例如,ssl_ca表示的是—ssl-ca選項(xiàng)的值。)如果在啟動(dòng)服務(wù)器時(shí)沒有給定—ssl-xxx選項(xiàng),那么相應(yīng)的ssl_xxx變量的值將為空串。如果不支持使用SSL,則這些變量的值都將是NULL。
    storage_engine(作用范圍:全局、會(huì)話;動(dòng)態(tài))
    自MySQL 5.5.3起,它已被棄用。請(qǐng)使用default_storage_engine來(lái)代替。
    stored_program_cache(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是服務(wù)器會(huì)為每個(gè)連接緩存多少存儲(chǔ)例程。默認(rèn)值為256。此變量是在MySQL 5.5.21里引入的。
    sync_binlog(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    當(dāng)把此變量設(shè)置為0時(shí)(默認(rèn)值),服務(wù)器不會(huì)把二進(jìn)制日志刷新到磁盤。當(dāng)此變量被設(shè)置為一個(gè)正整數(shù)n的時(shí)候,服務(wù)器每對(duì)二進(jìn)制日志進(jìn)行n次寫操作就會(huì)把日志刷新到磁盤。在這種情況下,系統(tǒng)發(fā)生崩潰時(shí),此變量的值越小,有關(guān)數(shù)據(jù)的安全系數(shù)越大,但這同時(shí)對(duì)系統(tǒng)性能的負(fù)面影響也越大。
    sync_frm(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    當(dāng)啟動(dòng)此變量時(shí)(默認(rèn)值),服務(wù)器會(huì)在數(shù)據(jù)創(chuàng)建時(shí)將每個(gè)非臨時(shí)表的.frm文件刷新到磁盤。
    sync_master_info(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    對(duì)于從服務(wù)器,如果這個(gè)變量為0(默認(rèn)值),那么從服務(wù)器不會(huì)強(qiáng)制將它的master.info文件同步到磁盤。實(shí)際上,正常的文件系統(tǒng)會(huì)執(zhí)行刷新操作。如果該值大于0,那么從服務(wù)器會(huì)在每個(gè)事件組處理完之后將該文件同步到磁盤。
    sync_relay_log(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    對(duì)于從服務(wù)器,如果這個(gè)變量為0(默認(rèn)值),那么從服務(wù)器不會(huì)強(qiáng)制將其中繼日志同步到磁盤。實(shí)際上,正常的文件系統(tǒng)會(huì)執(zhí)行刷新操作。如果該值大于0,那么從服務(wù)器會(huì)在每個(gè)寫入組處理完之后將中繼日志同步到磁盤。如果啟用了自動(dòng)提交,那么每條語(yǔ)句都會(huì)發(fā)生一次寫入操作;否則,是每個(gè)事務(wù)發(fā)生一次寫入操作。
    sync_relay_log_info(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    此變量與sync_master_info很像,不同之處在于它處理的是relay-log.info文件。
    system_time_zone(作用范圍:全局)
    服務(wù)器的系統(tǒng)時(shí)區(qū)。服務(wù)器在它啟動(dòng)時(shí)會(huì)嘗試通過(guò)詢問(wèn)操作系統(tǒng)的辦法來(lái)確定此變量的值。要想顯式地設(shè)置這個(gè)值,可以設(shè)置TZ環(huán)境變量,或是為mysqld_safe腳本指定—timezone選項(xiàng)。
    table_definition_cache(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是服務(wù)器在其定義緩存里可以存放的表定義(來(lái)自.frm文件)個(gè)數(shù)。
    table_open_cache(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是服務(wù)器能夠同時(shí)打開的表的最大個(gè)數(shù)。
    table_open_cache_instances(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是用于對(duì)打開的表緩存進(jìn)行分區(qū)的實(shí)例數(shù)量。默認(rèn)為1(即不分區(qū))。在高負(fù)荷情況下,將緩存分開可能會(huì)減少會(huì)話之間的資源競(jìng)爭(zhēng)。此變量是在MySQL 5.6.6里引入的。
    thread_cache_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是線程緩存所能容納的最大線程數(shù)。當(dāng)客戶端斷開與MySQL服務(wù)器的連接時(shí),如果這個(gè)緩存還沒有滿,那么客戶端曾經(jīng)使用過(guò)的線程就將被放入這個(gè)緩存。只要這個(gè)緩存里還有線程,新建立的連接就會(huì)重復(fù)使用它們而不是去創(chuàng)建新的線程。當(dāng)MySQL服務(wù)器為每個(gè)當(dāng)前連接的客戶端分別使用一個(gè)線程的時(shí)候,就要用到線程緩存。
    thread_concurrency(啟動(dòng):直接設(shè)置;作用范圍:全局)
    此變量已過(guò)時(shí)。
    thread_handling(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是服務(wù)器用于處理客戶端連接的線程模型。此變量的值可以為no-threads(單個(gè)連接線程)或one-thread-per-connection(每個(gè)當(dāng)前連接的客戶端使用一個(gè)線程)。默認(rèn)為one-thread-per-connection。
    thread_stack(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是每個(gè)線程的棧大小。
    time_format(作用范圍:全局)
    此變量未被使用。
    time_zone(啟動(dòng):使用—default-time-zone選項(xiàng);作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是MySQL服務(wù)器的當(dāng)前時(shí)區(qū)。如果此變量的值為SYSTEM,則MySQL服務(wù)器將使用system_time_zone變量的值作為它的當(dāng)前時(shí)區(qū)。客戶端可以通過(guò)修改此變量的會(huì)話值,設(shè)置其自己會(huì)話的時(shí)區(qū)。
    timestamp(作用范圍:會(huì)話;動(dòng)態(tài))
    通過(guò)設(shè)置此變量,可以指定當(dāng)前會(huì)話的TIMESTAMP值。它用于二進(jìn)制日志的處理。timestamp的值會(huì)對(duì)NOW()的返回值產(chǎn)生影響,但是不會(huì)影響到SYSDATE()的返回值。
    tmp_table_size(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是MySQL內(nèi)部使用的各種臨時(shí)表(即服務(wù)器在處理SQL語(yǔ)句的過(guò)程中自動(dòng)創(chuàng)建的表)的最大允許長(zhǎng)度。如果某個(gè)臨時(shí)表的長(zhǎng)度超過(guò)了max_heap_table_size和tmp_table_size當(dāng)中較小的那個(gè)值,那么服務(wù)器會(huì)把它從內(nèi)部?jī)?nèi)存表轉(zhuǎn)換為MyISAM表,保存到磁盤上。如果有足夠多的內(nèi)存的話,那么增大此變量的值可以使服務(wù)器在內(nèi)存里維護(hù)更大的臨時(shí)表,而不必把它們轉(zhuǎn)換為磁盤文件格式。
    tmpdir(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是服務(wù)器用于創(chuàng)建臨時(shí)文件的那個(gè)目錄的路徑名。此變量的值可以是一個(gè)目錄列表,它們將輪換著使用。在Unix里,目錄名之間使用冒號(hào)(:)隔開;在Windows里,目錄名之間需要用分號(hào)(;)隔開。
    transaction_alloc_block_size(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是為處理這樣一些語(yǔ)句而分配的臨時(shí)內(nèi)存的塊大小:在事務(wù)提交之時(shí),在將事務(wù)寫入二進(jìn)制日志之前,需要存儲(chǔ)為事務(wù)的一部分的語(yǔ)句。
    transaction_prealloc_size(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是為處理構(gòu)成某個(gè)事務(wù)的語(yǔ)句而分配的那個(gè)緩沖區(qū)的大小。與那些由transaction_alloc_block_size變量控制的內(nèi)存分配塊不同,這個(gè)緩沖區(qū)在最后兩條語(yǔ)句之間不會(huì)被釋放。
    tx_isolation(啟動(dòng):使用—transaction-isolaction選項(xiàng);作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是事務(wù)隔離的默認(rèn)級(jí)別。
    tx_read_only(啟動(dòng):使用—transaction-read-only選項(xiàng);作用范圍:全局、會(huì)話;動(dòng)態(tài))
    默認(rèn)事務(wù)訪問(wèn)模式是否為只讀。默認(rèn)值為OFF(即允許讀/寫)。此變量是在MySQL 5.6.5里引入的。
    unique_checks(作用范圍:全局、會(huì)話動(dòng)態(tài))
    將此變量設(shè)置為0或1,將分別禁用或啟用對(duì)InnoDB表里的輔助索引進(jìn)行唯一性檢查。當(dāng)把數(shù)據(jù)導(dǎo)入InnoDB表時(shí),禁用這些檢查可以提升性能,但是只有事先知道這些數(shù)據(jù)值不會(huì)與唯一性需求沖突時(shí),才可以這樣做。
    updatable_views_with_limit(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    當(dāng)禁用此變量時(shí),服務(wù)器會(huì)禁止對(duì)那些在其底表里沒有使用主鍵的視圖進(jìn)行更新操作(即執(zhí)行UPDATE或DELETE語(yǔ)句),即使更新操作里包含有LIMIT 1子句,把更新范圍限制在了單個(gè)行里也不行。當(dāng)啟用此變量時(shí)(默認(rèn)值),服務(wù)器會(huì)允許更新操作,并產(chǎn)生一條警告信息。
    version(作用范圍:全局)
    它指的是MySQL服務(wù)器的版本。此變量的值由一個(gè)版本編號(hào)以及(可能)一個(gè)或多個(gè)后綴構(gòu)成,如-log用于表明啟用日志記錄;-debug用于表明服務(wù)器正運(yùn)行在調(diào)試模式下。
    version_comment(作用范圍:全局)
    它指的是在配置服務(wù)器時(shí)指定給CMake的-DWITH_COMMENT選項(xiàng)的值。如果在配置時(shí)沒有指定任何注釋,則此變量的默認(rèn)值為“Source distribution”。
    version_compile_machine(作用范圍:全局)
    它指的是MySQL的編譯機(jī)器(即硬件類型)。這個(gè)值是在構(gòu)建MySQL時(shí)的配置階段確定的。
    version_compile_os(作用范圍:全局)
    它指的是MySQL的編譯操作系統(tǒng)。這個(gè)值是在構(gòu)建MySQL時(shí)的配置階段確定的。
    wait_timeout(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    此變量指的是,在服務(wù)器自己認(rèn)為可以將非交互式客戶端關(guān)閉之前,該客戶端能夠保持空閑的秒數(shù)。對(duì)于交互式客戶端,需要使用interactive_timeout變量的值來(lái)代替。
    warning_count(作用范圍:會(huì)話)
    這是一個(gè)只讀會(huì)話變量,它表示的是,最后那條語(yǔ)句所產(chǎn)生的諸如錯(cuò)誤、警告和注意等信息的數(shù)量。
    
    InnoDB系統(tǒng)變量
    下面這些系統(tǒng)變量都與InnoDB存儲(chǔ)引擎有關(guān)。
    ignore_builtin_innodb(作用范圍:全局)
    此變量未被使用。
    innodb_adaptive_flushing(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它表示的是,InnoDB是否會(huì)試圖通過(guò)使用工作負(fù)載水平更改緩沖池里臟頁(yè)刷新頻率的方式來(lái)避免I/O爆炸。默認(rèn)值為ON。
    innodb_adaptive_flushing_lwm(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是會(huì)使InnoDB啟用自適應(yīng)刷新功能的那個(gè)重做日志容量的最低百分比點(diǎn)數(shù)。默認(rèn)值為10。此變量是在MySQL 5.6.6里引入的。
    innodb_adaptive_hash_index(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,InnoDB是否要使用自適應(yīng)哈希索引。也就是說(shuō),它是否要見識(shí)索引查找,并動(dòng)態(tài)構(gòu)建散列索引,如果這樣做,則有可能提高性能。默認(rèn)值為ON。
    innodb_adaptive_max_sleep_delay(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,InnoDB是否要使用工作負(fù)載水平來(lái)調(diào)整innodb_thread_sleep_delay。當(dāng)值為0時(shí),會(huì)禁止調(diào)整。非零值最大可達(dá)1000000,它指定的是InnoDB調(diào)整innodb_thread_sleep_delay的上限值(單位為微秒)。默認(rèn)值為150000。此變量是在MySQL 5.6.3里引入的。
    innodb_additional_mem_pool_size(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是InnoDB存儲(chǔ)引擎用來(lái)存放各種內(nèi)部數(shù)據(jù)結(jié)構(gòu)的內(nèi)存池的大小。
    innodb_autoextend_increment(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    當(dāng)某個(gè)自擴(kuò)展表空間快要被填滿時(shí),InnoDB存儲(chǔ)引擎將自動(dòng)使用此變量的值作為第增量去增加那個(gè)表空間的大小。指定值的單位為MB。此變量的默認(rèn)值是8,最大值是1000。
    innodb_autoinc_lock_mode(啟動(dòng):直接設(shè)置;作用范圍:全局)
    此變量控制的是InnoDB用于生成AUTO_INCREMENT值的鎖定算法。允許取值包括0、1(默認(rèn)值)和2。一般情況下,當(dāng)有多個(gè)事務(wù)需要同時(shí)生成自動(dòng)增量值時(shí),使用這些值可以增加鎖定的擴(kuò)展性、獲得更好的并發(fā)性,并減少阻塞。對(duì)于會(huì)生成多個(gè)這種值的多行INSERT語(yǔ)句,模式0和1可以爆炸生成的值在該語(yǔ)句內(nèi)部是連續(xù)的。模式2無(wú)法保證這種連續(xù)性:因?yàn)樗麄儾灰欢ㄟB續(xù)。著也會(huì)對(duì)復(fù)制產(chǎn)生影響。模式0和1對(duì)基于語(yǔ)句的復(fù)制來(lái)講是安全的;但是模式2分配的值是不確定的,因此該模式是不安全的。(所有的模式對(duì)基于行的復(fù)制都是安全的。)
    innodb_buffer_pool_dump_at_shutdown(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,InnoDB是否會(huì)在關(guān)閉時(shí)將緩沖池轉(zhuǎn)儲(chǔ)至磁盤。默認(rèn)值為OFF。此變量是在MySQL 5.6.3里引入的。
    innodb_buffer_pool_dump_now(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    將此變量設(shè)置為ON,會(huì)使得InnoDB立即將緩沖池轉(zhuǎn)儲(chǔ)至磁盤。默認(rèn)值為OFF。此變量是在MySQL 5.6.3里引入的。
    innodb_buffer_pool_filename(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是InnoDB用于緩沖池轉(zhuǎn)儲(chǔ)和加載操作的那個(gè)文件的名字。默認(rèn)為數(shù)據(jù)目錄里的ib_buffer_pool文件。此變量是在MySQL 5.6.3里引入的。
    innodb_buffer_pool_instances(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是,如果innodb_buffer_pool_size的值至少為1GB,則需要將InnoDB緩沖池劃分為innodb_buffer_pool_instances個(gè)區(qū)域。此變量的默認(rèn)值是1(單個(gè)緩沖池),最大值是64。為達(dá)到最好的效果,需要對(duì)innodb_buffer_pool_size和innodb_buffer_pool_instances的值進(jìn)行選擇,以便每個(gè)實(shí)例都至少為1GB。此變量是在MySQL 5.5.4里引入的。
    innodb_buffer_pool_load_abort(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    將此變量設(shè)置為ON,會(huì)導(dǎo)致InnoDB中斷當(dāng)前正從磁盤加載的所有緩沖池。默認(rèn)值為OFF。此變量是在MySQL 5.6.3里引入的。
    innodb_buffer_pool_load_at_startup(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是,InnoDB是否會(huì)在啟動(dòng)時(shí)從磁盤加載緩沖池。默認(rèn)值為OFF。此變量是在MySQL 5.6.3里引入的。
    innodb_buffer_pool_load_now(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    將此變量設(shè)置為ON,會(huì)導(dǎo)致InnoDB立即從磁盤加載緩沖池。默認(rèn)值為OFF。此變量是在MySQL 5.6.3里引入的。
    innodb_buffer_pool_size(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是InnoDB用于緩沖表數(shù)據(jù)和索引的那個(gè)緩存的大小。默認(rèn)大小為128MB。
    innodb_change_buffer_max_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是InnoDB為更改緩沖區(qū)預(yù)留的緩沖池最大百分比例。默認(rèn)值為25。允許的取值范圍為0~50。此變量是在MySQL 5.6.2里引入的。
    innodb_change_buffering(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,InnoDB緩沖表會(huì)如何更改輔助 索引的延遲寫操作。通過(guò)寫操作緩沖的方式,InnoDB有事可以把它們分成一組,然后順序地寫入,而不是以隨機(jī)方式寫入;這樣有利于提高I/O的性能。下表列出了各種可能的取值。
    取值                含義
    all                    緩存所有的更改操作;這個(gè)是默認(rèn)值
    none                不緩存更改操作
    changes            緩存插入和刪除操作
    deletes                緩存那些把索引記錄標(biāo)記為刪除的更改操作
    inserts                緩存插入操作
    purges                緩存那些被“垃圾回收器”標(biāo)記為刪除的清理操作
    innodb_checksum_algorithm(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    InnoDB會(huì)在其表空間的每一個(gè)塊里寫入校驗(yàn)和值。此變量控制的是用于計(jì)算校驗(yàn)和值的算法。下表列出了各種可能的取值。strict_xxx的值與他們的對(duì)應(yīng)變量很相似,主要差異在于:InnoDB在表空間里遇到多種校驗(yàn)和類型時(shí)會(huì)停止。
    取值                            含義
    none,strict_none            校驗(yàn)值為常量
    crc3,strict_crc32                使用CRC32算法
    innodb,strict_innodb        默認(rèn)算法
    此變量是在MySQL 5.6.3里引入的。
    innodb_checksums(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是,InnoDB表是否啟用校驗(yàn)計(jì)算。默認(rèn)值為ON。自MySQL 5.6.3起,此變量已被棄用,請(qǐng)使用innodb_checksum_algorithm。
    innodb_commit_concurrency(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    此變量表示的是可以同時(shí)提交多少個(gè)線程。當(dāng)該值為0時(shí)(默認(rèn)值),表示的是“無(wú)限制”。
    innodb_concurrency_tickets(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    當(dāng)某個(gè)線程想進(jìn)入InnoDB時(shí),只有當(dāng)線程數(shù)量小于innodb_commit_concurrency變量設(shè)置的上限時(shí)它才能成功。否則,該線程將排隊(duì)等候直到線程的數(shù)量降低到那個(gè)上限以下。一旦線程被允許進(jìn)入,它將可以不受限制地離開和重新進(jìn)入InnoDB,這種自由往返的最大次數(shù)由innodb_concurrency_tickets變量的值決定。默認(rèn)值為500。
    innodb_data_file_path(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指定的是InnoDB表空間組件的文件。
    innodb_data_home_dir(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是相對(duì)于InnoDB表空間組件文件存放位置的目錄路徑名。如果此變量為空,則組件文件名將被解釋為絕對(duì)路徑名。
    innodb_doublewrite(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是,InnoDB是否啟用了雙寫緩沖區(qū)。默認(rèn)值是ON。
    innodb_fast_shutdown(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    當(dāng)此變量的值為0或1時(shí),它表示的是InnoDB是否使用其較快速的關(guān)機(jī)方法(它會(huì)跳過(guò)某些正常情況下會(huì)執(zhí)行的操作)。當(dāng)取值為2時(shí),InnoDB會(huì)刷新其日志,然后停止。
    innodb_file_format(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果啟用了innodb_file_per_table,則它指的是InnoDB新表所使用的格式。默認(rèn)格式為Antelope;另一個(gè)允許值為Barracuda。使用Barracuda可以啟用不被Antelope支持的功能,如COMPRESSED行格式。
    innodb_file_format_check(啟動(dòng):直接設(shè)置;作用范圍:全局)
    InnoDB系統(tǒng)表空間包含有一個(gè)標(biāo)志,它表示的是表空間里使用的最高版本的文件格式。此變量會(huì)在服務(wù)器啟動(dòng)時(shí)設(shè)置,主要用于控制InnoDB是否要檢查這個(gè)標(biāo)志,以確定此格式版本比InnoDB支持的那個(gè)版本更高。如果啟用此變量(默認(rèn)值),并且該格式版本更高,那么啟動(dòng)會(huì)失敗,并產(chǎn)生一個(gè)錯(cuò)誤。如果該格式版本不夠高,那么InnoDB會(huì)將innodb_file_format_max設(shè)置成該格式。
    innodb_file_format_max(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    請(qǐng)參考innodb_file_format_check的描述。
    innodb_file_io_threads(啟動(dòng):直接設(shè)置)
    此變量未被使用。
    innodb_file_per_table(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果此變量被設(shè)置為0(默認(rèn)值),InnoDB將在其系統(tǒng)表空間里創(chuàng)建新表。如果此變量被設(shè)置為1,InnoDB將為每個(gè)新表分別創(chuàng)建一個(gè)獨(dú)立表空間:在數(shù)據(jù)庫(kù)目錄里為每一個(gè)新表單獨(dú)創(chuàng)建一個(gè).ibd文件來(lái)存放該表的內(nèi)容。在這種情況下,系統(tǒng)表空間只會(huì)用于InnoDB數(shù)據(jù)目錄條目,而不會(huì)用于數(shù)據(jù)或索引存儲(chǔ)。
    此變量只影響InnoDB如何創(chuàng)建新表。不管如何更改此變量的值,InnoDB存儲(chǔ)引擎總是可以訪問(wèn)已經(jīng)在系統(tǒng)表空間或獨(dú)立表空間里創(chuàng)建的表。
    innodb_flush_log_at_trx_commit(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    這個(gè)變量控制著InnoDB日志的刷新行為。下表列出了各種可能的取值。
    取值            含義
    0            每秒寫入一次日志,并刷新到磁盤一次
    1            每提交一次寫入一次日志,并刷新到磁盤一次
    2            每提交一次寫入一次日志,但是每秒刷新到磁盤一次
    只有在將此變量設(shè)置為1(默認(rèn)值)時(shí),InnoDB才能爆炸ACID特性。否則,如果出現(xiàn)崩潰的情況,那么會(huì)付出大約1秒的代價(jià),即最近的事務(wù)會(huì)丟死。如果將此變量設(shè)置為0,則可以減少InnoDB將緩存數(shù)據(jù)保存到磁盤的次數(shù)。不過(guò),如果出現(xiàn)崩潰,則這樣會(huì)大大增加潛在丟失最近提交事務(wù)的風(fēng)險(xiǎn)。
    innodb_flush_method(啟動(dòng):直接設(shè)置;作用范圍:全局)
    此變量給出的是InnoDB用來(lái)刷新文件的方法。它只適用于Unix系統(tǒng)。可取值包括fdatasync(使用fsync()來(lái)刷新數(shù)據(jù)文件和日志文件)、O_DSYNC(使用fsync()來(lái)刷新數(shù)據(jù)文件,并使用O_DSYNC來(lái)打開和刷新日志文件)和O_DIRECT(使用fsync()來(lái)刷新數(shù)據(jù)文件和日志文件,視情況選用O_DIRECT或directio()來(lái)打開數(shù)據(jù)文件)。默認(rèn)值為fdatasync。在Windows里,此變量的值總是為async_unbuffered。
    innodb_flush_neighbors(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它表示的是,InnoDB是單獨(dú)刷新緩沖池的臟面,還是連同位于同一范圍(頁(yè)面組)內(nèi)的相鄰頁(yè)面一起刷新。刷新相鄰頁(yè)面,可以將寫操作結(jié)合在一起,減少磁盤設(shè)備旋轉(zhuǎn)過(guò)程中的尋道時(shí)間開銷。這個(gè)變量是在MySQL 5.6.3里引入的,是一個(gè)布爾量,其默認(rèn)值為ON。自MySQL 5.6.6起,這個(gè)變量成為了三態(tài)變量,允許的值包括:0(不刷新相鄰頁(yè)面)、1(刷新相鄰頁(yè)面)和2(刷新同一范圍里的所有相鄰頁(yè)面)。
    innodb_force_load_corrupted(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它表示的是,InnoDB在啟動(dòng)時(shí)是否加載已標(biāo)記為損壞的表。默認(rèn)值為OFF,因此這些表通常情況下會(huì)被忽略。如果啟用此變量,則可能允許恢復(fù)那些在禁用此變量時(shí)無(wú)法訪問(wèn)的數(shù)據(jù);在恢復(fù)之后,可以在禁用此變量的情況下重啟服務(wù)器。此變量是在MySQL 5.5.18里引入的。
    innodb_force_recovery(啟動(dòng):直接設(shè)置;作用范圍:全局)
    此變量的值通常為0,但是可以被設(shè)置為1~6的某個(gè)值,以便讓服務(wù)器在崩潰后即使InnoDB恢復(fù)失敗也可以再次啟動(dòng)。
    innodb_ft_xxx
    在MySQL 5.6.4之前,對(duì)全文搜索的支持僅限于MyISAM表。這些以innodb_ft作為開頭的系統(tǒng)變量都與InnoDB表的全文搜索支持有關(guān)。該項(xiàng)功能是在MySQL 5.6.4引入的。更多信息,請(qǐng)參考MySQL擦卡手冊(cè)。
    innodb_io_capacity(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是InnoDB對(duì)于后臺(tái)任務(wù)每秒執(zhí)行I/O操作次數(shù)的近似限制。默認(rèn)值為200,最小值為100。對(duì)于慢速旋轉(zhuǎn)的磁盤,可能需要將這個(gè)值調(diào)低一點(diǎn)。對(duì)于SSD磁盤,可以將其適當(dāng)調(diào)高。請(qǐng)參考innodb_io_capacity_max。
    innodb_io_capacity_max(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果innodb_io_capacity的值在緊急情況下不夠高,那么innodb_io_capacity_max會(huì)成為InnoDB可以將該限制擴(kuò)展到的最大值。其默認(rèn)值為innodb_io_capacity默認(rèn)值的兩倍,它受限制于服務(wù)器所使用的最低值2000。此變量是在MySQL 5.6.6里引入的。
    innodb_large_prefix(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    InnoDB索引的最大索引前綴長(zhǎng)度通常是767字節(jié)。如果啟用此變量,那么對(duì)于那些使用COMPRESSED或DYNAMIC行格式的表,允許前綴最高達(dá)到3072個(gè)字節(jié)。默認(rèn)值為OFF。此變量是在MySQL 5.5.14里引入的。
    innodb_lock_wait_timeout(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是等待某個(gè)事務(wù)鎖的秒數(shù)。如果無(wú)法獲得該鎖,則InnoDB會(huì)回滾該事務(wù)。
    innodb_locks_unsafe_for_binlog(啟動(dòng):直接設(shè)置;作用范圍:全局)
    此變量會(huì)對(duì)InnoDB如何處理索引行鎖定產(chǎn)生影響,但是自MySQL 5.6.3起,它已被棄用,因此請(qǐng)不要再使用它。為獲得與此變量相同的效果(非嚴(yán)格的鎖定),但是更加靈活,可以針對(duì)特定的會(huì)話或事務(wù),使用SET TRANSACTION將事務(wù)隔離級(jí)別設(shè)置為READ COMMITTED。
    innodb_log_buffer_size(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是InnoDB事務(wù)日志緩沖區(qū)的大小。此變量的取值范圍通常是1MB~8MB;默認(rèn)為1MB。
    innodb_log_file_size(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是每個(gè)InnoDB日志文件的大小。innodb_log_file_size和innodb_log_files_in_group的乘積決定了InnoDB日志的總大小。
    innodb_log_group_home_dir(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是InnoDB應(yīng)該將其日志文件寫入的那個(gè)目錄的路徑名。
    innodb_lru_scan_depth(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    InnoDB會(huì)使用一個(gè)后臺(tái)操作來(lái)查找需要從其緩沖池刷新到磁盤的臟頁(yè)。這個(gè)變量控制的是這個(gè)操作能夠查看到的頁(yè)面列表(按最近最少使用的順序排序)的長(zhǎng)度。對(duì)默認(rèn)值1024的合理更改包括:對(duì)于擁有繁重寫操作工作負(fù)載和大型緩沖池的服務(wù)器,可以減小這個(gè)值;而對(duì)于I/O能力還有盈余的服務(wù)器,可以增加這個(gè)值。此變量是在MySQL 5.6.3里引入的。
    innodb_max_dirty_page_pct(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,在InnoDB認(rèn)為需要將日志刷新到磁盤之前,InnoDB允許臟頁(yè)占用其緩沖池的百分比。允許的取值范圍是0~100;默認(rèn)值為90。
    innodb_max_dirty_pages_pct_lwm(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,InnoDB為降低臟頁(yè)的占用比例,而啟用預(yù)刷新功能所參考的緩沖池臟頁(yè)最低占用百分比。默認(rèn)值為0,表示禁止預(yù)刷新。允許的取值范圍為0~99。此變量是在MySQL 5.6.6里引入的。
    innodb_max_purge_lag(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    InnoDB維護(hù)著一個(gè)清除線程,它可以清除刪除操作或更新操作標(biāo)記的待刪除的行。如果小批量行被插入和刪除的頻率差不多相同,啊呢么清除線程可能會(huì)落后,進(jìn)而導(dǎo)致大量待刪除行不能及時(shí)清除,而占用著本應(yīng)該釋放的空間。innodb_max_purge_lag變量控制著如何延遲INSERT、DELETE和UPDATE語(yǔ)句,讓它們適當(dāng)放慢速度以便清除線程能夠追上它們的進(jìn)度。默認(rèn)為0(即不延遲)。如果把此變量設(shè)置為一個(gè)非零值,那么延遲大約是((n/innodb_max_purge_lag) x10 ) – 5毫秒,其中的n是在執(zhí)行過(guò)程中會(huì)把一些行標(biāo)記為待刪除的事務(wù)的數(shù)量。
    innodb_max_purge_lag_delay(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是可以由innodb_max_purge_lag產(chǎn)生的延遲間隔(單位為毫秒)。默認(rèn)為0(即無(wú)間隔)。此變量是在MySQL 5.6.5里引入的。
    innodb_mirrored_log_groups(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是InnoDB維護(hù)的日志文件組的個(gè)數(shù)。其值總是為1。
    innodb_monitor_disable、innodb_monitor_enable、innodb_monitor_reset、innodb_monitor_reset_all(啟動(dòng):直接設(shè)置;作用范圍:全局)
    這次變量控制的是對(duì)INFORMATION_SCHEMA.innodb_metrics表的操作。更多信息請(qǐng)參考MySQL參考手冊(cè)。這些變量是在MySQL 5.6.2里引入的。
    innodb_old_blocks_pct(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是InnoDB緩沖池的舊子列表所占百分比。默認(rèn)值為37(即緩沖池的3/8)。允許的取值范圍為5~95。
    innodb_old_blocks_time(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    一個(gè)緩沖塊在第一次訪問(wèn)之后、下次訪問(wèn)之前,需要在InnoDB緩沖池的舊子列表里待多少毫秒才能移動(dòng)到新子列表里。默認(rèn)值為0。表示的是,插到舊子列表里的緩存塊,在第一次訪問(wèn)時(shí)會(huì)立即移到新子列表里去。
    innodb_open_files(啟動(dòng):直接設(shè)置;作用范圍:全局)
    如果將innodb_file_per_table變量設(shè)置為1,將啟用獨(dú)立表空間。innodb_open_files變量控制著需要為InnoDB存儲(chǔ)引擎保留多少個(gè)文件描述符用于同時(shí)打開多個(gè).ibd文件。最小值為10,默認(rèn)值為300。在innodb_open_files變量控制下分配的文件描述符與在open_files_limit變量控制下分配的文件描述符互不相干:前者用來(lái)打開.ibd文件,后者供表緩沖區(qū)使用。
    innodb_page_size(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是InnoDB表空間里的頁(yè)面大小。默認(rèn)大小為16KB。允許值由4KB、8KB和16KB。該設(shè)置只有在InnoDB初始化表空間的時(shí)候才會(huì)生效,因此應(yīng)該在初始化MySQL之前,或者在刪除并重新創(chuàng)建InnoDB表空間文件之前設(shè)置它。此變量是在MySQL 5.6.4里引入的。
    innodb_print_all_deadlocks(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,InnoDB是否會(huì)將診斷信息寫到與事務(wù)死鎖有關(guān)的錯(cuò)誤日志里。默認(rèn)值為OFF。此變量是在MySQL 5.6.2里引入的。
    innodb_purge_batch_size(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,重做日志記錄的數(shù)量。這些記錄會(huì)引發(fā)清除操作,將更改過(guò)的緩沖池?cái)?shù)據(jù)塊刷新到磁盤上。默認(rèn)值為20。此變量是在MySQL 5.5.4里引入的。
    innodb_purge_threads(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是,InnoDB使用了多少后臺(tái)線程來(lái)實(shí)現(xiàn)清除操作(將所有事務(wù)都不再需要的待刪除行刪除掉)。默認(rèn)值為0。此變量是在MySQL 5.5.4里引入的。
    innodb_random_read_ahead(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,InnoDB是否要試圖預(yù)測(cè)何時(shí)會(huì)需要位于某個(gè)范圍內(nèi)(即頁(yè)面組)的頁(yè)面,并為它們執(zhí)行一個(gè)異步的預(yù)讀取操作。預(yù)測(cè)的依據(jù)是該范圍內(nèi)的其他頁(yè)面是否已被讀取,而它們的讀取順序無(wú)關(guān)緊要。默認(rèn)值為OFF。
    innodb_read_ahead_threshold(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果InnoDB檢測(cè)到某個(gè)模式的順序頁(yè)面方位是由innodb_read_ahead_threshold或多個(gè)來(lái)自同一范圍(頁(yè)面組)的頁(yè)面構(gòu)成,那么它會(huì)在下一個(gè)范圍里執(zhí)行一個(gè)異步預(yù)讀取操作。默認(rèn)值為56。允許的取值范圍為0~64。
    innodb_read_io_threads(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是InnoDB在執(zhí)行讀取操作時(shí)會(huì)時(shí)候多少個(gè)線程。日期范圍是1~64;默認(rèn)值為4。
    innodb_replication_delay(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    如果在從服務(wù)器上已達(dá)到innodb_thread_concurrency表明的那個(gè)限制,那么此變量便是復(fù)制線程的延遲時(shí)間(單位為毫秒)。默認(rèn)值為0。
    innodb_rollback_on_timeout(啟動(dòng):直接設(shè)置;作用范圍:全局)
    此變量控制著InnoDB存儲(chǔ)引擎在事務(wù)超時(shí)時(shí)的行為。如果此變量的值是OFF(默認(rèn)值),InnoDB存儲(chǔ)引擎將只回滾最后一條語(yǔ)句;如果此變量的值是ON,InnoDB存儲(chǔ)引擎將回滾整個(gè)事務(wù)。
    innodb_rollback_segments(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,在一個(gè)事務(wù)里,InnoDB在系統(tǒng)表空間里會(huì)使用多少回滾段。默認(rèn)值為128。此變量是在MySQL 5.5.11里引入的。在5.6.3里,它被替換成了innodb_undo_logs。
    innodb_sort_buffer_size(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是InnoDB在索引創(chuàng)建期間用于合并排序的緩沖區(qū)大小(單位為字節(jié))。默認(rèn)大小為1MB。在MySQL 5.6.4里最小值為512KB;在MySQL 5.6.5及以上的版本里,最小值為64KB。此變量是在MySQL 5.6.4里引入的。在MySQL 5.6.4之前,使用的是固定大小1MB。
    innodb_spin_wait_delay(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,旋轉(zhuǎn)鎖的兩次輪詢之間的最大等待值。這個(gè)值沒有單位,但是值越大意味著等待得越久。默認(rèn)值為6,最小值為0。
    innodb_stats_method(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    此變量表示的是,服務(wù)器在InnoDB表統(tǒng)計(jì)器索引鍵的分布概率時(shí),應(yīng)該把NULL值視為相同,還是視為不同。可設(shè)置的值包括有:nulls_equal(所有的NULL值在同一個(gè)組里)、nulls_unequal(每個(gè)NULL值單獨(dú)成為一組)或nulls_ignored(忽略NULL值)。
    innodb_stats_on_metadata(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,InnoDB是否要更新與那些與表元數(shù)據(jù)訪問(wèn)語(yǔ)句(如SHOW INDEX或SHOW TABLE STATUS)有關(guān)的統(tǒng)計(jì)信息,或者更新那些與訪問(wèn)STATISTICS表和執(zhí)行TABLES INFORMATION_SCHEMA語(yǔ)句所得到的各張表有關(guān)的統(tǒng)計(jì)信息。其效果與運(yùn)行ANALYZE TABLE相類似。默認(rèn)值為ON。
    innodb_stats_persistent_sample_pages(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,用于估計(jì)統(tǒng)計(jì)信息的InnoDB樣本的索引頁(yè)數(shù)量。默認(rèn)值為20。如果啟用了innodb_analyze_is_persistent,那么此設(shè)置會(huì)被忽略掉。否則,InnoDB會(huì)使用innodb_stats_transient_sample_pages的值。此變量是在MySQL 5.6.2里引入的。
    innodb_stats_sample_pages(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    在MySQL 5.5里,它指的是用于估計(jì)統(tǒng)計(jì)信息的InnoDB樣本的索引頁(yè)數(shù)量。默認(rèn)值為8。自MySQL 5.6.3起,此變量已被棄用,請(qǐng)使用innodb_stats_transient_sample_pages。
    innodb_stats_transient_sample_pages(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,用于估計(jì)統(tǒng)計(jì)信息的InnoDB樣本的索引頁(yè)數(shù)量。默認(rèn)值為8。如果啟用了innodb_analyze_is_persistent,此設(shè)置會(huì)被忽略。否則,InnoDB會(huì)使用innodb_stats_transient_sample_pages的值。此變量是在MySQL 5.6.2里引入的。
    innodb_strict_mode(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它指的是,InnoDB是否對(duì)表和索引的創(chuàng)建和修改語(yǔ)句的語(yǔ)法進(jìn)行較嚴(yán)格要求。如果啟用了此變量,那么InnoDB會(huì)把有沖突的子句當(dāng)作錯(cuò)誤;否則,它們會(huì)被當(dāng)作警告。這個(gè)有點(diǎn)類似于啟用了嚴(yán)格的SQL默認(rèn)。
    innodb_support_xz(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    它表示的是,InnoDB在XA事務(wù)里是否支持兩階段提交默認(rèn)。默認(rèn)值為ON;但是如果為了獲得更好的性能而不使用XA事務(wù),則可以將其設(shè)置為OFF。
    innodb_sync_spin_loops(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它表示的是,線程在被掛起之前等待InnoDB釋放互斥信號(hào)的次數(shù)。
    innodb_table_locks(啟動(dòng):直接設(shè)置;作用范圍:全局、會(huì)話;動(dòng)態(tài))
    此變量控制的是,當(dāng)禁用自動(dòng)提交模式時(shí),InnoDB會(huì)如何處理LOCK TABLE語(yǔ)句,以獲得InnoDB表的寫鎖。如果此變量的值是ON(默認(rèn)值),InnoDB將申請(qǐng)到一個(gè)內(nèi)部表鎖。如果此變量的值是OFF,InnoDB要一直等到?jīng)]有任何其他線程鎖定那個(gè)表時(shí)才能執(zhí)行LOCK TABLE語(yǔ)句。禁用此變量可以在一定程度上防止應(yīng)用程序在自動(dòng)提交模式已被禁用的情況下發(fā)出LOCK TABLE語(yǔ)句時(shí)遭遇死鎖。
    innodb_thread_concurrency(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是InnoDB嘗試維護(hù)的線程數(shù)量上限。當(dāng)值為0時(shí)(默認(rèn)值),表示的是“無(wú)限制”。允許的取值范圍為0~1000。
    innodb_thread_sleep_delay(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是InnoDB線程在被放入InnoDB等待隊(duì)列之前休眠的時(shí)間(單位為毫秒)。默認(rèn)值為10000(即10秒);值為0時(shí),表示的是“不休眠”。
    innodb_undo_directory(啟動(dòng):直接設(shè)置;作用范圍:全局)
    如果innodb_undo_logs和innodb_undo_tablespaces都是非零值,則它指的是InnoDB在其中創(chuàng)建獨(dú)立恢復(fù)日志表空間的那個(gè)目錄。默認(rèn)值為“.”,它表示的是InnoDB在其中創(chuàng)建其他日志文件的那個(gè)默認(rèn)目錄。此變量是在MySQL 5.6.3里引入的。
    innodb_undo_logs(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    它指的是,在一個(gè)事務(wù)里,InnoDB在系統(tǒng)表空間里會(huì)使用多少回滾段。默認(rèn)值為128。此變量是在MySQL 5.6.3里引入的。它用于替換innodb_rollback_segments。
    innodb_undo_tablespaces(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是InnoDB針對(duì)獨(dú)立恢復(fù)日志所使用的那個(gè)表空間文件數(shù)量。默認(rèn)值為0。此變量是在MySQL 5.6.3里引入的。
    innodb_use_native_aio(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是,在Linux里是否使用異步I/O子系統(tǒng)。默認(rèn)值為ON。此變量是在MySQL 5.5.4里引入的。
    innodb_use_sys_malloc(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是,InnoDB是否要使用系統(tǒng)內(nèi)存分配器。默認(rèn)值為ON。如果禁用此變量,會(huì)導(dǎo)致InnoDB使用其自己的分配器。
    innodb_version(作用范圍:全局)
    它指的是InnoDB存儲(chǔ)引擎的版本號(hào)。
    innodb_write_io_threads(啟動(dòng):直接設(shè)置;作用范圍:全局)
    它指的是InnoDB在執(zhí)行寫入操作時(shí)會(huì)使用多少個(gè)線程。取值范圍是1~64;默認(rèn)值為4。
    timed_mutexes(啟動(dòng):直接設(shè)置;作用范圍:全局;動(dòng)態(tài))
    是否要搜集InnoDB的互斥時(shí)間信息。默認(rèn)值為OFF。
    
    狀態(tài)變量
    狀態(tài)變量提供的是各種與服務(wù)器當(dāng)前運(yùn)作狀態(tài)有關(guān)的信息。通過(guò)使用SHOW STATUS語(yǔ)句或執(zhí)行mysqladmin extended-status命令可以查看這些狀態(tài)變量。狀態(tài)變量(與系統(tǒng)變量相似)的值可分為全局級(jí)和會(huì)話級(jí),分別對(duì)應(yīng)于所有客戶端的總和值和當(dāng)前客戶端的值。如果某個(gè)狀態(tài)變量只有一個(gè)全局值,則全局變量和會(huì)話變量都將返回相同的值。另外,還可以通過(guò)在INFORMATION_SCHEMA數(shù)據(jù)庫(kù)里查詢表GLOBAL_STATUS和SESSION_STATUS來(lái)獲得狀態(tài)變量信息。
    狀態(tài)變量名不區(qū)分大小寫。
    下面列出的是一些比較通用的狀態(tài)變量。隨后的節(jié)描述的是幾組彼此相關(guān)的狀態(tài)變量,其中涉及的類型包括:InnoDB存儲(chǔ)引擎、查詢緩存和SSL。
    Aborted_clients
    因客戶端未正確關(guān)閉而被中斷的客戶端連接個(gè)數(shù)。
    Aborted_connects
    連接服務(wù)器的嘗試失敗的次數(shù)。
    Binlog_cache_disk_use
    因其大小超過(guò)系統(tǒng)變量binlog_cache_size的限制而使用臨時(shí)磁盤文件的那些事務(wù)的數(shù)量。
    Binlog_cache_use
    因其大小未超過(guò)系統(tǒng)變量binlog_cache_size的限制而保存在二進(jìn)制日志緩存里的那些事務(wù)的數(shù)量。
    Binlog_stmt_cache_disk_use
    因語(yǔ)句緩存已滿而存儲(chǔ)在臨時(shí)文件里的非事務(wù)語(yǔ)句的數(shù)量。此變量是在MySQL 5.5.9里引入的。
    Binlog_stmt_cache_use
    存儲(chǔ)在語(yǔ)句緩存里的非事務(wù)語(yǔ)句數(shù)量。此變量是在MySQL 5.5.9里引入的。
    Bytes_received
    服務(wù)器從所有客戶端(對(duì)于全局值)或當(dāng)前客戶端(對(duì)于會(huì)話值)接收到的字節(jié)總數(shù)。
    Bytes_sent
    服務(wù)器向所有客戶端(對(duì)于全局值)或當(dāng)前客戶端(對(duì)于會(huì)話值)發(fā)送出去的字節(jié)總數(shù)。
    Com_xxx
    服務(wù)器維護(hù)著一組狀態(tài)變量,它們的作用是計(jì)數(shù)器,用于表示特定類型的語(yǔ)句(或命令)已執(zhí)行的次數(shù)。這種類型的變量有幾十個(gè),并且它們的名字都相似,因此這里沒有將它們逐一地列出來(lái)。每個(gè)語(yǔ)句計(jì)數(shù)器的變量名都已Com_作為開頭,并且都有一個(gè)后綴,用于表明該計(jì)數(shù)器所對(duì)應(yīng)的語(yǔ)句類型。例如,變量Com_select和Com_drop_table分別表示的是服務(wù)器已執(zhí)行了多少條SELECT語(yǔ)句和DROP TABLE語(yǔ)句。
    Compression
    表明是否對(duì)利用客戶端/服務(wù)器協(xié)議實(shí)現(xiàn)的通信進(jìn)行壓縮。
    Connection_errors_xxx
    這些變量用于跟蹤在客戶端嘗試進(jìn)行連接時(shí)出現(xiàn)的各種類型的錯(cuò)誤。這些變量是在MySQL 5.6.5里引入的。
    Connections
    嘗試連接服務(wù)器的次數(shù)(包括成功或失敗的)。
    Created_tmp_disk_tables
    服務(wù)器在處理語(yǔ)句時(shí)在磁盤上創(chuàng)建的內(nèi)部臨時(shí)表個(gè)數(shù)。
    Created_tmp_files
    服務(wù)器創(chuàng)建的臨時(shí)文件個(gè)數(shù)。
    Created_tmp_tables
    服務(wù)器在處理語(yǔ)句時(shí)創(chuàng)建的內(nèi)部臨時(shí)表個(gè)數(shù)。
    Delayed_errors
    在處理INSERT DELAYED行時(shí)發(fā)生的錯(cuò)誤個(gè)數(shù)。
    Delayed_insert_threads
    INSERT DELAYED處理器的個(gè)數(shù)。
    Delayed_writes
    已寫入的INSERT DELAYED行的個(gè)數(shù)。
    Flush_commands
    已執(zhí)行的表刷新操作次數(shù)。
    Handler_commit
    請(qǐng)求提交事務(wù)的次數(shù)。
    Handler_delete
    請(qǐng)求從表刪除行的次數(shù)。
    Handler_external_lock
    此變量與鎖定操作數(shù)量有關(guān),主要是在表訪問(wèn)的開始和結(jié)束時(shí)起作用。其值除以2,即為鎖定操作的次數(shù)。比變量是在MySQL 5.6.2里引入的。
    Handler_mrr_init
    有些存儲(chǔ)引擎自己實(shí)現(xiàn)了“多范圍讀取”(Multi-Range Read)優(yōu)化策略。此變量表示的是服務(wù)器使用該實(shí)現(xiàn)的次數(shù)。比變量是在MySQL 5.6.1里引入的。
    Handler_prepare
    為兩階段提交所做的準(zhǔn)備次數(shù)。
    Handler_read_first
    請(qǐng)求從索引里讀取第一行的次數(shù)。
    Handler_read_key
    請(qǐng)求基于索引值讀取行的次數(shù)。
    Handler_read_last
    請(qǐng)求從索引里讀取最后一行的次數(shù)。比變量是在MySQL 5.5.7里引入的。
    Handler_read_next
    按索引順序請(qǐng)求讀取下一行的次數(shù)。
    Handler_read_prev
    按索引逆序請(qǐng)求讀取上一行的次數(shù)。
    Handler_read_rnd
    根據(jù)位置請(qǐng)求讀取一行的次數(shù)。
    Handler_read_rnd_next
    請(qǐng)求讀取下一行的次數(shù)。如果這個(gè)值很大,則說(shuō)明你可能在執(zhí)行大量的需要全表掃描的語(yǔ)句,或者執(zhí)行大量的未正確使用索引的語(yǔ)句。
    Handler_rollback
    請(qǐng)求事務(wù)回滾的次數(shù)。
    Handler_savepoint
    請(qǐng)求創(chuàng)建事務(wù)保存點(diǎn)的次數(shù)。
    Handler_savepoint_rollback
    請(qǐng)求回滾到事務(wù)保存點(diǎn)的次數(shù)。
    Handler_update
    在表里請(qǐng)求更新行的次數(shù)。
    Handler_write
    在表里請(qǐng)求插入行的次數(shù)。
    Key_blocks_not_flushed
    在鍵緩存里已被修改、但仍未刷新到磁盤的緩存塊個(gè)數(shù)。
    Key_blocks_unused
    鍵緩存用尚未使用的緩存塊個(gè)數(shù)。
    Key_blocks_used
    鍵緩存里被同時(shí)使用的緩存塊最大個(gè)數(shù)。
    Key_reads_requests
    請(qǐng)求從鍵緩存里讀取數(shù)據(jù)塊的次數(shù)。
    Key_reads
    從磁盤里讀取索引塊的次數(shù)。
    Key_write_requests
    請(qǐng)求把數(shù)據(jù)塊寫入鍵緩存的次數(shù)。
    Key_writes
    把索引塊寫入鍵緩存的次數(shù)。
    Last_query_cost
    查詢優(yōu)化器最近一次的查詢開銷計(jì)算。這個(gè)值只對(duì)未使用UNION或子查詢才有用。如果還沒計(jì)算出查詢開銷,則這個(gè)值為0。這個(gè)值只對(duì)使用查詢緩存的查詢才有效。
    Last_query_partial_plans
    它適用于最近執(zhí)行的查詢,指的是優(yōu)化器在準(zhǔn)備執(zhí)行計(jì)劃時(shí)迭代的次數(shù)。此變量是MySQL 5.6.5里引入的。
    Max_used_connections
    同時(shí)打開的最大連接數(shù)。
    Not_flushed_delayed_rows
    等待通過(guò)INSERT DELAYED語(yǔ)句寫入的行個(gè)數(shù)。
    Open_files
    打開文件的個(gè)數(shù)。
    Open_streams
    處于打開狀態(tài)的文件流的個(gè)數(shù)。一個(gè)流即為一個(gè)用fopen()函數(shù)打開的文件。它只適用于日志文件。
    Open_table_definitions
    緩存的.frm文件的個(gè)數(shù)。
    Open_tables
    處于打開狀態(tài)的表的個(gè)數(shù),其中不包括TEMPORARY表
    Opened_files
    服務(wù)器已打開文件的次數(shù)。(有些存儲(chǔ)引擎不會(huì)遞增這個(gè)計(jì)數(shù)器的值。)
    服務(wù)器使用內(nèi)部庫(kù)函數(shù)my_open()打開文件的次數(shù)。
    Opened_table_definitions
    服務(wù)器已打開.frm文件的次數(shù)。
    Opened_tables
    服務(wù)器已打開表的次數(shù)。如果這個(gè)值很大,則應(yīng)該考慮加大表緩存。
    Performance_schema_xxx
    這些以Performance_schema開頭的狀態(tài)變量都與用于采集和分析服務(wù)器性能數(shù)據(jù)的Performance Schema程序有關(guān)。更多詳細(xì)信息請(qǐng)參考MySQL參考手冊(cè)。
    Prepared_stmt_count
    預(yù)處理語(yǔ)句的個(gè)數(shù)。
    Questions
    服務(wù)器接收到的語(yǔ)句個(gè)數(shù)(其中即包括成功的語(yǔ)句也包括不成功的語(yǔ)句)。Questions和Uptime的比值即為每秒處理的語(yǔ)句數(shù)量。
    Select_full_join
    “完全”連接(即未使用索引的連接操作)的次數(shù)。
    Select_full_range_join
    對(duì)參照表進(jìn)行范圍搜索時(shí)執(zhí)行連接的次數(shù)。
    Select_range
    使用第一個(gè)表的范圍執(zhí)行連接的次數(shù)。
    Select_range_check
    在利用服務(wù)搜索獲取輔助表的行時(shí)執(zhí)行連接的次數(shù)。
    Select_scan
    在對(duì)第一張表進(jìn)行全表掃描時(shí)執(zhí)行連接的次數(shù)。
    Slave_heartbeat_period
    復(fù)制操作使用的心跳間隔(單位為秒)。
    Slave_last_heartbeat
    該TIMESTAMP值表示的是從主服務(wù)器接收最后一個(gè)心跳包的時(shí)間。此變量是在MySQL 5.6.1里引入的。
    Slave_open_tmp_tables
    從SQL線程曾經(jīng)打開的臨時(shí)表個(gè)數(shù)。
    Slave_received_heartbeats
    自上一條CHANGE MASTER語(yǔ)句以來(lái)或者自從服務(wù)器重啟或重置一起來(lái),從主服務(wù)器接收到的心跳包個(gè)數(shù)。
    Slave_retried_transactions
    從SQL線程重試事務(wù)的次數(shù)。
    Slave_running
    從I/O線程和SQL線程是否都在運(yùn)行中。
    Slow_launch_threads
    創(chuàng)建時(shí)間超過(guò)slow_lanuch_time秒的線程數(shù)。
    Slow_queries
    查詢時(shí)間超過(guò)long_query_time秒的查詢的個(gè)數(shù)。
    Sort_merge_passes
    排序算法執(zhí)行的合并的次數(shù)。
    Sort_range
    使用范圍的排序操作的個(gè)數(shù)。
    Sort_rows
    排好序的行數(shù)。
    Sort_scan
    使用全表掃描的排序操作的個(gè)數(shù)。
    Table_locks_immediate
    無(wú)需等待便能立刻得到滿足的表鎖請(qǐng)求的數(shù)量。
    Table_locks_waited
    只有在等待之后才能得到滿足的表鎖請(qǐng)求的數(shù)量。如果這個(gè)值很大,則表明表鎖存在大量的競(jìng)爭(zhēng)問(wèn)題。
    Table_open_cache_hits、Table_open_cache_misses、Table_open_cache_overflows
    這些變量提供的是與打開表緩存的操作相關(guān)的統(tǒng)計(jì)信息。“命中”和“缺失”分別指的是在緩存里找到和未找到表。“溢出”值的是緩存超出table_open_cache所表示的那個(gè)大小限制的次數(shù)。此變量是在MySQL 5.6.6里引入的。
    Tc_log_max_pages_used
    事務(wù)協(xié)調(diào)恢復(fù)日志文件所使用的頁(yè)面的最大數(shù)量。
    Tc_log_page_size
    事務(wù)協(xié)調(diào)恢復(fù)日志文件的頁(yè)面大小。
    Tc_log_page_waits
    在事務(wù)協(xié)調(diào)恢復(fù)日志文件里,兩階段提交操作必須等待空閑頁(yè)面的次數(shù)。
    Threads_cached
    線程緩存里的線程數(shù)量。
    Threads_connected
    處于打開狀態(tài)的連接數(shù)量。
    Threads_created
    服務(wù)器為處理客戶端連接而創(chuàng)建線程的次數(shù)。
    Threads_running
    處于激活狀態(tài)(非休眠狀態(tài))的線程個(gè)數(shù)。
    Uptime
    服務(wù)器自開始運(yùn)行以來(lái)持續(xù)運(yùn)行的秒數(shù)。
    Uptime_since_flush_status
    自最近一次執(zhí)行FLUSH STATUS語(yǔ)句以來(lái)經(jīng)過(guò)的秒數(shù)。
    
    InnoDB狀態(tài)變量
    下面這些狀態(tài)變量顯示的是與InnoDB存儲(chǔ)引擎操作有關(guān)的信息。其中許多都可以在SHOW ENGINE INNODB STATUS語(yǔ)句的輸出里獲得,但是SHOW STATUS語(yǔ)句的輸出更容易讀懂。
    Innodb_available_undo_logs
    可用的InnoDB恢復(fù)日志個(gè)數(shù)。(系統(tǒng)變量innodb_undo_logs表示的是當(dāng)前激活的數(shù)量。)此變量是在MySQL 5.6.5里引入的。
    Innodb_buffer_pool_pages_data
    InnoDB緩沖池里包含數(shù)據(jù)的頁(yè)面數(shù)量。此計(jì)數(shù)包括那些從沒被修改過(guò)的干凈頁(yè)面和那些包含修改數(shù)據(jù)的臟頁(yè)。
    Innodb_buffer_pool_dump_status
    緩沖池轉(zhuǎn)儲(chǔ)操作的當(dāng)前狀態(tài)。此變量是在MySQL 5.6.3里引入的。
    Innodb_buffer_pool_load_status
    緩沖池加載操作的當(dāng)前狀態(tài)。此變量是在MySQL 5.6.3里引入的。
    Innodb_buffer_pool_pages_dirty
    InnoDB緩沖池里包含修改過(guò)的數(shù)據(jù)的頁(yè)面數(shù)量。
    Innodb_buffer_pool_pages_flushed
    已執(zhí)行過(guò)刷新請(qǐng)求的InnoDB緩沖池的頁(yè)面數(shù)量。
    Innodb_buffer_pool_pages_free
    InnoDB緩沖池里的空閑頁(yè)面數(shù)。
    Innodb_buffer_pool_pages_latched
    InnoDB緩沖池里正在被讀取或?qū)懭氲捻?yè)面數(shù),或者不能被刷新和釋放以再次使用的頁(yè)面數(shù)。只有在構(gòu)建MySQL時(shí)定義了UNIV_DEBUG才會(huì)顯示。
    Innodb_buffer_pool_pages_misc
    InnoDB緩沖池里的內(nèi)部操作所分配到的頁(yè)面數(shù)。
    Innodb_buffer_pool_pages_total
    InnoDB緩沖池里的頁(yè)面總數(shù)。
    Innodb_buffer_pool_read_ahead
    InnoDB預(yù)讀后臺(tái)線程讀入InnoDB緩沖池的頁(yè)面數(shù)。
    Innodb_buffer_pool_read_ahead_evicted
    被InnoDB預(yù)讀后臺(tái)線程讀入的、因未被查詢使用而驅(qū)逐的頁(yè)面數(shù)量。
    Innodb_buffer_pool_read_requests
    InnoDB發(fā)起的邏輯讀請(qǐng)求的數(shù)量。
    Innodb_buffer_pool_reads
    因不能從InnoDB緩沖池進(jìn)行邏輯讀取而采取的單頁(yè)讀取操作的數(shù)量。
    Innodb_buffer_pool_wait_free
    當(dāng)把數(shù)據(jù)寫入將被刷新到磁盤的緩沖池時(shí),InnoDB必須等待的次數(shù)。寫入操作通常是在后臺(tái)進(jìn)行的,但是在InnoDB需要讀取頁(yè)面或者創(chuàng)建新頁(yè)時(shí),如果沒有可用頁(yè)面,就必須等待。
    Innodb_buffer_pool_write_requests
    往InnoDB緩沖池寫入的次數(shù)。
    Innodb_data_fsyncs
    由InnoDB執(zhí)行的“同步到磁盤”(sync-to-disk)操作的個(gè)數(shù)。
    Innodb_data_pending_fsyncs
    掛起的InnoDB數(shù)據(jù)“同步到磁盤”操作的個(gè)數(shù)。
    Innodb_data_pending_reads
    掛起的InnoDB“數(shù)據(jù)讀取”操作的個(gè)數(shù)。
    Innodb_data_pending_writes
    掛起的InnoDB“數(shù)據(jù)寫入”操作的個(gè)數(shù)。
    Innodb_data_read
    InnoDB讀取的字節(jié)數(shù)。
    Innodb_data_reads
    InnoDB“數(shù)據(jù)讀取”操作的個(gè)數(shù)。
    Innodb_data_writes
    InnoDB“數(shù)據(jù)寫入”操作的個(gè)數(shù)。
    Innodb_data_written
    InnoDB寫入的字節(jié)數(shù)。
    Innodb_dblwr_pages_written
    寫入InnoDB雙寫緩沖區(qū)的頁(yè)面數(shù)。
    Innodb_dblwr_writes
    寫入InnoDB雙寫緩沖區(qū)的次數(shù)。
    Innodb_have_atomic_builtins
    表明MySQL在構(gòu)建時(shí)是否啟用了原子操作。
    Innodb_log_waits
    當(dāng)把數(shù)據(jù)寫入將被刷新的日志緩沖池時(shí),InnoDB必須等待的次數(shù)。
    Innodb_log_write_requests
    InnoDB日志文件的寫請(qǐng)求數(shù)。
    Innodb_log_writes
    InnoDB日志文件的寫入次數(shù)。
    Innodb_num_open_files
    InnoDB已打開的文件個(gè)數(shù)。此變量是在MySQL 5.6.2里引入的。
    Innodb_os_log_fsyncs
    InnoDB日志文件“同步到磁盤”操作的個(gè)數(shù)。
    Innodb_os_log_pending_fsyncs
    掛起的InnoDB日志文件“同步到磁盤”操作的個(gè)數(shù)。
    Innodb_os_log_pending_writes
    掛起的InnoDB日志文件寫入操作的個(gè)數(shù)。
    Innodb_os_log_written
    寫入InnoDB日志文件的字節(jié)數(shù)。
    Innodb_page_size
    InnoDB所使用的內(nèi)編譯頁(yè)面大小。通過(guò)它,可以把一個(gè)以頁(yè)為單位的測(cè)量值轉(zhuǎn)換為以字節(jié)為單位的值。默認(rèn)大小為16KB。
    Innodb_pages_created
    InnoDB創(chuàng)建的頁(yè)數(shù)。
    Innodb_pages_read
    InnoDB讀取的頁(yè)數(shù)。
    Innodb_pages_written
    InnoDB寫入的頁(yè)數(shù)。
    Innodb_row_lock_current_waits
    InnoDB正在等待獲得的行鎖個(gè)數(shù)。
    Innodb_row_lock_time
    獲得InnoDB行鎖所花費(fèi)的總時(shí)間(單位為毫秒)。
    Innodb_row_lock_time_avg
    獲得一個(gè)InnoDB行鎖所需要花費(fèi)的平均時(shí)間(單位為毫秒)。
    Innodb_row_lock_time_max
    獲得InnoDB行鎖所需要花費(fèi)的最大時(shí)間(單位為毫秒)。
    Innodb_row_lock_waits
    InnoDB為獲得行鎖而等待的時(shí)間。
    Innodb_rows_deleted
    從InnoDB表刪除的行數(shù)。
    Innodb_rows_inserted
    插入InnoDB表的行數(shù)。
    Innodb_rows_read
    從InnoDB表讀取的行數(shù)。
    Innodb_wors_updated
    在InnoDB表里更新的行數(shù)。
    Innodb_truncated_status_writes
    SHOW ENGINE INNODB STATUS的輸出內(nèi)容被截?cái)嗔硕嗌俅巍4俗兞渴窃贛ySQL 5.5.7里引入的。
    
    查詢緩存狀態(tài)變量
    下面這些狀態(tài)變量顯示的是與查詢緩存操作有關(guān)的信息。
    Qcache_free_blocks
    查詢緩存里的空閑內(nèi)存塊數(shù)量。
    Qcache_free_memory
    查詢緩存里的空閑內(nèi)存總量。
    Qcache_hits
    保存在緩存里的滿足查詢請(qǐng)求的查詢數(shù)量。
    Qcache_inserts
    在查詢緩存里注冊(cè)過(guò)的查詢數(shù)量。
    Qcache_lowmem_prunes
    為了給新的查詢結(jié)果騰出空間而從查詢緩存里丟棄的緩存查詢結(jié)果的數(shù)量。
    Qcache_not_cached
    無(wú)法緩存的或者因用戶使用了SQL_NO_CACHE關(guān)鍵字而被禁止緩存的查詢的數(shù)量。
    Qcache_queries_in_cache
    緩存里注冊(cè)的查詢數(shù)量。
    Qcache_total_blocks
    查詢緩存里的內(nèi)存塊數(shù)量。
    
    SSL狀態(tài)變量
    以下變量提供的是與SSL管理代碼有關(guān)的信息。其中的許多變量都可以反映出當(dāng)前會(huì)話的狀態(tài);并且當(dāng)會(huì)話實(shí)際并非安全連接時(shí),它們將為空白。只有服務(wù)器在構(gòu)建時(shí)包含了SSL支持,這些變量才可用。
    Ssl_accept_renegotiates
    在服務(wù)器模式里開始重新協(xié)商的次數(shù)。
    Ssl_accepts
    在服務(wù)器模式里開始的SSL/TLS握手的次數(shù)。
    Ssl_callback_cache_hits
    在服務(wù)器模式里從外部會(huì)話緩存成功地檢索到的會(huì)話數(shù)量。
    Ssl_cipher
    會(huì)話所使用的SSL密碼(協(xié)議)。(如果不存在有效的密碼,則為空。)可以利用此變量來(lái)判斷會(huì)話是否是已加密。
    Ssl_cipher_list
    可用的SSL密碼協(xié)議列表。
    Ssl_client_connects
    在客戶端模式里開始的SSL/TLS握手的次數(shù)。
    Ssl_connect_renegotiates
    在客戶端模式里開始重新協(xié)商的次數(shù)。
    Ssl_ctx_verify_depth
    SSL上下文的驗(yàn)證深度。
    Ssl_ctx_verify_mode
    SSL上下文的驗(yàn)證模式。
    Ssl_default_timeout
    默認(rèn)的SSL會(huì)話超時(shí)時(shí)間。
    Ssl_finished_accepts
    在服務(wù)器模式里成功建立的SSL/TLS會(huì)話數(shù)。
    Ssl_finished_connects
    在客戶端模式里成功建立的SSL/TLS會(huì)話數(shù)。
    Ssl_server_not_after
    SSL證書的最后有效日期。此變量是在MySQL 5.6.3里引入的。
    Ssl_server_not_before
    SSL證書的開始有效日期。此變量是在MySQL 5.6.3里引入的。
    Ssl_session_cache_hits
    在會(huì)話緩存里找到的SSL會(huì)話數(shù)。
    Ssl_session_cache_misses
    在會(huì)話緩存里未找到的SSL會(huì)話數(shù)。
    Ssl_session_cache_mode
    服務(wù)器所使用的SSL緩存類型。
    Ssl_session_cache_overflows
    因緩存已滿而被刪除的會(huì)話數(shù)。
    Ssl_session_cache_size
    SSL會(huì)話緩存里存儲(chǔ)的會(huì)話數(shù)。
    Ssl_session_cache_timeouts
    已超時(shí)的會(huì)話數(shù)。
    Ssl_session_reused
    是否有會(huì)話再次利用了之前的某個(gè)會(huì)話。
    Ssl_used_session_cache_entries
    會(huì)話緩存里的會(huì)話數(shù)。
    Ssl_verify_depth
    SSL驗(yàn)證深度。
    Ssl_verify_mode
    SSL驗(yàn)證模式。
    Ssl_version
    會(huì)話的SSL協(xié)議版本。

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶 評(píng)論公約

      類似文章 更多

      主站蜘蛛池模板: 人妻丝袜AV中文系列先锋影音 | 少妇AV射精精品蜜桃专区| 色爱综合另类图片av| 92精品国产自产在线观看481页 | 欧美老熟妇XB水多毛多| 日韩精品有码中文字幕| 人妻中出无码中字在线| 欧美人与动人物牲交免费观看久久 | 玩弄漂亮少妇高潮白浆| 国产成人亚洲综合| 最新国产精品中文字幕| 麻豆最新国产AV原创精品| 国内精品久久久久影院网站| AV极品无码专区亚洲AV| 人妻人人澡人人添人人爽| 2020国产激情视频在线观看| 无码中文人妻视频2019| 四虎影视一区二区精品| 樱花草视频www日本韩国| 免费国产午夜理论片不卡| 国产精品99中文字幕| 午夜三级A三级三点在线观看| 亚洲人成电影网站 久久影视| 精品久久久久久中文字幕大豆网| 国产精品午夜福利视频| 国模精品一区二区三区| 久久天天躁夜夜躁狠狠85| 亚洲男人第一无码av网站| 久热爱精品视频线路一| 怡红院一区二区三区在线| 成人乱码一区二区三区四区| 高清不卡一区二区三区| 四虎成人精品永久网站| 欧美变态另类zozo| 国内大量揄拍人妻精品視頻 | 欧洲中文字幕一区二区| 午夜天堂精品久久久久| A级日本乱理伦片免费入口| 天堂亚洲免费视频| 一本精品99久久精品77| 美女又黄又免费的视频|