解決資料庫連線池連線mysql時,每隔8小時mysql自動斷開所有連線的問題
解決資料庫連線池連線MySQL時,每隔8小時mysql自動斷開所有連線的問題
最近有個問題非常討厭,我們的工程中使用自己的連線池連線mysql資料庫,可mysql資料庫每隔8小時就會自動斷開所有連結,連線池就失效,需要重新啟動tomcat才有效,呵呵,伺服器可不能老是用“人工智慧”來干預啊,後來翻了一下mysql的手冊,發現mysql有解決辦法,下面就是最簡單的解決辦法:
連線資料庫的時候加上autoReconnect=true這個引數:
jdbc:mysql://localhost:3306/accounant?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
但是,在mysql手冊中有這樣一段話:
驅動程式是否應嘗試再次建立失效的和/或死連線? 如果允許,對於在失效或死連線上發出的查詢(屬於當前事務),驅動程式將丟擲異常,但在新事務的連線上發出下一個查詢時,將嘗試再連線。不推薦使用該特性,這是因為,當應用程式不能恰當處理SQLExceptions時,它會造成與會話狀態和資料一致性有關的副作用,設計它的目的僅用於下述情況,即,當你無法配置應用程式來恰當處理因死連線和/或無效連線導致的SQLExceptions時。作為可選方式,可將MySQL伺服器變數“wait_timeout”設定為較高的值,而不是預設的8小時。
呵呵,不知道這種“副作用”會產生什麼後果,難道會使tomcat崩潰??會產生“資料一致性”問題??
保險一點的辦法還是增加“wait_timeout”這個值吧,把28800設定成更大的值,這樣應該就不會有什麼問題了吧。
windows下在my.ini文中增加:
interactive_timeout=28800000
wait_timeout=28800000
注:目前我使用的是autoReconnect這種方式,未發現什麼問題。
相關文章
- SecureCRT 超時自動斷開連線問題解決方法Securecrt
- golang連線MySQL時候的連線池設定GolangMySql
- MySql資料庫連線池專題MySql資料庫
- mysql自動斷開連線的問題處理MySql
- .net 資料庫連線池超時問題資料庫
- 【MySQL】自定義資料庫連線池和開源資料庫連線池的使用MySql資料庫
- java連線池解決連線中斷Java
- oracle連線超時自動斷開問題[轉]Oracle
- MyGeneration連線MySQL資料庫解決MySql資料庫
- 解決git下載時斷開連線的問題Git
- mysql資料庫連線池配置教程MySql資料庫
- tomcat連線池配置,解決資料庫超時Tomcat資料庫
- MYSQL++ 資料庫連線超時的解決辦法LTMySql資料庫
- Oracle自動斷開資料庫連線的解決辦法Oracle資料庫
- 連線mysql資料庫MySql資料庫
- 連線資料庫-mysql資料庫MySql
- MyGeneration連線MySql資料庫解決(轉)MySql資料庫
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- CentOS 7 SSH 連線超時自動斷開解決方案CentOS
- weblogic +mysql 連線池 中文問題??WebMySql
- Python 中的 MySQL 資料庫連線池PythonMySql資料庫
- 解決代理連線超時問題
- python 連線 mongo 資料庫連線超時PythonGo資料庫
- 資料庫連線池的問題,連線池物件為靜態變數有問題麼資料庫物件變數
- [求助]資料庫連線池配置問題資料庫
- django | 連線mysql資料庫DjangoMySql資料庫
- 如何連線MySQL資料庫MySql資料庫
- pycharm連線MySQL資料庫PyCharmMySql資料庫
- Mysql資料庫表連線MySql資料庫
- PHP連線MySql資料庫PHPMySql資料庫
- mysql資料庫連線(MySQLdb)MySql資料庫
- Weka 連線MySQL資料庫MySql資料庫
- java連線mysql資料庫JavaMySql資料庫
- Ruby連線MySQL資料庫MySql資料庫
- 連線mysql時提示is not allowed to connect不允許連線MySql
- 資料庫連線池資料庫
- hibernate資料庫連線池的問題資料庫
- 一個資料庫連線池的問題資料庫