mysql 相關引數 Mysql相關引數優化

2021-10-19 04:52:41 字數 1257 閱讀 8924

// mysql優化 配置在 [mysqld] 段裡

innodb_buffer_pool_size = 4g (除去redis所占用記憶體,可以設為可用記憶體的一半)

slow_query_log = 1

long_query_time = 1

// 最大連線數優化

show variables like '%max_connections%';

// 可以在/etc/my.cnf裡面設定資料庫的最大連線數

[mysqld]

max_connections = 1000

innodb_thread_concurrency = 16

// 一般 value = cpu幾核

innodb_write_io_threads = 4

innodb_read_io_threads = 4

// 如果資料庫的讀操作比寫操作多,那麼可以設定:

innodb_read_io_threads = 10

innodb_write_io_threads = 6

// 預設,sync_binlog=0,表示mysql不控制binlog的重新整理,由檔案系統自己控制它的快取的重新整理。這時候的效能是最好的,但是風險也是最大的。因為一旦系統crash,

// 在binlog_cache中的所有binlog資訊都會被丟失。如果sync_binlog>0,表示每sync_binlog次事務提交,mysql呼叫檔案系統的重新整理操作將快取刷下去。最安全的

// 就是sync_binlog=1了,表示每次事務提交,mysql都會把binlog刷下去,是最安全但是效能損耗最大的設定。這樣的話,在資料庫所在的主機作業系統損壞或者突然

// 掉電的情況下,系統才有可能丟失1個事務的資料。但是binlog雖然是順序io,但是設定sync_binlog=1,多個事務同時提交,同樣很大的影響mysql和io效能。雖然可

// 以通過group commit的補丁緩解,但是重新整理的頻率過高對io的影響也非常大。對於高併發事務的系統來說,「sync_binlog」設定為0和設定為1的系統寫入效能差距可能

// 高達5倍甚至更多。

// 所以很多mysql dba設定的sync_binlog並不是最安全的1,而是100或者是0。這樣犧牲一定的一致性,可以獲得更高的併發和效能。

sync_binlog=0

// 此設定適合專案上線前操作,正在跑的專案不適合

innodb_io_capacity = 12600

innodb_io_capacity_max = 16800

mysql 檢視引數配置 Mysql 相關引數配置

一 慢查詢日誌配置 以下是開啟慢日誌的配置 單位為 s slow query log on slow query log file d mysql 8.0.21 winx64 slowlog slow.log long query time 0.001 log queries not using i...

mysql 優化 調整mysql 併發相關引數

引數控制允許連線到mysql 資料庫的最大數量.預設值151.如果狀態變數connection errors max connections 不為零,並且一直在增長,說明不斷有連線請求因資料庫已達到最大允許的值而失敗.應考慮增大max connections 值.在增大max connections...

mysql8 0 18相關配置

1.配置初始化my.ini檔案 mysqld 設定3306埠 port 3306 設定mysql的安裝目錄 basedir c program files mysql 設定mysql資料庫的資料的存放目錄 datadir c program files mysql data 允許最大連線數 max ...