mysql8.0.15调优_Mysql 8.0 参数调优
max_connections允許客戶端并發連接的最大數量
max_connect_errors如果客戶端嘗試連接的錯誤數量超過這個參數設置的值
interactive_timeout:Mysql關閉交互連接前的等待時間,單位是秒,默認是8小時,建議不要將該參數設置超過24小時,即86400
wait_timeout:Mysql關閉非交互連接前的等待時間,單位是秒,默認是8小時,建議不要將該參數設置超過24小時,即86400
thread_cache_size:MySQL服務緩存以重用的線程數。當客戶端斷開連接的時候,如果線程緩存沒有使用滿,則客戶端的線程被放入緩存中。如果有客戶端斷開連接后再次連接到MySQL服務且線程在緩存中,則MySQL服務會優先使用緩存中的線程;如果線程緩存沒有這些線程,則MySQL服務器會創建新的線程。如果數據庫有很多的新連接,可以增加這個參數來提升性能。如果MySQL服務器每秒有上百個連接,可以增大thread_cache_size參數來使MySQL服務器使用緩存的線程。通過檢查Connections和Threads_created狀態參數,可以判斷線程緩存是否足夠。這個參數默認的值是由下面的公式來決定的:8 + (max_connections / 100)
innodb_buffer_pool_size:InnDB存儲引擎緩存表和索引數據所使用的內存大小。默認值是128MB。在以InnDB存儲引擎為主的系統中,可以將這個參數設為機器物理內存的80%。
innodb_buffer_pool_instances:InnoDB緩存池被分成的區域數。對于1GB以上大的InnoDB緩存,將緩存分成多個部分可以提高MySQL服務的并發性,減少不同線程讀緩存頁的讀寫競爭。每個緩存池有它單獨的空閑列表、刷新列表、LRU列表和其他連接到內存池的數據結構,它們被mutex鎖保護。這個參數只有將innodb_buffer_pool_size參數設為1GB或以上時才生效。建議將每個分成的內存區域設為1GB大小。
innodb_buffer_pool_chunk_size:innodb_buffer_pool_chunk_size* innodb_buffer_pool_instances =innodb_buffer_pool_size。innodb_buffer_pool_chunk_size和innodb_buffer_pool_size永遠總是滿足公式的,否則mysql啟動時會自動調整兩個參數的值
back_log值指出在MySQL暫時停止回答新請求之前的短時間內多少個請求可以被存在堆棧中。也就是說,如果MySql的連接數達到max_connections時,新來的請求將會被存在堆棧中,以等待某一連接釋放資源,該堆棧的數量即back_log,如果等待連接的數量超過back_log,將不被授予連接資源。
innodb_flush_log_at_trx_commit = 2如果innodb_flush_log_at_trx_commit設置為0,log buffer將每秒一次地寫入log file中,并且log file的flush(刷到磁盤)操作同時進行.該模式下,在事務提交的時候,不會主動觸發寫入磁盤的操作。
如果innodb_flush_log_at_trx_commit設置為1,每次事務提交時MySQL都會把log buffer的數據寫入log file,并且flush(刷到磁盤)中去.
如果innodb_flush_log_at_trx_commit設置為2,每次事務提交時MySQL都會把log buffer的數據寫入log file.但是flush(刷到磁盤)操作并不會同時進行。該模式下,MySQL會每秒執行一次 flush(刷到磁盤)操作。
sync_binlog
sync_binlog 的默認值是0,像操作系統刷其他文件的機制一樣,MySQL不會同步到磁盤中去而是依賴操作系統來刷新binary log。
當sync_binlog =N (N>0) ,MySQL 在每寫 N次 二進制日志binary log時,會使用fdatasync()函數將它的寫二進制日志binary log同步到磁盤中去。
bulk_insert_buffer_size = 100M批量插入的緩存
slow_query_log是否開啟慢查詢日志,1表示開啟,0表示關閉。
long_query_time?慢查詢閾值,當查詢時間多于設定的閾值時,記錄日志。
log_queries_not_using_indexes?未使用索引的查詢也被記錄到慢查詢日志中(可選項)
log_output?日志存儲方式。log_output='FILE'表示將日志存入文件,默認值是'FILE'。log_output='TABLE'表示將日志存入數據庫,這樣日志信息就會被寫入到mysql.slow_log表中。MySQL數據庫支持同時兩種日志存儲方式,配置的時候以逗號隔開即可,如:log_output='FILE,TABLE'。日志記錄到系統的專用日志表中,要比記錄到文件耗費更多的系統資源,因此對于需要啟用慢查詢日志,又需要能夠獲得更高的系統性能,那么建議優先記錄到文件
總結
以上是生活随笔為你收集整理的mysql8.0.15调优_Mysql 8.0 参数调优的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql开启binlog启动慢_mys
- 下一篇: mysql odbc安装提示找不到ian