MySQL 連線相關引數

Ryan_Bai發表於2020-09-13

max_connections

指定 MySQL 服務端最大併發連線數,值的範圍從 1~10 萬,預設值為 151。

它決定了同時最多能有多少個會話連線到 MySQL 服務;設定該引數時,根據資料庫伺服器的配置和效能,一般將引數值設定在 500~2000。

max_connect_errors

指定允許連線不成功的最大嘗試次數,指的範圍從  1\~ 2^64 之間,在 5.6.6 版本預設值是 100,在之前的版本中,預設值僅為 10。

清零命令:FLUSH HOSTS

interactive_timeout & wait_timeout

自動超時斷開引數

  • interactive_timeout:用於指定關閉互動連線前等待的時間。單位是秒,預設值為28800,即 8h。

  • wait_timeout:用於指定關閉非互動連線前的等待時間。單位是秒,預設值為28800,即 8h。

這兩個引數必須被同時設定。建議時長不要超過 24 h,即引數值小於 86400,即可滿足絕大多數的需求。

skip-name-resolve

禁用 DNS 解析。這個是服務端的行為,連線時不檢查客戶端主機名,而只使用 IP。如果指定了這個引數,那麼在建立使用者及授予許可權時,HOST 列必須是 IP 而不能是主機名。建議啟用,用於加快網路連線速度。

back_log

指定 MySQL 連線請求佇列中存放的最大連線請求數量,在 5.6.6 版本之前,預設是 50 個,最大值不超過 65535。進入 5.6.6 版本之後,預設值為 -1,表示由 MySQL 自行調節(50+ (max_connections/5))。

當短時間內有大量的連線請求,MySQL 主執行緒無法及時為每一個連線請求分配連線的執行緒,於是就會將一部分請求放到等待佇列中待處理,這個等待佇列的長度就是 black_log 的引數值,若等待佇列也放滿了,那麼後續的連線請求才會被拒絕。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490526/viewspace-2719167/,如需轉載,請註明出處,否則將追究法律責任。

相關文章