mysql需要調整的參數

來源:互聯網
上載者:User

標籤:mysql需要調整的參數

Mysql需要調整的參數

 

#以 mysql 5.6版本樣本講解

 

一、Innodb設定

innodb_buffer_pool_size:儲存innodb資料和索引在該buffer中,

對專用mysql伺服器,推薦50-80%實體記憶體大小,

如 5-6GB (8GB RAM), 20-25GB (32GB RAM),

100-120GB(128GB RAM) 。

 

innodb_log_file_size:  控制redo日誌的大小,redo日誌可以加速寫,

持久性和crash恢複。通常使用兩個檔案,mysql 5.5總的redo日誌限制為4GB,對寫負載型的應用,應該增加該值,使後台檢查點活動減少,提高效能,如4G左右,太大將使故障恢複需要更長的時間。

 

innodb_flush_method:   控制資料和日誌怎樣重新整理到磁碟,如果使用了RAID控制器,

應該使用O_DIRECT。

 

innodb_flush_neighbors:如果是SSD可以關閉,對連續IO沒有任何效能改善。

 

innodb_io_capacity和innodb_io_capacity_max:設定每秒有多少後台線程工作,

根據硬體的能力進行設定。

 

innodb_lru_scan_depth:如果增加innodb_io_capacity,也要增加該值

 

innodb_file_per_table:設定為ON,每個表使用獨立的.ibd檔案儲存體資料和索引,允許當dropping、truncating或rebuilding表時回收再利用剩餘空間,也能支援擴充的特性如壓縮。

 

innodb_flush_log_at_trx_commit:預設為1,意味著Innodb是完全遵守ACID特性,重新整理每個改變到redo日誌;設定為2,每秒重新整理一次;0更快,但是在crash時將丟失一些資料。

 

innodb_log_buffer_size:    交易記錄buffer,當有大的blob/text欄位時,可以考慮提高該值,以免產生額外的I/O負載。通過觀察Innodb_log_waits狀態變數,如果非0,將增大該值。

 

 

 

 

 

 

二、複製

 

log-bin:    啟用二進位日誌,預設不是crash安全的,根據業務情況進行設定,

如果需要持久性,需要開啟sync_binlog=1,sync_relay_log=1,

relay-log-info-repository=TABLE和master-info-repository=TABLE

或sync_relay_log_info=1和sync_master_info=1。

 

expire-log-days:   推薦1-10天

 

server-id:      在主從複製環境,每個伺服器需要有唯一的server-id

 

binlog_format=ROW:    使用基於行的複製,提高效能,減少鎖。同時需要設定

transaction-isolation=READ-COMMITIED,

innodb_autoinc_lock_mode=2

 

三、混合參數

timezone=GMT:適合全球化

 

character-set-server=utf8mb4

 

collation-server=utf8mb4_general_ci:utf8    #是更好字元集的格式,

也可以設定skip-character-set-client-handshake

忽略應用程式設定的字元集

 

sql-mode:     #預設是寬容的,會靜默的截斷資料,應該更好的設定

STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,

NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,

NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY

 

skip-name-resolve:對進來的串連禁用網域名稱反向尋找,禁止使用主機名稱進行授權,

必須使用IP地址進行授權

 

max_connect_errors:設定成100000,因使用防火牆阻止訪問攻擊

 

max-connections:   建議300-500,推薦不要太高,建議使用應用串連池,或者mysql線程池

 

query_cache_size: 關閉該選項,使用另外的方式,如好的索引、使用複製分擔讀負載,或使用外部cache機制(memcached、redis)提高效能。


本文出自 “boyhack” 部落格,請務必保留此出處http://461205160.blog.51cto.com/274918/1885588

mysql需要調整的參數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.