my.cnf部分參數詳解

[mysqld]

連接相關:

wait_timeout = 1800 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??????

interactive_timeout=1800????????????

這兩個參數都是表示連接最大空閑時長,區(qū)別:interactive_timeout針對交互式連接(客戶端),wait_timeout針對非交互式連接(程序)。

connect_timeout:重連超時時間

back_log =500:MySQL暫時停止回答新請求之前(MySql的連接數達到max_connections時)的短時間內多少個請求可以被存在堆棧中

max_connections:服務器最大并發(fā)連接數

max_user_connections:每個數據庫用戶的最大連接,注意是以用戶+主機為單位

I/O相關:

innodb_flush_log_at_trx_commit=1:redo刷盤策略

sync_binlog=1:binlog刷盤策略

如果要求數據不能丟失,那么兩個都設為1。如果允許丟失一點數據,則可分別設為2和10。而如果完全不用care數據是否丟失的話(例如在slave上,反正大不了重做一次),則可都設為0。這三種設置值導致數據庫的性能受到影響程度分別是:高、中、低,也就是第一個會另數據庫最慢,最后一個則相反;

per_thread_buffer相關(每個連接的用戶進程分配的內存):

read_buffer_size:用于表的順序掃描,比如全表掃描時讀取的數據塊會暫存在這里,寫滿后返回給調用者。一般配置128-256K

read_rnd_buffer_size:用于表的隨機讀取,比如按非索引字段排序時,會用到這個緩沖區(qū)暫存讀取的數據。一般在128-256K

sort_buffer_size:無索引排序操作緩存,128-256K

thread_stack:每個線程的堆棧大小,256K

join_buffer_size:關聯字段無索引會用到using_join_buffer,256K

binlog_cache_size:無大事務,寫入不頻繁,設置為2M左右,否則可適當增加

global_buffer相關:

innodb_buffer_pool_size:innodb核心內存參數,一般設置為系統(tǒng)內存60%-80%

innodb_log_buffer_size:innodb寫redo時,為了提高性能,先將信息寫入該緩存,根據innodb_flush_log_at_trx_commit策略刷入磁盤,一般設置16-64M

key_buffer_size:緩存MyISAM存儲引擎的索引參數,就算innodb引擎,內部磁盤臨時表是myisam,64M

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容