MySQL連接異常:Communications link failure問題及解決
MySQL連接異常:Communications link failure
可以采用如下方法解決
1.首先確認數(shù)據(jù)庫是否可以正常運行中并且可被連接。可以使用工具 Navicat 測試連接。
2.判斷MySQL版本兼容問題。程序中:
- mysql-connector-java:8.0.18版本
- driver-class-name:com.mysql.cj.jdbc.Driver(driver-class-name只有在8.0版本才能使用com.mysql.cj.jdbc.Driver,而8.0以下只能使用com.mysql.jdbc.Driver;而且8.0版本以上需要設(shè)置時區(qū)為:serverTimezone=GMT%2B8)
- 使用命令select version()查看MySQL版本:5.7.39,
3.檢查數(shù)據(jù)庫連接參數(shù):在application.properties 文件中,配置如下:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8 spring.datasource.username=root spring.datasource.password=123456
經(jīng)過多次嘗試,發(fā)現(xiàn)出問題是在url配置中useSSL=true參數(shù),MySQL在高版本需要指明是否進行SSL連接,MySQL5是不需要這個參數(shù)的。
解決方案是:useSSL=false。
即改成如下配置:
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&useSSL=false
自此,問題解決,數(shù)據(jù)庫連接成功!
mysql連接異常-CommunicationException
今天遇到上圖的異常。
原因
mysql連接在超過空閑連接超時時間后被斷開,此時程序不知道該連接已經(jīng)斷開,繼續(xù)使用就會報上圖的錯。
解決辦法
一般情況下很少出現(xiàn)這種錯誤。
解決方法有多種,可以從數(shù)據(jù)庫層面解決:將過期時間設(shè)置成很大,不讓連接超時;也可以從程序?qū)用娼鉀Q,在使用連接前校驗有效性。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章

MySQL 中 DATE_FORMAT() 函數(shù)的使用及應用場景

mysql連接的空閑時間超過8小時后 MySQL自動斷開該連接解決方案

mysql執(zhí)行腳本導入表和數(shù)據(jù)后中文注釋亂碼的問題解決

mysql如何利用Navicat導出和導入數(shù)據(jù)庫的方法

MySQL通過DQL實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的條件查詢

Windows系統(tǒng)下mysql5.7.21安裝詳細教程