MySQL連接異常:Communications link failure問題及解決
MySQL連接異常:Communications link failure
可以采用如下方法解決
1.首先確認(rèn)數(shù)據(jù)庫是否可以正常運(yùn)行中并且可被連接。可以使用工具 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è)置時(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在高版本需要指明是否進(jìn)行SSL連接,MySQL5是不需要這個(gè)參數(shù)的。
解決方案是:useSSL=false。
即改成如下配置:
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&useSSL=false
自此,問題解決,數(shù)據(jù)庫連接成功!
mysql連接異常-CommunicationException
今天遇到上圖的異常。
原因
mysql連接在超過空閑連接超時(shí)時(shí)間后被斷開,此時(shí)程序不知道該連接已經(jīng)斷開,繼續(xù)使用就會(huì)報(bào)上圖的錯(cuò)。
解決辦法
一般情況下很少出現(xiàn)這種錯(cuò)誤。
解決方法有多種,可以從數(shù)據(jù)庫層面解決:將過期時(shí)間設(shè)置成很大,不讓連接超時(shí);也可以從程序?qū)用娼鉀Q,在使用連接前校驗(yàn)有效性。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL慢查詢優(yōu)化之慢查詢?nèi)罩痉治龅膶?shí)例教程
這篇文章主要介紹了MySQL慢查詢?nèi)罩痉治龅膶?shí)例教程,通過設(shè)置參數(shù)從慢查詢?nèi)罩鹃_始分析性能問題的原因,需要的朋友可以參考下2015-11-11MySQL 中 DATE_FORMAT() 函數(shù)的使用及應(yīng)用場景
DATE_FORMAT() 是 MySQL 中的一個(gè)內(nèi)置函數(shù),用于格式化日期和時(shí)間數(shù)據(jù),它可以根據(jù)指定的格式字符串來展示日期和時(shí)間,使得數(shù)據(jù)更容易閱讀和理解,本文檔將詳細(xì)介紹 DATE_FORMAT() 函數(shù)的使用方法及其常見應(yīng)用場景,感興趣的朋友一起看看吧2024-12-12mysql連接的空閑時(shí)間超過8小時(shí)后 MySQL自動(dòng)斷開該連接解決方案
MySQL 的默認(rèn)設(shè)置下,當(dāng)一個(gè)連接的空閑時(shí)間超過8小時(shí)后,MySQL 就會(huì)斷開該連接,而 c3p0 連接池則以為該被斷開的連接依然有效。在這種情況下,如果客戶端代碼向 c3p0 連接池請(qǐng)求連接的話,連接池就會(huì)把已經(jīng)失效的連接返回給客戶端,客戶端在使用該失效連接的時(shí)候即拋出異常2012-11-11mysql執(zhí)行腳本導(dǎo)入表和數(shù)據(jù)后中文注釋亂碼的問題解決
本人在使用不同版本下進(jìn)行操作時(shí),就會(huì)出現(xiàn)中文亂碼的問題,,例如我本地安裝mysql8,服務(wù)器安裝的是mysql5,然后本地連接服務(wù)器的mysql后,執(zhí)行SQL腳本之后發(fā)現(xiàn)中文全部亂碼,所以本文介紹了mysql執(zhí)行腳本導(dǎo)入表和數(shù)據(jù)后中文注釋亂碼的問題解決,需要的朋友可以參考下2024-04-04mysql如何利用Navicat導(dǎo)出和導(dǎo)入數(shù)據(jù)庫的方法
這篇文章主要介紹了mysql如何利用Navicat導(dǎo)出和導(dǎo)入數(shù)據(jù)庫的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-02-02MySQL通過DQL實(shí)現(xiàn)對(duì)數(shù)據(jù)庫數(shù)據(jù)的條件查詢
這篇文章給大家介紹了MySQL如何通過DQL進(jìn)行數(shù)據(jù)庫數(shù)據(jù)的條件查詢,文中通過代碼示例和圖文結(jié)合介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-01-01Windows系統(tǒng)下mysql5.7.21安裝詳細(xì)教程
這篇文章主要為大家詳細(xì)介紹了Windows系統(tǒng)下mysql5.7.21安裝詳細(xì)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02