Mysql数据中Packet for query is too large错误的解决方法
Posted 如莲家园
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql数据中Packet for query is too large错误的解决方法相关的知识,希望对你有一定的参考价值。
有时,程序在连接mysql执行操作数据库时,会出现如下类似错误信息:
Packet for query is too large (4230 > 1024). You can change this value on the server by setting the max_allowed_packet‘ variable.
这个错误的大致原因是:向mysql数据库发送查询命令时,默认性况下,一个包的大小是1024,实际一条语句的长度,就大小这个,所以执行语句报错。解决的方式,就是调整mysql中该参数的大小。
以下是以一个linux服务为例的解决方式:
1、确认mysql安装目录,并进入:
/home/apps/mysql-5.7.17-linux-glibc2.5-x86_64
2、进入mysql下的bin目录,执行如下命令,进入mysql命令行:(其中root的密码是password)
./mysql -uroot -ppassword
3、查看包大小(mysql命令行中执行):
show variables like ‘%max_allowed_packet%‘;
4、设置包大小(mysql命令行中执行):
set global max_allowed_packet = 100*1024;
5、退出(mysql命令行中执行)
quit;
6、停止mysql服务:
./mysqladmin -uroot -ppassword shutdown
7、再次启动服务:
./mysqld --user=mysql &
以上是关于Mysql数据中Packet for query is too large错误的解决方法的主要内容,如果未能解决你的问题,请参考以下文章
BUGMySQL—— Packet for query is too large
记录一次mysql 5.7 max_allowed_packet修改失败的问题
Packet for query is too large (> 4,194,304). You can change this value on the server
MySQL 批量写入数据报错:mysql_query:Lost connection to MySQL server during query