目前針對mysql資料庫進行了一些引數優化,具體如下:
my.ini / my.cnf 引數說明
#使用查詢快取
query_cache_size=100m #設定mysql查詢快取的大小,如果mysql收到同樣的查詢語句且資料未發生變化,則直接返回快取中的資料
query_cache_type=1 #1:開啟快取,0:關閉
innodb_buffer_pool_size=128m #快取
index
、row data,可以有效減少磁碟i/o訪問
join_buffer_size=2m
sort_buffer_size=2m
read_buffer_size=2m
read_rnd_buffer_size=2m
max_connect_errors=1500 #如果client錯誤連線次數超過這個數,則阻塞該client,預設10
innodb_flush_log_at_trx_commit=2 #預設1,0/2可以減少磁碟i/o
#0:速度快,log buffer將每秒一次地寫入log file中,並且log file的flush(刷到磁碟)操作同時進行.該模式下,在事務提交的時候,不會主動觸發寫入磁碟的操作。(mysql掛了的話會丟失事務)
#1:速度慢,每次
commit
都將事務日誌寫磁碟,cpu要等待日誌讀寫完畢再進行下一次事務。(不會丟失事務)
#2:速度中,每次事務提交時mysql都會把log buffer的資料寫入log file.但是flush(刷到磁碟)操作並不會同時進行。該模式下,mysql會每秒執行一次 flush(刷到磁碟)操作。(只有系統掛了才會丟失事務)
Mysql 引數優化
1.my.cnf中的把 innodb buffer pool size 16g 別佔滿了記憶體。2.my.cnf中的把 innodb log buffer size 50m 這個主要是滿足大事務的需求。3.my.cnf中的把 innodb log file size 4g 這個是在硬碟,所以先設大 ...
mysql引數優化
back log 要求 mysql 能有的連線數量。當主要mysql執行緒在乙個很短時間內得到非常多的連線請求,這就起作用,然後主線程花些時間 儘管很短 檢查連線並且啟動乙個新執行緒。back log值指出在mysql暫時停止回答新請求之前的短時間內多少個請求可以被存在堆疊中。只有如果期望在乙個短時...
Mysql引數優化
修改的引數 1 long query time 10改為long query time 2 此引數為將執行時間超過多少秒的sql,放入慢查詢日誌。在此將時間從10秒縮短為2秒,從而更加詳細的抓取重負載的sql。2 tmp table size 75m改為tmp table size 256m 此引數...