autocommit={0|1}
設定MySQL事務是否自動送出,1表示立即送出,0表示需要顯式送出。作用範圍為全局或會話,可用于配置檔案中(但在5.5.8之前的版本中不可用于配置檔案),屬于動态變量。
automatic_sp_privileges={0|1}
設定MySQL伺服器是否為存儲例程的建立賦予其建立存儲例程上的EXECUTE和ALTER ROUTINE權限,預設為1(賦予此兩個權限給其建立者)。作用範圍為全局。
back_log=#
當MySQL的主線程在短時間内收到大量連接配接請求時,其會花些時間檢測已經有線程并為新請求啟動新線程,back_log參數的值即為短時間内到達的請求中有多少可以被接受并等待主MySQL線程進行後續處理。作用範圍為全局,可以用配置檔案,非動态變量。
basedir=PATH, -b PATH
用于指定MySQL的安裝目錄,所有其它的常用相對路徑都相對于此處的路徑而言。作用範圍為全局,可用于配置檔案中,但屬于非動态變量。
bind-address=ADDR
指定mysqld服務監聽的IP位址,預設為0.0.0.0,表示本機已配置的所有IP位址。作用範圍為全局,可用于配置檔案中,但屬于非動态變量。
binlog-format={ROW|STATEMENT|MIXED}
指定二進制日志的類型,預設為STATEMENT。如果設定了二進制日志的格式,卻沒有啟用二進制日志,則MySQL啟動時會産生警告日志資訊并記錄于錯誤日志中。作用範圍為全局或會話,可用于配置檔案,且屬于動态變量。
buld_insert_buffer_size
MyISAM引擎使用一個特殊的樹狀結構的緩存來加速批量插入操作,如INSERT...SELECT, INSERT...VALUES(...),(...),...和LOAD DATA INFILE指令完成的插入操作。對于每個線程來說,此buffer的大小是獨立的,其配置的數值機關為位元組,有效取值範圍為0至“2^CPU字長”次方,預設大小為8MB。作用範圍為全局或會話,可用于配置檔案,屬動态變量。
chroot=PATH, -r PATH
設定MySQL基于chroot模式工作時的工作目錄,在安全問題尤為重要的環境中,這是推薦使用的機制。但此時,LOAD DATA INFILE等指令的工作可能會受到影響。可用于配置檔案。
console
僅用于Windows平台的選項,用于實作将錯誤日志資訊發送至标準輸入和錯誤輸出,即使配置了--log-error選項,此功能也一樣有效。
concurrent_insert={NEVER|AUTO|ALWAYS} 或分别使用{0|1|2}
設定是否允許在MyISAM表上并行執行INSERT和SELECT語句。作用範圍為全局,可用于配置檔案,屬動态變量。
connect_timeout=#
mysqld伺服器端在響應“失敗的握手操作”資訊給用戶端之前所等待的秒數,預設為10秒。作用範圍為全局,可用于配置檔案,屬動态變量。
core-file
當MySQL程序宕掉時将資訊儲存為一個core檔案,在Linux平台上,core檔案通常被儲存至目前程序的工作目錄中,并命名為core.pid,其檔案名字尾pid為目前程序的程序号;對MySQL而言,儲存目錄為資料檔案目錄。
datadir=PATH, -h PATH
指定MySQL服務的資料目錄。作用範圍為全局,可用于配置檔案中,但屬于非動态變量。
default_storage_engine={Engine_Name}
設定MySQL伺服器的預設存儲引擎。MySQL 5.5.5版本之前預設為MyISAM,之後的版本預設為InnoDB。作用範圍為全局,可用于配置檔案,屬動态變量。
delay-key-write={ON|OFF|ALL}
僅用于MyISAM表,且要求在建立表時使用了DELAY_KEY_WRITE選項。在啟用時,key buffer不會在每一次索引更新時都予以清空,而是在表關閉時才執行key buffer清空操作。OFF表示忽略DELAY_KEY_WRITE,ON表示MySQL接受CREATE TABLE時使用的任何DELAY_KEY_WRITE選項,ALL表示所有新打開的表遵循此特性。
error-count
上一條SQL語句導緻的錯誤資訊的數目,此為隻讀變量。
event-scheduler={ON|OFF|DISABLED}
設定MySQL伺服器是否啟用以及否啟動Event Scheduler。OFF表示停止,此為預設值;ON表示啟動,其處于運作狀态并執行所有的排程事務;DISABLED表示禁用Event Scheduler,即其不能切換為啟動狀态。作用範圍為全局,可用于配置檔案,屬動态變量。
expire_logs_days={0..99}
設定二進制日志的過期天數,超出此天數的二進制日志檔案将被自動删除。預設為0,表示不啟用過期自動删除功能。如果啟用此功能,自動删除工作通常發生在MySQL啟動時或FLUSH日志時。作用範圍為全局,可用于配置檔案,屬動态變量。
external_user=name
在MySQL伺服器上基于認證插件進行使用者認證時,此插件會把發起連接配接請求使用者當作另一個使用者以達到權限檢查的目的,這樣可以使得外部使用者作第二使用者的代理使用者,并擁有第二使用者的所有權限。當使用MySQL的内部認證機制或沒有插件為其設定值時,此變量的值為NULL。作用範圍為會話級别,不可用于配置檔案,屬非動态變量。
flush={ON|OFF}
設定MySQL伺服器是否單獨為每個SQL語句執行資料同步(将資料寫入磁盤)。正常情況下,MySQL為每個語句執行資料同步工作,并将後續的同步過程交由作業系統完成。預設為OFF。作用範圍為全局,可用于配置檔案,屬動态變量。
flush-time={0..}
為非0值時,MySQL伺服器會将所有打開的表每隔flush_time指定的時長進行關閉,使用其釋放所有資源并将資料同步至磁盤中。隻有在系統資源極其稀缺的情況下才需要啟用此功能。預設值是0,即為禁用此功能。作用範圍為全局,可用于配置檔案,屬動态變量。
foreign-key-checks={0|1}
設定是否為InnoDB表查檢外鍵限制,預設為1,即檢查。在不確定按原有順序重新裝載所有InnoDB表時,禁用此功能會避免外鍵限制的副作用。
general_log={ON|OFF}
設定是否啟用查詢日志,預設值為取決于在啟動mysqld時是否使用了--general_log選項。如若啟用此項,其輸出位置則由--log_output選項進行定義,如果log_output的值設定為NONE,即使用啟用查詢日志,其也不會記錄任何日志資訊。作用範圍為全局,可用于配置檔案,屬動态變量。
general_log_file=FILE_NAME
查詢日志的日志檔案名稱,預設為“hostname.log"。作用範圍為全局,可用于配置檔案,屬動态變量。
group_concat_max_len={4..}
設定GROUP_CONCAT()函數傳回值的最大長度,預設為1024。有效取值範圍為4至“2^CPU字長”次方。作用範圍為全局或會話級别,用于配置檔案,屬動态變量。
have-compress={YES|NO}
zlib壓縮庫是否能為MySQL伺服器所用。當其值為NO時,COMPRESS()和UNCOMPRESS()函數均不可用。
have_crypt={YES|NO}
crypt()系統調用是否可為MySQL伺服器所用。當其值為NO時,ENCRYPT()函數則不可用。
have_csv={YES|NO}
mysqld支援CSV引擎時為YES,否則為NO。
have_dynamic_loading={YES|NO}
mysqld支援動态加載插件時為YES,否則為NO。
have_geometry={YES|NO}
mysqld支援空間資料類型時為YES,否則為NO。
have_innodb={YES|NO}
mysqld支援InnoDB存儲引擎時為YES,否則為NO。
have_openssl={YES|NO}
此為have_ssl選項的别名;
have_ssl={YES|NO}
mysqld支援SSL連接配接時為YES,否則為NO。DISABLED表示mysqld編譯時啟用了對SSL的支援,但在啟動mysqld時沒能使用正确的ssl-xxx類(如ssl_cert)的選項。
have_partitioning={YES|NO}
mysqld是否支援partitioning,此選項已經基本廢棄,且在MySQL-5.6中已經移除,使用SHOW ENGINES可擷取此相關資訊。
have_profiling={YES|NO}
mysqld支援語句性能分析時則為YES,否則為NO。如果支援profiling功能,則--profiling變量則用于控制是否啟動此功能。
have_query_cache={YES|NO}
mysqld支援查詢緩存則為YES,否則為NO。
have_rtree_keys={YES|NO}
mysqld支援RTREE索引則為YES,否則為NO。RTREE索引用于MyISAM表的空間索引。
have_symlink={YES|NO}
mysqld支援符号連結則為YES,否則為NO。在Unix主機上,此功能對資料目錄和索引目錄有用。
hostname=STRING
mysqld伺服器啟動時将主機名稱指派給此變量。作用範圍為全局,屬非動态變量。
identity
last_insert_id變量的同義詞,其存在的主要目的是為了相容其它資料庫系統。會話級别的變量。
init_connect=STRING
設定在每個用戶端與mysqld建立連接配接時事先執行的一個或多個(彼此間用分号隔開)SQL語句,但對于具有SUPER權限的使用者來說,此功能無效。例如,在5.5.8之前的MySQL中尚未出現autocommit變量,此時若要為每位使用者預設禁用autocommit功能,就可以在mysqld的配置檔案中使用init_connect='SET autocommit=0'來實作,當然也可以使用SET GLOBAL init_connect='SET autocommit=0';指令完成。作用範圍為全局級别,可用于配置檔案,屬動态變量。
init-file=/PATH/TO/SOMEFILE
定義在mysqld啟動時使用的初始化檔案,此檔案每行包含一個單獨的SQL語句(不能有注釋,不需要且不能使用語句結束符),并會在mysqld啟動時逐個執行。
insert_id
為某表中設定了AUTO_INCREMENT的字段執行INSERT或ALTER_TABLE語句時将使用此變量的值。主要為二進制日志所用。
interactive_timeout=#
mysqld程序等待一個已經建立連接配接的互動式用戶端的後續指令之前所經過的秒數,預設為28800。作用範圍為全局或會話級别,用于配置檔案,屬動态變量。
join_buffer_size=#
mysqld用于平面索引掃描(plain index scans)、範圍索引掃描或不使用索引的全表掃描時所能夠使用的最小緩沖。正常情況下,添加索引是加快連接配接執行速度的有效手段,而無法添加索引時,增大join_buffer_size的值可以加快完全連接配接的執行速度。兩表之間的每個完全連接配接會使用一個單獨的join buffer,多表之間的非基于索引的複雜完全連接配接則有可能使用多個join buffer。将此變量值設定的大過每個比對的行的大小等并不能帶來太多的益處,是以,不應該在全局範圍内将此值設定的過大。建議使用較小的全局設定,隻為需要的會話中使用較大連接配接時設定較大值。其最大值取決平台,如32bit平台上的最大值為4G。
keep_files_on_create={ON|OFF}
此項預設值為OFF。建立MyISAM類型的表時,mysqld會在資料目錄中為其建立一個.MYD檔案和一個.MYI檔案,如果資料目錄中已經存在一個同名的檔案,預設設定為覆寫操作,當設定此變量為OFF時,則會傳回一個錯誤資訊。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
key_buffer_size=#
所有線程共享的、用于MyISAM表的索引緩沖空間大小,其也通常被稱作key cache。在32位平台上其最大值為4G,64位平台上允許使用更大的值,但較為有效的值取決于可用實體RAM資源的大小和每程序可用RAM大小的限制。mysqld啟動時會盡可能配置設定接近于指定大小的RAM空間給key_buffer_size,而非一定是指定大小。增大此值可以加速讀寫操作時對索引的處理速度,是以,在一個以MyISAM為主要表類型的應用場景中可以将此值設定到實體記憶體空間的25%,然而,比此者再大的值則反而可能引起系統性能下降了,比如設定到實體内容間的50%時則可能帶來嚴重的性能問題。更何況,還需要考慮其它類型存儲引擎對記憶體的需要。
當向表中同時插入多行資料時,使用LOCK TABLES會加速其執行過程。當然,也可以觀察SHOW STATUS指令輸出中的Key_read_requests, Key_reads, Key_write_requests和Key_writes值也判定mysqld的性能表現。正常情況下,Key_reads/Key_read_requests的比值應該小于0.01,而Key_writes/Key_write_requests的比值通常會接近于1,不過在啟用了DELAY_KEY_WRITE選項的場景中,這個比值可能會更小。
key_cache_block_size=#
MyISAM存儲引擎的索引存放于“.MYI”檔案中,每個“.MYI”檔案由檔案頭和實際的索引資料共同組成。在“.MYI”的相關概念中,其邏輯上表現為多個Index Block,但并非實體結構。在實體上,索引是以檔案塊(File Block)的形式來存放在磁盤上面的。在Key Cache中緩存的索引資訊是以緩存塊(Cache Block)的形式組織存放的,緩存塊是一組相同大小的存儲空間,和“.MYI”檔案實體存儲的Block(File Block)類似。
在一條查詢語句通過索引檢索表資料的時候,首先會檢查索引緩存(key_buffer_cache)中是否已經存儲了需要的索引資訊,如果沒有,則會讀取“.MYI”檔案,将相應的索引資料讀入Key Cache中的記憶體空間中,并存儲為緩存塊格式。此時,如果整個Key Cache中已經沒有空閑的緩存塊空間可以使用的話,mysqld将會通過LRU算法将某些緩存塊予以清除。
key_cache_block_size參數則用于設定cache block的大小,預設為1024。作用範圍為全局級别,可用于配置檔案,屬動态變量。
key_cache_division_limit=#
實際上,在MySQL的Key Cache中所使用的LRU算法并不像傳統的算法一樣僅僅隻是通過通路頻率以及最後通路時間來通過一個唯一的連結清單實作,而是将其分成了兩部分。一部分用來存放使 用比較頻繁的Hot Cache Lock(Hot Chain),被稱作Hot Area,另外一部分則用來存放使用不太頻繁的Warm Cache Block(Warm Chain),也被稱作Warm Area。這樣做的目的主要是為了保護使用比較頻繁的Cache Block更不容易被換出。而key_cache_division_limit參數則正是用于告訴MySQL該如何劃分整個Cache Chain劃分為Hot Chain和Warm Chain兩部分,參數值為Warm Chain占整個Chain 的百分比值。設定範圍1~100,系統預設為100,也就是隻有Warm Chain。
key_cache_age_threshold=#
控制Hot Area中的Cache Block何時該被降級到Warm Area中。系統預設值為300,最小可以設定為100。值越小,被降級的可能性越大。
large_files_support={YES|NO}
mysqld是否在編譯時的編譯選項中指定了支援大檔案。其作用域為全局,為非動态變量。
large_pages={YES|NO}
Linux平台上專用的參數,用于設定mysqld是否支援使用大記憶體頁。使用大記憶體而可以提高TLB的命中率,進行提高系統性能。其作用域為全局,可以用于配置檔案中,為非動态變量。
large_page_size=#
Linux平台上專用的參數,用于設定mysqld使用的大記憶體頁的大小,一般為4MB,在其它平台上此參數的值為0,即為禁用。其作用域為全局,為非動态變量。
last_insert_id
此參數的值由LAST_INSERT_ID()函數傳回,在更新表的語句中使用LAST_INSERT_ID()時其對應的确切值會存儲于二進制日志中。
lc_messages=STRING
錯誤資訊的區域設定(即語言區域),mysqld将此值轉換為語言名稱,并結合lc_messages_dir參數指定的路徑中的區域相關的語言檔案來傳回錯誤資訊。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
lc_messages_dir=/PATH/TO/SOME_DIR
錯誤資訊的存儲目錄,通過與lc_messages參數設定的語言區域來傳回錯誤資訊。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
lc_time_names=STRING
設定基于語言區域來顯示日、月及其簡寫方式等日期資訊的語言區域,其值如en_US等,但與系統的locale無關。此設定将影響DATE_FORMAT(), DAYNAME()和MONTHNAME()函數的輸出結果。作用範圍為全局或會話級别,屬動态變量。
local_infile={YES|NO}
設定mysqld是否支援使用LOAD DATA INFILE語句。預設為ON。作用範圍為全局級别,屬動态變量。
local_wait_timeout=#
以秒為機關設定所有SQL語句等待擷取中繼資料鎖(metadata lock)的逾時時長,預設為31536000(1年),有效取值範圍為0-31536000。其影響的SQL語句包括用于表、視圖、存儲過程和存儲函數的DML和DDL語句,以及LOCK TABLES、FLUSH TABLES WITH READ LOCK和HANDLER語句等。但其作用的所有對象不包括mysql資料庫中的系統表及用于記錄日志的表上的GRANT或REVOKE語句,但包括SELECT或UPDATE語句。
另外,此逾時時長分别應用于每個中繼資料鎖,是以,一個語句可能會持有多個中繼資料鎖,那麼其最後的生效逾時時長有可能會長時這個設定值。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
locked_in_memory={YES|NO}
mysqld是否使用--memlock選項鎖定在了記憶體中。作用範圍為全局級别,屬非動态變量。
log={YES|NO}
是否啟用記錄所有語句的日志資訊于一般查詢日志(general query log)中,預設通常為OFF。MySQL 5.6已經棄用此選項。
log-bin={YES|NO}
是否啟用二進制日志,如果為mysqld設定了--log-bin選項,則其值為ON,否則則為OFF。其僅用于顯示是否啟用了二進制日志,并不反應log-bin的設定值。作用範圍為全局級别,屬非動态變量。
log_bin_trust_function_creators={TRUE|FALSE}
此參數僅在啟用二進制日志時有效,用于控制建立存儲函數時如果會導緻不安全的事件記錄二進制日志條件下是否禁止建立存儲函數。預設值為0,表示除非使用者除了CREATE ROUTING或ALTER ROUTINE權限外還有SUPER權限,否則将禁止建立或修改存儲函數,同時,還要求在建立函數時必需為之使用DETERMINISTIC屬性,再不然就是附帶READS SQL DATA或NO SQL屬性。設定其值為1時則不啟用這些限制。作用範圍為全局級别,可用于配置檔案,屬動态變量。
log_error=/PATH/TO/ERROR_LOG_FILENAME
定義錯誤日志檔案。作用範圍為全局或會話級别,可用于配置檔案,屬非動态變量。
log_output={TABLE|FILE|NONE}
定義一般查詢日志和慢查詢日志的儲存方式,可以是TABLE、FILE、NONE,也可以是TABLE及FILE的組合(用逗号隔開),預設為TABLE。如果組合中出現了NONE,那麼其它設定都将失效,同時,無論是否啟用日志功能,也不會記錄任何相關的日志資訊。作用範圍為全局級别,可用于配置檔案,屬動态變量。
log_query_not_using_indexes={ON|OFF}
設定是否将沒有使用索引的查詢操作記錄到慢查詢日志。作用範圍為全局級别,可用于配置檔案,屬動态變量。
log_slave_updates
用于設定複制場景中的從伺服器是否将從主伺服器收到的更新操作記錄進本機的二進制日志中。本參數設定的生效需要在從伺服器上啟用二進制日志功能。
log_slow_queries={YES|NO}
是否記錄慢查詢日志。慢查詢是指查詢的執行時間超出long_query_time參數所設定時長的事件。MySQL 5.6将此參數修改為了slow_query_log。作用範圍為全局級别,可用于配置檔案,屬動态變量。
log_warnings=#
設定是否将警告資訊記錄進錯誤日志。預設設定為1,表示啟用;可以将其設定為0以禁用;而其值為大于1的數值時表示将新發起連接配接時産生的“失敗的連接配接”和“拒絕通路”類的錯誤資訊也記錄進錯誤日志。
long_query_time=#
設定差別慢查詢與一般查詢的語句執行時間長度。這裡的語句執行時長為實際的執行時間,而非在CPU上的執行時長,是以,負載較重的伺服器上更容易産生慢查詢。其最小值為0,預設值為10,機關是秒鐘。它也支援毫秒級的解析度。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
low_priority_updates={TRUE|FALSE}
設定是否降低更新操作的優先級,僅對隻支援表級别鎖的存儲引擎有效,如MyISAM、MEMORY或MERGE。其值為1則表示所有的INSERT、UPDATE、DELETE或LOCK TABLE WRITE語句隻能在沒有等待執行的SELECT或LOCK TABLE READ語句時才能執行。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
lower_case_file_system={ON|OFF}
用于描述資料目錄所在的檔案系統是否區分檔案名稱字元大小寫,OFF表示區分大小寫,ON表示不區分大小寫。此變量是隻讀的,其是否區分大小寫取決于檔案系統。
lower_case_table_name={0|1|2}
設定是否區分表、表别名或者資料庫名稱中的字元大小寫。0表示區分大小寫,1表示不區分大小寫且一律存儲為小寫字元,2表示按給定的大小寫進行存儲但不區分大小寫。對于本身不支援區分檔案名稱大小寫功能的檔案系統來講,不應該設定為0值;而在設定為0值的系統上,對于MyISAM存儲引擎來說,使用大小寫不對應的名稱進行通路可能會導緻索引檔案崩潰。Windows系統上,其預設值為1,Mac OS X上其預設值為2。
對于InnoDB存儲引擎來說,應該将其設定為1,無論基于什麼平台。同時,也不應該為主從複制叢集中的主機使用不同的設定,不然,其可能導緻複制失敗。作用範圍為全局級别,可用于配置檔案,屬非動态變量。
max_allowed_packet={YES|NO}
設定單個封包或任何中間字元串(intermediate string)的最大長度,機關是位元組。封包消息緩沖由net_buffer_length參數進行設定,但其最終可以按需增長至max_allowed_packet參數設定的大小。此參數的預設值較小,在使用了BLOB列或長字元串的場景中,應該增大其值至能容納最大BLOB資料的長度。協定本身限定此值最大為1G,參數隻接受1024整數倍的數值,非1024的整數倍将會被自動圓整至離其最近的1024整數倍的數值。
最終生效的封包長度還取決于用戶端的設定。用戶端程式如mysql或mysqldump的預設設定為1G。作用範圍為全局級别,可用于配置檔案,屬動态變量。
max_connect_errors=#
設定用戶端連接配接至mysqld時的最大錯誤嘗試次數。在某用戶端嘗試連接配接目前mysqld的錯誤次數連接配接達到max_connect_errors所設定的值時,其後續的連接配接嘗試将被直接阻止。管理者可以通過FLUSH HOSTS語句或mysqladmin flush-hosts指令清空主機緩存(host cache)來解除對此前阻止主機的通路鎖定。如果某用戶端的在其錯誤嘗試次數達到此參數設定的值之前成功建立了連接配接,其錯誤嘗試次數的計數器将會被清空。作用範圍為全局級别,可用于配置檔案,屬動态變量。
max_connections=#
設定mysqld允許用戶端同時發起的最大并發連接配接數。增加此值将增加mysqld程序需要同時通路的檔案描述符數目。作用範圍為全局級别,可用于配置檔案,屬動态變量。
max_delayed_threads=#
設定為INSERT DELAYED語句所能夠啟動的最大線程數。如果目前相關的線程數目已經達到此參數所設定的值,後續的INSERT DELAYED語句将無視其DELAYED屬性。如果将其值高精為0,mysqld将不為INSERT DELAYED建立任何線程,即禁用DELAYED功能。作用範圍為全局級别,可用于配置檔案,屬動态變量。
max_error_count=#
設定為SHOW ERRORS或SHOW WARNINGS語句所保留的關于錯誤、警告或注意資訊條目的最大數。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
max_heap_table_size=#
設定每個使用者建立的MEMORY表所能夠使用的最大記憶體空間。修改其值對目前已經建立的MEMORY表沒有影響,除非使用CREATE TABLE、ALTER TABLE或TRUNCATE TABLE對表進行了重建。其最在小值為16384,機關是位元組。最大值受限于平台字長,如32位平台為4G。此參數與tmp_table_size參數聯合使用可用于限制内部記憶體表的大小。另外,max_heap_table_size不會被複制。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
max_insert_delayed_threads=#
max_delayed_threads的同義詞。作用範圍為全局級别,動态變量。
max_join_size=#
設定SELECT語句執行時所能夠檢查的行數(單表)或行組合(多表查詢)的最大值。此參數可以阻止對鍵的錯誤使用而導緻的需要執行較長時間的查詢操作,是以,其尤其适用于有使用者經常使用不帶WHERE子句的查詢場景中。有效取值範圍為1-18446744073709551615,預設為18446744073709551615,這可以被了解為不限制。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
max_length_for_sort_data=#
filesort算法改進版所能夠使用的字段最大長度值。有效取值範圍是4-8388608。MySQL的filesort算法有兩個版本,即原始版本和修改版本,字段長度大于max_length_for_sort_data設定的将使用原始版本,小于此參數值的則使用修改版本在排序緩沖(sort buffer)中完成排序。在使用超出字段超出指定長度時使用修改版本算法,由于可能需要更多的I/O操作,将會導緻修改版算法執行速度更慢,而不是更快。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
max_long_data_size=#
設定可以由mysql_stmt_send_long_data()這個C API函數所傳送的參數值的最大長度,如果沒有在mysqld啟動時設定,其預設為max_allowed_packet變量的值。MySQL 5.6已經棄用此變量。 作用範圍為全局級别,可用于配置檔案,屬非動态變量。
max_prepared_stmt_count={0..1048576}
設定mysqld所允許的所有連接配接會話中執行的準備語句的總數。大量的準備語句同時執行會消耗大量的記憶體資源,這會帶來潛在的“拒絕服務”的風險,是以,應該根據生産需要仔細設定此參數的值。如果新設定的值低于目前已經打開的準備語句總數,其不會對原有的語句産生影響,但不再接受新的執行請求,直到有新的空餘額度。預設值是16382,0表示禁用準備語句。作用範圍為全局級别,可用于配置檔案,屬動态變量。
max_relay_log_size={4096..1073741824}
設定從伺服器上中繼日志的體積上限,到達此限度時其會自動進行中繼日志滾動。此參數值為0時,mysqld将使用max_binlog_size參數同時為二進制日志和中繼日志設定日志檔案體積上限。作用範圍為全局級别,可用于配置檔案,屬動态變量。
max_seeks_for_key={1 .. 18446744073709547520}
設定基于某key執行查詢時所允許的最大查找次數。在通過掃描索引的方式在某表中搜尋與查詢條件比對的行時,無論其索引的基數是什麼,MySQL優化器都會假定其查找次數不需要超過此參數設定的數值。較小的值可以強制MySQL更傾向于索引掃描而非表掃描。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
max_sort_length={4 .. 8388608}
設定mysqld執行數值排序時所使用的位元組數,剩餘的将被忽略。作用範圍為全局級别,可用于配置檔案,屬動态變量。
max_sp_recoursion_depth={0 .. 255}
設定存儲過程可被遞歸調用的最大次數。遞歸調用會增大對線程棧空間的需要,是以,增大此參數的值,可能還需要在啟動時調整thread_stack參數的值。預設值為0,表示禁止遞歸;最大值為255。作用範圍為全局級别,可用于配置檔案,屬動态變量。
max_user_connections={ 0 .. 4294967295 }
設定單個使用者允許同時向mysqld發起的最大并發連接配接請求個數。預設值為0,表示無上限。可為mysqld為此參數指定全局(GLOBAL)參數值,也可将某使用者帳号的此參數值設定為隻讀以為其設定有效并發上限(通過GRANT語句實作)。這意味着,如果使用者的此參數有個非0值,則以此限定為準;否則,mysqld會将使用者的此參數值設定為全局值。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
max_write_lock_count=#
mysqld已施加的寫鎖個數達到此參數值指定的個數時,将允許處理一些挂起的讀請求。其最小值為1,最大值取決于平台字長。作用範圍為全局級别,屬非動态變量。
metadata_locks_cache_size={1 .. 1048576}
設定mysqld中繼資料鎖緩存的上限。此緩存可用來避免建立或銷毀同步對象(synchronization object),這對于此類操作代價較高的作業系統(如Windows XP)來說尤為有用。預設值為1024。作用範圍為全局級别,屬非動态變量。
min_examined_row_limit=#
所檢查的行數低于此參數設定的數值的查詢操作将不被記入慢查詢日志。預設值為0,最大值取決于平台字長。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
myisam_data_point_size={2 .. 7}
建立MyISAM表時如果沒有設定MAX_ROWS選項,則通過此參數設定其預設指針的大小,機關為位元組。預設值是6。作用範圍為全局級别,可用于配置檔案,屬動态變量。
myisam_max_sort_file_size=#
設定在MySQL在使用REPARE TABLE、ALTER TABLE或LOAD DATA INFILE指令時為MyISAM表重新建立索引所能夠使用的臨時檔案的體積上限,機關是位元組。如果臨時檔案的大小大過了此上限值,則mysqld會使用key cache建立索引。預設值是2G,而如果MyISAM索引檔案本身大過此值且其所在的檔案系統有足夠的空閑空間,增大此值會提升MySQL性能。作用範圍為全局級别,可用于配置檔案,屬動态變量。
myisam_mmap_size=#
設定基于記憶體映射壓縮MyISAM檔案時可以使用的記憶體上限。在有着很多壓縮格式MyISAM表的場景中,降低此值可以幫助減少出現記憶體交換的可能性。其最小值為7,預設值和最大值取決于平台位數。作用範圍為全局級别,可用于配置檔案,屬非動态變量。
myisam_recover_options
用于儲存mysqld指令行選項--myisam-revover-options的值。此選項用于設定MyISAM存儲引擎的恢複模式,其可接受的值有OFF、DEFAULT(恢複模式,但無備份、強制或快速檢測)、BACKUP(如果恢複過程中資料發生了改變,則将原表檔案備份為table_name-datatime.BAK)、FORCE(強制恢複,哪怕會丢失資料)和QUICK(快速修複),可以以逗号為分隔為此選項同時指定多個值。也可以不為其提供任何參數值,預設為DEFAULT,而“”則表示為OFF,即禁用恢複模式。
如果啟用恢複模式,mysqld每次打開一個MyISAM表時都會檢測其是否标記為損壞或非正常關閉。如果損壞,則mysqld會嘗試修複它;如果為非正常關閉,mysqld将會對其進行檢測。
myisam_repair_threads=#
在通過排序修複過程中為MyISAM表建立索引的線程的個數,預設為1;如果給定大于1的值,則可以啟動多個并行建立索引的線程(每個索引隻能由一個線程建立)。最大值取決于平台位數。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
myisam_sort_buffer_size=#
在REPAIR TABLE過程中,或通過CREATE INDEX/ALTER TABLE為MyISAM表添加索引時為了對索引排序所能夠使用的緩沖空間大小。最小值為4,32位系統上所能夠使用的最大值為4294967295,即4G;64位系統上可以使用更大的空間。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
myisam_stats_method={nulls_equal|nulls_unequal|nulls_ignored}
定義在為MyISAM表收集索引分布相關的統計資訊時處理NULL值的方式。nulls_equal表示所有的NULL值都視作相同值,nulls_unequal表示所有的NULL值都視作不同值,nulls_ignored表示所有的NULL值都将被忽略。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量。
myisam_use_mmap={ON|OFF}
在讀寫MyISAM表時能否使用記憶體映射。預設值為OFF。作用範圍為全局級别,可用于配置檔案,屬動态變量。
net_buffer_length={1024 .. 1048576}
每個用戶端線程都有一個連接配接緩沖(connection buffer)和一個結果緩沖(result buffer),此參數可以設定這兩個緩沖的大小,但它們都可以按需動态增長至max_allowed_packet參數所設定的大小。但每個SQL語句完成後,結果緩沖都會收縮至net_buffer_length參數所定義的大小。一般說來不需要修改此參數的值,除非是記憶體資源較吃緊的場景中可以将其調小至用戶端預期的SQL語句長度。如SQL語句超出此長度,連接配接緩沖會自動調節其值。其預設值為16384,機關是位元組。作用範圍為全局或會話級别,可用于配置檔案,屬動态變量,但對于會話級别來說,此變量是隻讀的。
net_read_timeout=#
設定mysqld等待從用戶端接收更多資料的逾時時長,預設值為30。作用範圍為全局和會話級别,可用于配置檔案,屬動态變量。
net_write_timeout=#
設定mysqld等待向用戶端傳輸資料的逾時時長,預設值為60。作用範圍為全局和會話級别,可用于配置檔案,屬動态變量。
net_retry_timeout=#
設定mysqld與用戶端的通訊中斷時,其中止與用戶端的連接配接之前需要重試的次數。預設值為10,其最大取值取決于平台位數。作用範圍為全局和會話級别,可用于配置檔案,屬動态變量。
new={ON|OFF}
用于MySQL 4.0中以啟用支援MySQL 4.1版本上的某些新特性的能力,但仍然可以保持向後相容。在MySQL 5.5無須設定,故其值為OFF。
old={ON|OFF}
用于定義相容老版本MySQL的變量,預設是禁用的,但可以在mysqld啟動時将其啟用以相容較老的MySQL版本。
本文轉自 曾哥最愛 51CTO部落格,原文連結:http://blog.51cto.com/zengestudy/1903285,如需轉載請自行聯系原作者