MySQL連接參數配置


一、連接數

MySQL服務連接數查看

使用如下命令可以查看當前MySQL服務的最大連接數

# 查看MySQL服務的最大連接數
SHOW VARIABLES LIKE '%max_connections%';

查詢結果
image

設置最大連接數

# 查看MySQL服務的最大連接數
SET GLOBAL max_connections = 200;

最大連接數設置多少合適

# 查看歷史最大使用連接數
SHOW STATUS LIKE 'Max_used_connections%';

查詢結果
image
查詢結果中展示了過去MySQL服務使用的連接數的峰值和時間,實際在設置的時候,可以參考此數值,進行一定比例的上浮進行設置即可,
比如系統長期穩定運行,可以上浮20%,如果有特殊情況(比如需要增加服務實例),可以根據具體情況可以根據實際的業務場景進行調整。

二、連接超時時間

查看超時時間

MySQL連接默認設置了超時時間,默認是28800 s(MySQL 8默認1800 s)

# 非交互式客戶端連接超時時間
SHOW VARIABLES LIKE 'wait_timeout%';
# 交互式客戶端連接超時時間
SHOW VARIABLES LIKE 'interactive_timeout%';

image
當MySQL服務器檢測到某個連接限制超過該超時時間,連接就會被銷毀,這樣會導致客戶端連接斷開,影響應用服務查詢。

超時問題解決

那么如何結果連接超時對應用的影響呢?

  • 增加超時時間
    將MySQL服務的超時時間設置長一些,保證在特定時間內服務有請求進入即可
  • 連接參數添加自動重連
    客戶端連接參數指定自動重連,例如JDBC連接url:jdbc:mysql://hostaddress:3306/schemaname?autoReconnect=true
  • 使用連接池
    使用連接池維護數據庫連接,設置最小活躍連接數,實際開發中應該盡量使用此種方法,降低連接的頻繁創建和銷毀帶來的開銷


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM