Too Many Connections

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections"
原因:
因爲你的mysql安裝目錄下的my.ini中設定的併發連接數太少或者系統繁忙導致連接數被佔滿

解決方式:
打開MYSQL安裝目錄打開MY.INI找到max_connections(在大約第93行)默認是100 一般設置到500~1000比較合適,重啓mysql,這樣1040錯誤就解決啦。
max_connections=1000
 
在日常的MySQL服務器中,wait-timeout這個參數非常有用。
(在部分MySQL的默認配置中可能沒有wait-timeout這個參數項,你在[mysqld]節中加上即可)
參數意義:MySQL客戶端的數據庫連接閒置最大時間值。
參數默認值:默認值爲8小時 。
這個參數的大概意思是某一個MySQL客戶端連接閒置的最大時間值,即某一個MySQL客戶端連接過程中,閒置的最大時間到達後服務器將其關閉。
MySQL服務器所支撐的最大連接數是有限的,因爲每一個連接、第一個表打開的操作都要消耗服務器內存,理想狀態是當一個MySQL客戶端連接完成工作就自動斷開釋放內存,如果你的你的網站有大量的MySQL鏈接請求,這些連接完成SQL執行任務後空閒着啥事也不幹,白白佔用內存資源,如果 這些連接堆積起來,將導致MySQL超過最大連接數,從而無法新建MySQL連接,有可能導致“Too many connections”的錯誤。
可以在設置之前用show processlist查看一下MySQL狀態,如果你發現你的MYSQL中有大量的Sleep進程,哪麼你真的需要設置你的wait-timeout了。依你的程序而定設置多大的值 ,我的設置wait-timeout=10,MySQL中的所有Sleep線程最多隻能“睡”10秒,之後就被強行關閉了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章