mysql5.5异常: java.sql.SQLException: Packet for query is too large (1055975 > 1048576).

本文介绍了MySQL 5.5中出现的“Packet for query is too large”异常及其解决方法,包括调整max_allowed_packet参数和避免抓取过大文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql5.5异常: java.sql.SQLException: Packet for query is too large (1055975 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable

解决办法:

1 查阅:

当MySQL客户端或mysqld服务器收到大于max_allowed_packet字节的信息包时,将发出“信息包过大”错误,并关闭连接。对于某些客户端,如果通信信息包过大,在执行查询期间,了能回遇到“丢失与MySQL服务器的连接”错误。


客户端和服务器均有自己的max_allowed_packet变量,因此,如你打算处理大的信息包,必须增加客户端和服务器上的该变量。

2 通过查阅,我知道肯定是自己的爬虫爬得不是网页,因为网页一般都不会超过100kb,所以我就去数据库里看现在正在爬行的链接是什么类型的,最后果不其然发现是是pps文件,大小为5M多,而mysql5.5服务器的默认max_allowed_packet值为1MB。


通过1和2,摆在我们面前的路有两条:

    (1)把mysql服务器的默认max_allowed_packet值设大,我目前的win7系统中,该配置在mysql安装目录下的my-large.ini下。

     (2)不爬取找这样超过默认限制大小的网页。

     

3 w我最后选择了第二条路,因为我目前做的是抓取网页的爬虫,主要就是抓取网页。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值