Data source rejected establishment of connection, message from server: Too many connections
生活随笔
收集整理的這篇文章主要介紹了
Data source rejected establishment of connection, message from server: Too many connections
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
報錯如下:
錯誤原因:
太多的連接數,登錄用戶過多,配置的mysql連接數過小,或者某些連接沒有關閉,導致連接數過大。
問題的解決:
修改mysql的my.ini配置文件,網上的說法:mysql安裝目錄下的my.ini中設定的并發連接數太少或者系統繁忙導致連接數被占滿。
而項目實際上部署在linux系統上,需要找到my.cnf的配置文件,一般在etc/my.cnf,找到這個文件,添加如下行:
set-variable=max_connections=1000 set-variable=max_user_connections=500set-variable=wait_timeout=200之后重啟mysql,生效。
net stop mysqlnet start mysqlmax_connections: 為設置最大的連接數max_user_connections:設置每用戶最大的 連接數500wait_timeout:表示200秒后將關閉空閑連接,但對正在工作的連接不受影響。//重新啟動MySQL后使用下面的命令查看修改是否成功# mysqladmin -uroot -p variablesPassword://可以看到以下項說明修改成功 | max_connections | 1000| max_user_connections | 500| wait_timeout | 200解決方法二:
還有一個可能就是代碼里打開了太多的連接,但是忘記了在finally塊里面關閉,從而導致在處理大數據的時候,拋出異常。下面這樣的代碼就不會有異常了。
try{ conn=Good.getConnection();stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);String sql1="insert into cat_garbage values('"+rs.getInt("id")+"','"+rs.getInt("cid")+"','"+rs.getString("name")+"','"+rs.getString("keyword")+"')";stmt.executeUpdate(sql1);}catch(SQLException|ClassNotFoundException|IOException e){e.printStackTrace();}finally{if(stmt!= null) stmt.close(); if(conn!= null) conn.close(); }要隨時記住關閉rs,stmt,conn等資源,學會使用finally,在finally中,這些語句一定會執行
總結
以上是生活随笔為你收集整理的Data source rejected establishment of connection, message from server: Too many connections的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么样给单选按钮前面插入小图标
- 下一篇: 标签的属性和样式属性有什么区别