MySQL調優-修改mysSql的空閑連接關閉時間,以及最大連接數的方法


Data source rejected establishment of connection, message from server: "Too many connections"

有一次,我啟動springboot時會報上面的錯誤。可能是和我的項目有關吧,我的項目在初始化的時候,會用數據庫,把一些數據預加載到緩存里面,在這一過程中,產生了很多的數據庫連接,沒有釋放,因為mysql的連接默認釋放時間是八個小時,這些鏈接越積越多,就導致連接池滿了,無法正常使用數據庫。

我用:

mysql -uroot -p

進入mysql,輸入

show full processlist

發現有大量的連接沒有釋放。所以參照了下面這個老哥的方法:

https://blog.csdn.net/ljphhj/article/details/23804057

在linux的/etc目錄下,vi my.cnf,這個是linux系統中mySql的配置文件。

在[mysqld] 下面添加下面三行


max_connections=1000
max_user_connections=500

wait_timeout=60

 意思如下:

//max_connections設置最大連接數為1000

//max_user_connections設置每用戶最大連接數為500
//wait_timeout表示60秒后將關閉空閑(IDLE)的連接,但是對正在工作的連接不影響。

之后保存退出,用

systemctl restart mysqld

  重啟數據庫。之后我再次重啟我的系統,觀察數據庫的線程情況,發現,一分鍾之后,連接就銷毀的差不多了。問題解決。

如果是mac端的話,默認是沒有配置文件的

先用

mysql --help|grep 'my.cnf'

找到可以允許的配置文件路徑,我就放在/etc底下了。

之后參考這個老哥的做法,在mysqld底下加上那幾個配置就行。

https://www.cnblogs.com/weslie/articles/8553391.html


免責聲明!

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



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