日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

MySQL配置文件mysql.ini參數(shù)詳解

 peijs5201314 2014-11-18

my.ini(Linux系統(tǒng)下是my.cnf),當(dāng)mysql服務(wù)器啟動(dòng)時(shí)它會(huì)讀取這個(gè)文件,設(shè)置相關(guān)的運(yùn)行環(huán)境參數(shù)。

   my.ini分為兩塊:Client Section和Server Section。
   Client Section用來(lái)配置MySQL客戶(hù)端參數(shù)。
   要查看配置參數(shù)可以用下面的命令:

show variables like '%innodb%';  
查看innodb相關(guān)配置參數(shù)

show status like '%innodb%';  
查看innodb相關(guān)的運(yùn)行時(shí)參數(shù)(比如當(dāng)前正在打開(kāi)的表的數(shù)量,當(dāng)前已經(jīng)打開(kāi)的表的數(shù)量)

show global status like 'open%tables';  
查看全局的運(yùn)行時(shí)參數(shù),加上global是對(duì)當(dāng)前mysql服務(wù)器中運(yùn)行的所有數(shù)據(jù)庫(kù)實(shí)例進(jìn)行統(tǒng)計(jì),不加global則只對(duì)當(dāng)前數(shù)據(jù)庫(kù)實(shí)例進(jìn)行統(tǒng)計(jì)。


1、Client Section

   要查看配置參數(shù)可以用下面的命令:

show variables like '%innodb%';  
查看innodb相關(guān)配置參數(shù)
show status
like '%innodb%';  
查看innodb相關(guān)的運(yùn)行時(shí)參數(shù)(比如當(dāng)前正在打開(kāi)的表的數(shù)量,當(dāng)前已經(jīng)打開(kāi)的表的數(shù)量)
show global status
like 'open%tables';  
查看全局的運(yùn)行時(shí)參數(shù),加上global是對(duì)當(dāng)前mysql服務(wù)器中運(yùn)行的所有數(shù)據(jù)庫(kù)實(shí)例進(jìn)行統(tǒng)計(jì),不加global則只對(duì)當(dāng)前數(shù)據(jù)庫(kù)實(shí)例進(jìn)行統(tǒng)計(jì)。


2、Server Section

[mysqld]
port=3306   
mysql服務(wù)端默認(rèn)監(jiān)聽(tīng)(listen on)的TCP/IP端口

basedir="C:/Program Files/MySQL/MySQL Server 5.5/"   
基準(zhǔn)路徑,其他路徑都相對(duì)于這個(gè)路徑

datadir="C:/Program Files/MySQL/MySQL Server 5.5/Data"   
mysql數(shù)據(jù)庫(kù)文件所在目錄

character-set-server=latin1   
服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集

default-storage-engine=INNODB   
創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"   
SQL模式為strict模式

max_connections=100   
mysql服務(wù)器支持的最大并發(fā)連接數(shù)(用戶(hù)數(shù)),但總會(huì)預(yù)留其中的一個(gè)連接給管理員使用超級(jí)權(quán)限登錄,即使連接數(shù)目達(dá)到最大限制。如果設(shè)置得過(guò)小而用戶(hù)比較多,會(huì)經(jīng)常出現(xiàn)“Too many connections”錯(cuò)誤。

query_cache_size=0   
查詢(xún)緩存大小,用于緩存SELECT查詢(xún)結(jié)果。如果有許多返回相同查詢(xún)結(jié)果的SELECT查詢(xún),并且很少改變表,可以設(shè)置query_cache_size大于0,可以極大改善查詢(xún)效率。而如果表數(shù)據(jù)頻繁變化,就不要使用這個(gè),會(huì)適得其反

table_cache=256   
這個(gè)參數(shù)在5.1.3之后的版本中叫做table_open_cache,用于設(shè)置table高速緩存的數(shù)量。由于每個(gè)客戶(hù)端連接都會(huì)至少訪(fǎng)問(wèn)一個(gè)表,因此此參數(shù)的值與max_connections有關(guān)。當(dāng)某一連接訪(fǎng)問(wèn)一個(gè)表時(shí),MySQL會(huì)檢查當(dāng)前已緩存表的數(shù)量。如果該表已經(jīng)在緩存中打開(kāi),則會(huì)直接訪(fǎng)問(wèn)緩存中的表已加快查詢(xún)速度;如果該表未被緩存,則會(huì)將當(dāng)前的表添加進(jìn)緩存并進(jìn)行查詢(xún)。在執(zhí)行緩存操作之前,table_cache用于限制緩存表的最大數(shù)目:如果當(dāng)前已經(jīng)緩存的表未達(dá)到table_cache,則會(huì)將新表添加進(jìn)來(lái);若已經(jīng)達(dá)到此值,MySQL將根據(jù)緩存表的最后查詢(xún)時(shí)間、查詢(xún)率等規(guī)則釋放之前的緩存。

