MySQL數據庫配置調優

數據庫配置文件優化

硬件:內存32G
innodb_file_per_table = 1   # 打開獨立表空間
max_connections = 8000  # MySQL 服務所允許的同時會話數的上限,經常出現Too Many Connections的錯誤提示,則需要增大此值
back_log = 300                  #back_log 是操作系統在監聽隊列中所能保持的連接數
max_connect_errors = 1000  #每個客戶端連接最大的錯誤允許數量,當超過該次數,MYSQL服務器將禁止此主機的連接請求,直到MYSQL服務器重啓或通過flush hosts命令清空此主機的相關信息
open_files_limit = 10240  #所有線程所打開表的數量
max_allowed_packet = 32M  #每個連接傳輸數據大小.最大1G,須是1024的倍數,一般設爲最大的BLOB的值
wait_timeout = 10  #指定一個請求的最大連接時間
sort_buffer_size = 16M  # 排序緩衝被用來處理類似ORDER BY以及GROUP BY隊列所引起的排序
join_buffer_size = 16M  #不帶索引的全表掃描.使用的buffer的最小值
query_cache_size = 128M  #查詢緩衝大小
query_cache_limit = 4M  #指定單個查詢能夠使用的緩衝區大小,缺省爲1M
transaction_isolation = REPEATABLE-READ  # 設定默認的事務隔離級別
thread_stack = 512K  # 線程使用的堆大小. 此值限制內存中能處理的存儲過程的遞歸深度和SQL語句複雜性,此容量的內存在每次連接時被預留.
log-bin  # 二進制日誌功能
binlog_format=row  #二進制日誌格式
innodb_buffer_pool_size = 24G  #InnoDB使用一個緩衝池來保存索引和原始數據, 可設置這個變量到服務器物理內存大小的80%
innodb_file_io_threads = 4  #用來同步IO操作的IO線程的數量
innodb_thread_concurrency = 16 #在InnoDb核心內的允許線程數量,建議的設置是CPU數量加上磁盤數量的兩倍
innodb_log_buffer_size = 16M  # 用來緩衝日誌數據的緩衝區的大小
innodb_log_file_size = 512M  # 在日誌組中每個日誌文件的大小
innodb_log_files_in_group = 3  # 在日誌組中的文件總數
innodb_lock_wait_timeout = 120  # SQL語句在被回滾前,InnoDB事務等待InnoDB行鎖的時間
long_query_time = 2  #慢查詢時長
log-queries-not-using-indexes  #將沒有使用索引的查詢也記錄下來

  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章