Mysql報Packet for query is too large (1040 > 1024)錯誤
阿新 • • 發佈:2019-02-16
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(2).在[mysqId]下面新增sudo vi /etc/mysql/my.cnf
max_allowed_packet = 20M
2.2退出編輯模式,重啟mysql,步驟如2.1的(2)所示