mysql -a 参数_mysql参数及解释
key_buffer_size:(global、Dynamic)#*** MyISAM特有的選項。即使你不使用MyISAM表,你仍應(yīng)該將它設(shè)置為8-64M,因為它也被用于內(nèi)部的臨時磁盤表。這個參數(shù)是用來設(shè)置索引塊(index blocks)緩存的大小,它被所有線程共享,嚴格說是它決定了數(shù)據(jù)庫索引處理的速度,尤其是索引讀的速度。若果應(yīng)用系統(tǒng)的表基本上都是myisam表,可以將這個值設(shè)為機器內(nèi)存的25%。
max_allowed_packet:(global、Dynamic) #**通用配置選項,能夠處理的最大通信信息包大小,在客戶端或者服務(wù)器端都可以設(shè)置,默認為16M。
table_open_cacheglobal、Dynamic)#**通用配置選項,參數(shù)設(shè)置表高速緩存的數(shù)目。每個連接進來,都會至少打開一個表緩存。因此,table_cache的大小應(yīng)與max_connections的設(shè)置有關(guān)。例如,對于200個并行運行的連接,應(yīng)該讓表的緩存至少有200×N,這里N是應(yīng)用可以執(zhí)行的查詢的一個聯(lián)接中表的最大數(shù)量。此外,還需要為臨時表和文件保留一些額外的文件描述符。MySQL Open_tables表示打開表的數(shù)量,如果MySQL Opened_tables數(shù)量過大,說明配置中table_cache(5.1.3之后這個值叫做table_open_cache)值可能太小
Sort_Buffer_Size(Both、Dynamic)#**通用配置,是一個connection級參數(shù),在每個connection第一次需要使用這個buffer的時候,一次性分配設(shè)置的內(nèi)存
net_buffer_length(Both、Dynamic),用于建立連接時的連接緩沖和結(jié)果緩沖。最小值是1K,最大值是1M。(可以加快mysqldump的導(dǎo)入導(dǎo)出速度)
read_buffer_size(Both、Dynamic) #*** MyISAM特有的選項,用于進行MyISAM表全表掃描的緩沖區(qū)大小。,如果全表掃描是需要的,將分配給每個線程。
read_rnd_buffer_size(Both、Dynamic)#*** MyISAM特有的選項,當在一個有序的排序中讀取行時,可以通過該緩沖區(qū)來讀取行,以避免對磁盤的查找。如果將該值設(shè)置為一個很高的值,你可以大幅度提高ORDER BY的性能。當需要時,分配給每個線程。
myisam_sort_buffer_size(Both、Dynamic)#*** MyISAM特有的選項,當MySQL需要通過REPAIR、OPTIMIZE、ALTER表語句重建索引,以及LOAD DATA INFILE到一個空表時,該緩沖區(qū)被分配。它是給每個線程分配的,因此小心比較大的設(shè)置。
log-bin#**通用配置選項啟用二進制日志。這在一個復(fù)制配置中,對于充當MASTER的是必要的。如果你需要有能力及時從你最后的備份點中進行恢復(fù),你也需要二進制日志。
binlog_format#**通用配置選項,推薦的二進制日志格式
binlog_cache_size#**通用配置選項,在一個事務(wù)中能夠為二進制日志SQL語句保持的緩存大小。如果你經(jīng)常使用大的、多語句的事務(wù),你可以提高該值以獲得更好的性能。來自事務(wù)的所有語句被緩沖到二進制日志緩存,并在COMMIT之后立即被寫入到二進制日志中。如果事務(wù)大于該值,磁盤上的臨時文件將被替代使用。該緩沖在事務(wù)中第一個更新語句時分配給每個連接
max_connections #**通用配置選項, MySQL允許的并發(fā)會話的最大數(shù)量。其中的一個連接將被保留給擁有SUPER特權(quán)的用戶,即使已經(jīng)到達了連接限制,仍可以允許管理者登錄。
max_connect_errors#**通用配置選項,每個主機允許的最大錯誤數(shù)量。如果已到達該限制,主機將阻止對MySQL服務(wù)器的連接,直到運行“FLUSH HOSTS”或者服務(wù)器被重啟。在連接階段的無效密碼和其它錯誤將導(dǎo)致該值被提高。請看全局計數(shù)器的“Aborted_connects”狀態(tài)變量。
log-bin-trust-function-creators#**通用配置選項,二進制日志打開時有效,該參數(shù)決定存儲函數(shù)創(chuàng)建者是否可以創(chuàng)建會導(dǎo)致不安全的時間記錄到二進制日志的存儲函數(shù)。當為0時,此時這也是默認值,除了擁有super權(quán)限除了create routine或alter routine權(quán)限.同時也會強制函數(shù)必須和deterministic或reads sql data又或者no sql的字符集一致.當設(shè)為1時MySQL不會去限制這些,這個變量同樣作用于觸發(fā)器
slow_query_log #**通用配置選項,記錄慢查詢。慢查詢是指消耗時間超過“l(fā)ong_query_time”中定義的總時間的查詢,或者如果log_short_format沒有啟用,不使用索引的查詢。如果你頻繁地添加新查詢到系統(tǒng)中,打開這個是一個比較好的注意。
slow_query_log_file #**通用配置選項,用于指定慢查詢?nèi)罩镜奈募窂胶臀募?/p>
long_query_time #**通用配置選項,所有消耗時間超過該總時間的查詢都將被視為是緩慢的。不要在這里使用“1”值,因為這會導(dǎo)致甚至非??斓牟樵兌紩徊粫r地被記錄(MySQL當前的度量時間只精確到秒)。
log-queries-not-using-indexes#**通用配置選項,用于把所有沒有使用索引的查詢也記錄到慢查詢?nèi)罩局?/p>
transaction_isolation#**通用配置選項,設(shè)置默認的事務(wù)隔離等級。可用的級別有:READ-UNCOMMITTED、READ-COMMITTED、REPEATABLE-READ、SERIALIZABLE。
query_cache_size #**通用配置選項,指定MySQL查詢緩沖區(qū)的大小??梢酝ㄟ^在MySQL控制臺執(zhí)行以下命令觀察:# > SHOW VARIABLES LIKE '%query_cache%';
# > SHOW STATUS LIKE 'cache%';
如果cache_lowmem_prunes的值非常大,則表明經(jīng)常出現(xiàn)緩沖不夠的情況;如果cache_hits的值非常大,則表明查詢緩沖使用非常頻繁,如果該值較小反而會影響效率,那么可以考慮不用查詢緩沖;cache_free_blocks,如果該值非常大,則表明緩沖區(qū)中碎片很多。
query_cache_limit#**通用配置選項,只緩存結(jié)果集是小于該限制的。這可以保護一個非常大結(jié)果集的查詢緩存覆蓋所有其它查詢結(jié)果。
query_cache_type#**通用配置選項,指定是否使用查詢緩沖1使用,0不使用
init_connect#**通用配置選項,服務(wù)器為每個連接的客戶端執(zhí)行的字符串。字符串由一個或多個SQL語句組成。要想指定多個語句,用分號間隔開。
bind-address #**通用配置選項,綁定MySQL服務(wù)器的IP地址。如果MySQL服務(wù)器所在的計算機有多個IP地址,這個選項將非常重要。
ft_min_word_len#**通用配置選項,全文索引的最小單詞長度工。這個選項的默認設(shè)置是4,意思是在創(chuàng)建全文索引時不考慮那些由3個或更少的字符構(gòu)建單詞。
thread_concurrency #**通用配置選項,這個函數(shù)使應(yīng)用程序給同一時間運行的線程系統(tǒng)提供期望的線程數(shù)目。該值只在支持thread_concurrency()函數(shù)調(diào)用的系統(tǒng)上有意義(例如Sun Solaris)。你應(yīng)該對thread_concurrency嘗試CPU數(shù)量的2/4/6/...倍。
join_buffer_size #**通用配置選項,該緩沖被用來優(yōu)化FULL JOIN(沒有索引的JOIN)。無論如何,該JOIN在大多數(shù)情況下對性能是非常壞的,但是設(shè)置該變量為一個大值將減少對性能的影響。請看針對一定數(shù)量的FULL JOIN的“Select_full_join”狀態(tài)變量。如果FULL JOIN被發(fā)現(xiàn),將分配給每個線程
thread_cache_size#**通用配置選項,我們保持在一個緩存中的可重用的線程數(shù)。當一個客戶端斷開連接時,如果在這之前的線程沒有超過thread_cache_size,客戶端的線程將放在緩存中。根據(jù)物理內(nèi)存設(shè)置規(guī)則如下:1G---> 8? 2G? ---> 16 ?3G? ---> 32 ?>3G? ---> 64
thread_stack #**通用配置選項,使用的線程堆棧大小。該內(nèi)存量總是在連接時間被保留的。MySQL自己通常需要不超過64K的內(nèi)存,然而如果你使用的是你自己的堆棧UDF函數(shù)或者你的系統(tǒng)針對某些操作需要更多堆棧,你可能需要設(shè)置該值為一個更高的值。
tmp_table_size#**通用配置選項,tmp_table_size內(nèi)部(內(nèi)存中的)臨時表的最大容量。如果一個表的增長超過該值,它將自動地轉(zhuǎn)換到基于磁盤的表。該限制是針對一個單一的表,但可以有很多這樣的表。
basedir #**通用配置選項,該參數(shù)指定了安裝MySQL的安裝路徑,填寫全路徑可以解決相對路徑所造成的問題。
datadir#**通用配置選項,該參數(shù)指定了MySQL的數(shù)據(jù)庫文件放在什么路徑下。數(shù)據(jù)庫文件即我們常說的MySQL data文件。
wait_timeout#**通用配置選項,服務(wù)器關(guān)閉非交互連接之前等待活動的秒數(shù)。
skip-name-resolve #**通用配置選項,mysql接收到連接請求后,獲得的是客戶端的ip,為了更好的匹配mysql.user里的權(quán)限記錄(某些是用hostname定義的)。如果mysql服務(wù)器設(shè)置了dns服務(wù)器,并且客戶端ip在dns上并沒有相應(yīng)的hostname,那么這個過程很慢,導(dǎo)致連接等待。添加skip-name-resolve以后就跳過著一個過程了。
log_long_format#**通用配置選項,打開此項會記錄使得那些沒有使用索引的查詢也被作為到慢速查詢附加到慢速日志里
relay-log#**通用配置選項,從服務(wù)器I/O線程將主服務(wù)器的二進制日志讀取過來記錄到從服務(wù)器本地文件,然后SQL線程會讀取relay-log日志的內(nèi)容并應(yīng)用到從服務(wù)器
relay-log-index#**通用配置選項,作為slave的時候存放binlog的索引文件
skip-slave-start#**通用配置選項,告訴從服務(wù)器當服務(wù)器啟動時不啟動從服務(wù)器線程。使用START SLAVE語句在以后啟動線程。
innodb_data_home_dir #**innodb配置選項,如果你希望InnoDB表空間文件存儲到其它的地方,設(shè)置該選項。默認的是MySQL數(shù)據(jù)目錄。
innodb_data_file_path #**innodb配置選項,InnoDB存儲數(shù)據(jù)到一個或多個數(shù)據(jù)文件,形成表空間。如果對于你對你的數(shù)據(jù)有一個單一的物理設(shè)備,那么一個單一的自動擴展文件就已經(jīng)足夠了。在其它情況下,每設(shè)備一個單一文件是一個非常好的選擇。你也可以配置InnoDB來使用原始的磁盤分區(qū)-請參考手冊以獲取更多有關(guān)這個的信息
innodb_log_group_home_dir#**innodb配置選項, InnoDB日志文件的位置。默認為MySQL的數(shù)據(jù)目錄。你可能希望指定它到一個專用的硬盤或一個RAID1卷標來改善性能。
innodb_additional_mem_pool_size#**innodb配置選項,該參數(shù)指定InnoDB用來存儲數(shù)據(jù)字典和其他內(nèi)部數(shù)據(jù)結(jié)構(gòu)的內(nèi)存池大小。缺省值是1M。通常不用太大,只要夠用就行,應(yīng)該與表結(jié)構(gòu)的復(fù)雜度有關(guān)系。如果不夠用,MySQL會在錯誤日志中寫入一條警告信息。根據(jù)MySQL手冊,對于2G內(nèi)存的機器,推薦值是20M。
innodb_buffer_pool_size(GLOBAL、STATIC) #**innodb配置選項,InnoDB,不像MyISAM,使用一個緩沖池來緩存索引和行數(shù)據(jù)。你將該值設(shè)得越大,在表中訪問需要的數(shù)據(jù)時,磁盤I/O就越少。在一個專用的數(shù)據(jù)庫服務(wù)器上,你可以設(shè)置該參數(shù)到機器物理內(nèi)存大小的80%。不要把它設(shè)置得太大,因為物理內(nèi)存的競爭可能導(dǎo)致操作系統(tǒng)中的分頁。注意,在32位的系統(tǒng)上,你可能在每個處理器的用戶級內(nèi)存上被限制在2-3.5G,因此不要把它設(shè)置得太高。
innodb_file_io_threads #**innodb配置選項,InnoDB,異步IO操作所使用的IO線程數(shù)。該值在Unix系統(tǒng)上被硬編碼為4,但在Windows上,磁盤I/O可能受益于一個更大的數(shù)字。
innodb_thread_concurrency(GLOBAL、Dynamic) #**innodb配置選項,InnoDB內(nèi)核里面允許的線程數(shù)量。最佳的值高度取決于應(yīng)用程序、硬件以及操作系統(tǒng)的調(diào)度屬性。一個太高的值可能導(dǎo)致線程顛簸。
innodb_flush_log_at_trx_commit(GLOBAL、Dynamic) #**innodb配置選項,如果設(shè)置為1,InnoDB在每次提交(提供完整的ACID行為)時刷新事務(wù)日志到磁盤。如果你想安全地進行折中,并且你正在運行小事務(wù),你可以為0或2來減少日志的磁盤I/O。值0表示日志只被寫入到日志文件,并且日志文件大約每秒一次刷新到磁盤。值2表示日志在每次提交時被寫入到日志文件,但是日志文件只是大約每秒一次被刷新到磁盤。
innodb_log_buffer_size(GLOBAL、Dynamic) #**innodb配置選項,InnoDB緩沖日志數(shù)據(jù)所使用的緩沖區(qū)大小。一旦它滿了,InnoDB將刷新它到磁盤。因為不管怎么它都是每秒刷新一次,所以沒有必要讓它變得很大(甚至是很長的事務(wù))。
innodb_log_file_size(GLOBAL、Dynamic)#**innodb配置選項,一個日志組中每個日志文件的大小。你可以設(shè)置日志文件的聯(lián)合大小為你的緩沖池大小的25%-100%,以避免對日志文件不必要的緩沖池動態(tài)刷新重寫。然而,注意,一個更大的日志文件大小將增加恢復(fù)處理所需的時間。
innodb_log_files_in_group(GLOBAL、Dynamic)#**innodb配置選項,日志組中文件的總數(shù)。通常值為2-3就已足夠了。
innodb_max_dirty_pages_pct(GLOBAL、Dynamic)#**innodb配置選項,InnoDB緩沖池中允許的臟頁面的最大百分比。如果它到達了,InnoDB將開始積極地清理它們,以避免消耗完所有的干凈頁面。這是一個軟限制,不保證能夠一直保持。
innodb_lock_wait_timeout(Both、Dynamic)? #**innodb配置選項,一個InnoDB事務(wù)應(yīng)等待的在回滾之前被授權(quán)鎖定的時長。InnoDB在它自己的鎖定表中自動地檢測事務(wù)死鎖,并回滾事務(wù)。如果你在相同的事務(wù)中使用LOCK TABLES命令,或者其它比InnoDB更加事務(wù)安全的存儲引擎,那么稍后會出現(xiàn)InnoDB不能提示的死鎖。如果像這樣,超時對于解決問題是很有用的。
log-slave-updates(配置文件使用) #**通用配置選項,配置從庫上的更新操作是否寫二進制文件,如果這臺從庫,還要做其他從庫的主庫,那么就需要打這個參數(shù),以便從庫的從庫能夠進行日志同步這個參數(shù)要和—logs-bin一起使用。
slave-skip-errors(配置文件使用)#**通用配置選項,在復(fù)制過程,由于各種原因?qū)е耣inlog中的sql出錯,默認情況下,從庫會停止復(fù)制,要用戶介入??梢栽O(shè)置Slave-skip-errors來定義錯誤號,如果復(fù)制過程中遇到的錯誤號是定義的錯誤號,便可以跳過。如果從庫是用來做備份,設(shè)置這個參數(shù)會存在數(shù)據(jù)不一致,不要使用。如果是分擔主庫的查詢壓力,可以考慮。
sync_binlog(GLOBAL、Dynamic)? #**通用配置選項,這個參數(shù)對于mysql系統(tǒng)來說是至關(guān)重要的,它不僅影響binlog對mysql所帶來的性能損耗,而且還影響Mysql中數(shù)據(jù)的完整性。對于”sync_binlog“參數(shù)說明”sync_binlog=0當事物提交之后,mysql僅僅是將binlog_cache中的數(shù)據(jù)寫入binlog文件。但不執(zhí)行fsync之類的磁盤同步指令通知文件系統(tǒng)將緩存刷新到磁盤而讓Filesystem自行決定什么時候做同步sync_binlog=n。在進行n次事物提交之后,mysql將執(zhí)行一次fsync之類的磁盤同步指令,通知文件系統(tǒng)將binlog文件的緩存刷新到磁盤。
auto_increment_increment=2 (Both、Dynamic)#**通用配置選項,自增長ID,必須相同,兩臺就為2,三臺就為3,如果就主從就可以不設(shè)置
auto_increment_offset=1(Both、Dynamic)
#**通用配置選項,自增長的起始位置這里為1,第二臺就必須為2
總結(jié)
以上是生活随笔為你收集整理的mysql -a 参数_mysql参数及解释的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 迟纳金是什么意思
- 下一篇: C/C++:多个.cpp文件包括同一个.