校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > MySQL Packet for query is too large 問題及解決方法

MySQL Packet for query is too large 問題及解決方法

熱門標簽:遵義地圖標注app 地圖標注賺錢真假 德惠市地圖標注 深圳 商家地圖標注哪個好 承德電腦地圖標注 外呼系統從哪買 合肥營銷外呼系統收費 陜西400電話如何申請

問題描述:

報錯信息:

Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1354 > 1024). You can change this value on the server  
by setting the max_allowed_packet' variable 

MySQL根據配置文件會限制Server接受的數據包大小。有時候插入、更新或查詢時數據包的大小,會受 max_allowed_packet 參數限制,導致操作失敗。

查看 max_allowed_packet 參數:

在客戶端執行:

show VARIABLES like '%max_allowed_packet%'; 

得到結果如下:

+--------------------+------------+ 
| Variable_name   | Value  | 
+--------------------+-------------------+ 
| max_allowed_packet | 1024 | 
+--------------------+-------------------+  

修改方法:

1、修改配置文件
可以編輯my.cnf來修改(windows下my.ini),在[mysqld]段或者mysql的server配置段進行修改。

max_allowed_packet = 20M

如果找不到my.cnf可以通過

mysql --help | grep my.cnf

去尋找my.cnf文件。

linux下該文件在/etc/下。

2、在mysql命令行中修改

set global max_allowed_packet = 2*1024*1024*10  
//這里的數值為字節數,這里改為20M,需要重新登陸客戶端起作用 

注:在客戶端用命令修改后,只能暫時起作用,重新啟動MYSQL后,會恢復原來的值。

Linux下mysql 報Packet for query is too large (1040 > 1024)錯誤的解決方法

項目之前一直正常運行,這幾天突然一直提示查詢出錯,看了下日志發現提示Packet for query is too large (1040 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.錯誤。百度了解決方法,記錄下解決過程。

1.原因

查詢數據庫返回的數據包太大,超過了默認值。
登錄mysql,在控制臺輸入一下命令查詢默認的max_allowed_packet值,發現只有1024

show VARIABLES like '%max_allowed_packet%'; 

2.修改默認最大允許包大小

2.1方式一:命令方式

(1).在mysql控制臺下輸入以下命令,設置max_allowed_packet為20M

set global max_allowed_packet = 20*1024*1024; 

(2).退出mysql,重啟mysql服務,再登錄myql中查詢max_allowed_packet是否修改成功

show VARIABLES like '%max_allowed_packet%'; 

2.2方式二:修改配置文件my.cnf方式
(1).mysql控制臺下輸入以下命令,編輯my.cnf

sudo vi  /etc/mysql/my.cnf 

(2).在[mysqId]下面添加

max_allowed_packet = 20M 

2.2退出編輯模式,重啟mysql,步驟如2.1的(2)所示

3.注

配置完查詢max_allowed_packet發現是16777216,實際上是16*1024*1024,并不是期望的20M,于是又查了下,可能是服務器內存容量不夠,因為java就占了很多,所以mysql可能會自動重設參數。所以某些情況下可能是你當時更改完max_allowed_packet參數,過一段時間mysql自動重設參數變為默認的1024,又出現了同樣的錯誤。

標簽:南陽 揚州 巴中 貴州 贛州 商丘 新余 三門峽

巨人網絡通訊聲明:本文標題《MySQL Packet for query is too large 問題及解決方法》,本文關鍵詞  MySQL,Packet,for,query,too,large,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL Packet for query is too large 問題及解決方法》相關的同類信息!
  • 本頁收集關于MySQL Packet for query is too large 問題及解決方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 博客| 郧西县| 昌邑市| 娄烦县| 金坛市| 琼结县| 大埔区| 佛冈县| 古浪县| 社旗县| 进贤县| 兴宁市| 太仆寺旗| 邵阳市| 札达县| 罗定市| 新晃| 自治县| 扬中市| 五莲县| 台北县| 库车县| 滨海县| 兴安盟| 安陆市| 应用必备| 青浦区| 南充市| 岐山县| 安庆市| 新竹县| 上犹县| 易门县| 宽城| 潞城市| 响水县| 合山市| 文昌市| 阳信县| 金阳县| 庆城县|