Packets larger than max_allowed_packet are not allowed(mysql数据查询提示:不允许超过允许的最大数据包)解决方案...

问题背景:

   首先我的项目运用的时Mysql,在做一个数据更新操作的时候,提示异常:System.Exception:“ExecuteNonQuery:Packets larger than max_allowed_packet are not allowed.”,通过查找了网上的一些方案主要是因为本地数据库运行最大查询的数据包太小的原因,也正是因为这个运行数据更新一直无法成功,导致后面的操作无法进行。

说明:

  一般默认情况下,max_allowed_packet 的包的大小默认时1024*1024(1Mb),你可以首先使用命令:

查询状态:show VARIABLES like '%max_allowed_packet%';

  我查出的结果是:max_allowed_packet:1024   没错这就是问题所在。

解决方法:

使用SQL语句来修改限制(3种推荐方式):

将长度限制设置为32MB:
SET GLOBAL max_allowed_packet=32*1024*1024; 
将长度限制设置为1GB(MySQL服务器中允许的最大值):
SET GLOBAL max_allowed_packet=1024*1024*1024; 
直接设置会话SET SESSION:
SET SESSION max_allowed_packet=1024*1024*1024; 
最后使用上面任何一种方式修改好后重启一些数据库,然后在查询数据包的大小是否改变:
show VARIABLES like '%max_allowed_packet%';

 

Linux通过编辑my.cnf来修改,windows通过编辑my.ini配置

停止MySQL服务器。
根据自己的数据库安装环境进行配置:
windows找到安装mysql的位置,打开my.ini进行配置修改:

max_allowed_packet = 32M

 

Linux 修改的是:my.cnf

mysql --help | grep my.cnf

去寻找my.cnf文件

linux下该文件在/etc/下
配置文件修改完成后重启数据库!

转载于:https://www.cnblogs.com/Can-daydayup/p/10303054.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值