MySQL報錯Lost connection to MySQL server during query的解決方案
問題描述:
在確保網絡沒有問題的情況下,服務器正常運行一段時間后,數(shù)據庫拋出了異常"Lost connection to MySQL server during query",字面意思就是在查詢過程中丟失連接到MySQL服務器,拋去網絡原因,基本上就是數(shù)據庫配置項問題。
解決方案:
- 檢查
max_allowed_packet,max_allowed_packet指mysql服務器端和客戶端在一次傳送數(shù)據包的過程當中最大允許的數(shù)據包大小。如果超過了設置的最大長度,則會導致數(shù)據讀寫失敗。
執(zhí)行以下SQL查詢配置項的值,單位是字節(jié):
show VARIABLES like '%max_allowed_packet%';
根據情況將配置項的值改為適合項目的使用大小,以64MB為例子
set global max_allowed_packet = 64*1024*1024*;
也可以通過修改配置文件,Linux修改my.cnf 文件,Windows修改 my.ini 文件,推薦通過文件修改,需要重啟mysql
[mysqld] max_allowed_packet = 64M
通過命令行修改只能臨時生效,如果下次數(shù)據庫重啟后對應的配置就會又復原了,因為重啟的時候加載的是配置文件里面的配置項
- 檢查
wait_timeout,wait_timeout 默認是28800秒,即mysql鏈接在無操作8個小時后被自動關閉,如果服務器長時間處于空閑狀態(tài),再次訪問mysql數(shù)據庫的時候,數(shù)據庫會拒絕訪問。
執(zhí)行以下SQL查詢配置,單位毫秒
SHOW VARIABLES LIKE 'wait_timeout';
修改參數(shù)SQL
set global wait_timeout=28800 * 2;
也可以通過修改配置文件,Linux修改my.cnf 文件,Windows修改 my.ini 文件,推薦通過文件修改,需要重啟mysql
[mysqld] wait_timeout = 57600
以上就是MySQL報錯Lost connection to MySQL server during query的解決方案的詳細內容,更多關于MySQL server during query的資料請關注腳本之家其它相關文章!
相關文章
完美解決mysql in條件語句只讀取一條信息問題的2種方案
使用mysql多表查詢時一個表中的某個字段作為另一表的in查詢條件,只能讀取一條信息,而直接用數(shù)字的話可以正常讀取2018-04-04
IDEA配置連接MYSQL數(shù)據庫遇到Failed這個問題解決
這篇文章主要介紹了IDEA配置連接MYSQL數(shù)據庫遇到Failed這個問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11

