mysql引數優化

2021-12-30 11:11:16 字數 1502 閱讀 4060

mysql引數優化

### 用來存放innodb的內部目錄,對於大資料設定16m足夠用

innodb_additional_mem_pool_size = 16m

### innodb 快取總大小設定,一般設定為系統記憶體的70%-80%

innodb_buffer_pool_size = 12g

### 指定所有innodb資料檔案的路徑和大小分配

innodb_data_file_path = ibdata1:18m;ibdata2:1000m:autoextend

### 檔案讀寫io數設定:

innodb_file_io_threads = 4

### innodb核心的併發執行緒數設定

innodb_thread_concurrency = 16

### 設定日值的大小

innodb_log_file_size = 256m

### 設定日值組個數

innodb_log_files_in_group = 3

### 事物在記憶體中的快取大小

innodb_log_buffer_size = 8m

### 控制事物的提交方式,設定為2效能上最快

innodb_flush_logs_at_trx_commit = 2

### innodb直接寫入磁碟設定,避免重複緩衝和減少linux交換分割槽的壓力

innodb_flush_method = o_direct

### 控制innodb的髒頁在緩衝中的百分之比之下

innodb_max_dirty_pages_pct = 90

### 設定允許其他事務修改最終受事務回滾的資料之前要等待多少秒

innodb_lock_wait_timeout = 120

### 建議根據物理記憶體設定規則如下:1g => 8,2g => 16,3g => 32,大於3g => 64

thread_cache_size=64

### 查詢結果快取   

query_cache_size=256m

### 單個查詢能夠使用的緩衝區大小,預設為1m

query_cache_limit = 2m

### 根據比例key_reads / key_read_requests應該盡可能的低,至少是1:100,1:1000更好

key_buffer_size=128m

### mysql讀入緩衝區大小,如果對錶的順序掃瞄請求非常頻繁,可以通過增加該變數值以及記憶體緩衝區大小提高其效能

read_buffer_size = 4m

### mysql的隨機讀(查詢操作)緩衝區大小

read_rnd_buffer_size = 16m

### 二進位制日誌自動刪除的天數

expire_logs_days=10

### cpu核心數的2倍

thread_concurrency = 8

### 日誌格式,設定為混合模式

binlog_format = mixed

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 此引數...