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 &

 

转载于:https://www.cnblogs.com/rulian/p/6943951.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值