tmp_table_size=34M   
內(nèi)存中的每個(gè)臨時(shí)表允許的最大大小。如果臨時(shí)表大小超過(guò)該值,臨時(shí)表將自動(dòng)轉(zhuǎn)為基于磁盤(pán)的表(Disk Based Table)。

thread_cache_size=8   
緩存的最大線(xiàn)程數(shù)。當(dāng)客戶(hù)端連接斷開(kāi)時(shí),如果客戶(hù)端總連接數(shù)小于該值,則處理客戶(hù)端任務(wù)的線(xiàn)程放回緩存。在高并發(fā)情況下,如果該值設(shè)置得太小,就會(huì)有很多線(xiàn)程頻繁創(chuàng)建,線(xiàn)程創(chuàng)建的開(kāi)銷(xiāo)會(huì)變大,查詢(xún)效率也會(huì)下降。一般來(lái)說(shuō)如果在應(yīng)用端有良好的多線(xiàn)程處理,這個(gè)參數(shù)對(duì)性能不會(huì)有太大的提高。


# MyISAM相關(guān)參數(shù)
myisam_max_sort_file_size=100G   
mysql重建索引時(shí)允許使用的臨時(shí)文件最大大小

myisam_sort_buffer_size=68M

key_buffer_size=54M   
Key Buffer大小,用于緩存MyISAM表的索引塊。決定數(shù)據(jù)庫(kù)索引處理的速度(尤其是索引讀)

read_buffer_size=64K   
用于對(duì)MyISAM表全表掃描時(shí)使用的緩沖區(qū)大小。針對(duì)每個(gè)線(xiàn)程進(jìn)行分配(前提是進(jìn)行了全表掃描)。進(jìn)行排序查詢(xún)時(shí),MySql會(huì)首先掃描一遍該緩沖,以避免磁盤(pán)搜索,提高查詢(xún)速度,如果需要排序大量數(shù)據(jù),可適當(dāng)調(diào)高該值。但MySql會(huì)為每個(gè)客戶(hù)連接發(fā)放該緩沖空間,所以應(yīng)盡量適當(dāng)設(shè)置該值,以避免內(nèi)存開(kāi)銷(xiāo)過(guò)大。

read_rnd_buffer_size=256K

sort_buffer_size=256K   
connection級(jí)參數(shù)(為每個(gè)線(xiàn)程配置),500個(gè)線(xiàn)程將消耗500*256K的sort_buffer_size。


# InnoDB相關(guān)參數(shù)
innodb_additional_mem_pool_size=3M   
InnoDB用于存儲(chǔ)元數(shù)據(jù)信息的內(nèi)存池大小,一般不需修改

innodb_flush_log_at_trx_commit =1   
事務(wù)相關(guān)參數(shù),如果值為1,則InnoDB在每次commit都會(huì)將事務(wù)日志寫(xiě)入磁盤(pán)(磁盤(pán)IO消耗較大),這樣保證了完全的ACID特性。而如果設(shè)置為0,則表示事務(wù)日志寫(xiě)入內(nèi)存log和內(nèi)存log寫(xiě)入磁盤(pán)的頻率都為1次/秒。如果設(shè)為2則表示事務(wù)日志在每次commit都寫(xiě)入內(nèi)存log,但內(nèi)存log寫(xiě)入磁盤(pán)的頻率為1次/秒。

innodb_log_buffer_size=2M   
InnoDB日志數(shù)據(jù)緩沖大小,如果緩沖滿(mǎn)了,就會(huì)將緩沖中的日志數(shù)據(jù)寫(xiě)入磁盤(pán)(flush)。由于一般至少都1秒鐘會(huì)寫(xiě)一次磁盤(pán),所以沒(méi)必要設(shè)置過(guò)大,即使是長(zhǎng)事務(wù)。

innodb_buffer_pool_size=105M  
InnoDB使用緩沖池來(lái)緩存索引和行數(shù)據(jù)。該值設(shè)置的越大,則磁盤(pán)IO越少。一般將該值設(shè)為物理內(nèi)存的80%。

innodb_log_file_size=53M  
每一個(gè)InnoDB事務(wù)日志的大小。一般設(shè)為innodb_buffer_pool_size的25%到100%


innodb_thread_concurrency=9  
InnoDB內(nèi)核最大并發(fā)線(xiàn)程數(shù)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(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)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多