亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2018年05月24日 21:20:25   作者:dqsweet  
這篇文章主要介紹了MySQL Packet for query is too large 問題及解決方法,需要的朋友可以參考下

問題描述:

報錯信息:

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 參數:

在客戶端執(zhí)行:

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  
//這里的數值為字節(jié)數,這里改為20M,需要重新登陸客戶端起作用 

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

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

項目之前一直正常運行,這幾天突然一直提示查詢出錯,看了下日志發(fā)現提示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值,發(fā)現只有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發(fā)現是16777216,實際上是16*1024*1024,并不是期望的20M,于是又查了下,可能是服務器內存容量不夠,因為java就占了很多,所以mysql可能會自動重設參數。所以某些情況下可能是你當時更改完max_allowed_packet參數,過一段時間mysql自動重設參數變?yōu)槟J的1024,又出現了同樣的錯誤。

相關文章

  • MySQL實現異步復制的示例

    MySQL實現異步復制的示例

    MySQL的復制就是將來自一個MySQL數據庫服務器(主庫)的數據復制到一個或多個MySQL數據庫服務器(從庫),本文主要介紹了MySQL實現異步復制的示例,感興趣的可以了解一下
    2024-09-09
  • 推薦沒有虛擬主機的小巧的Mysql數據庫備份腳本(PHP)

    推薦沒有虛擬主機的小巧的Mysql數據庫備份腳本(PHP)

    推薦沒有虛擬主機的小巧的Mysql數據庫備份腳本(PHP)...
    2007-07-07
  • 深入了解SQL注入

    深入了解SQL注入

    本篇文章通過SQL和MYSQL的對比,以及SQL注入的原理等方面詳細分析了SQL注入相關知識點,對此有興趣的朋友學習下。
    2018-02-02
  • MySQL中將一列以逗號分隔的值行轉列的實現

    MySQL中將一列以逗號分隔的值行轉列的實現

    這篇文章主要介紹了MySQL中將一列以逗號分隔的值行轉列的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • MySql下關于時間范圍的between查詢方式

    MySql下關于時間范圍的between查詢方式

    這篇文章主要介紹了MySql下關于時間范圍的between查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Mysql使用concat函數實現關鍵字模糊查詢功能(列表數據過濾含前后端代碼)

    Mysql使用concat函數實現關鍵字模糊查詢功能(列表數據過濾含前后端代碼)

    在我們的平時開發(fā)中經常會遇到根據條件過濾列表數據項,今天在做自己項目的時候就遇到了這個問題,正好借著這個機會分享我的思路以及相關的代碼,對Mysql使用concat函數實現關鍵字模糊查詢功能感興趣的朋友一起看看吧
    2023-02-02
  • Windows10下MySQL5.7.31解壓版安裝與卸載方法

    Windows10下MySQL5.7.31解壓版安裝與卸載方法

    這篇文章主要介紹了Windows10下MySQL5.7.31解壓版安裝與卸載,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-12-12
  • linux 之centos7搭建mysql5.7.29的詳細過程

    linux 之centos7搭建mysql5.7.29的詳細過程

    這篇文章主要介紹了linux 之centos7搭建mysql5.7.29的詳細過程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • 如何查看MySQL連接的root密碼

    如何查看MySQL連接的root密碼

    前幾天在用Navicat去連本地的MySQL的時候發(fā)現我已經忘了密碼了,試了網上很多方式都不行…后來發(fā)現其實可以自己直接去看當初設置的密碼,下面將方法總結出來分享給大家,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • 忘記mysql數據庫root用戶密碼重置方法[圖文]

    忘記mysql數據庫root用戶密碼重置方法[圖文]

    忘記mysql數據庫root用戶密碼重置方法,需要的朋友可以參考下。
    2011-11-11

最新評論