本文作者:kris

mysql中max_allowed_packet参数的配置方法(避免大数据写入或者更新失败)-

kris 2025-01-22 16:00:48 2
mysql中max_allowed_packet参数的配置方法(避免大数据写入或者更新失败)-摘要: win10系统mysql修改max_allowed_packet没有生效,如何解决?正常的情况下,肯定是OK的,没有生效,那么可能是你没有配置正确。max_allowed_pack...

win10系统mysql修改max_allowed_packet没有生效,如何解决?

正常的情况下,肯定是OK的,没有生效,那么可能是你没有配置正确。


max_allowed_packet这个参数干什么用呢?

限制Server接受和发送的最大数据包大小。有时候大的插入和更新会受 该参数的限制,导致写入或者更新失败。为避免单个SQL请求数据量过大,占用大量资源,导致其他请求被拖慢,甚至将mysql拖垮。因此建议不宜配置过大,建议范围在4M-64M范围内。


没有生效,可能有以下2种可能。

首先,先确认现在是配置的多少:

mysql中max_allowed_packet参数的配置方法(避免大数据写入或者更新失败)-

单位是字节,也就是4194304/1024/1024=4M。

没有Global配置

如果你配置的时候,比如加大到10M,如果是这样的,set SESSION max_allowed_packet=10485760;

这是会报错的,无法执行成功。也就当然不会生效,而不清楚你的具体情况,因此,看是不是这样。

正确的设置办法是:

set GLOBAL max_allowed_packet=10485760;

表示的是全局生效,这个时候,新连接MySQL的连接,都将被应用新的配置,而原来已经连接的,是不会生效的。


mysql重启过

如果都不是,那么可能是第三种,配置之后,mysql重启过,因为这样设置,并不会保存到mysql的配置文件中的,因此一旦重启,就会使用默认配置或配置文件中的新配置,你需要配置到你的配置文件中,windows可能是my.ini。

大致路径:C:\ProgramData\MySQL\MySQL Server 5.7/my.ini

添加

max_allowed_packet=10485760

保存即可。

---------------------

纯手打码子,点赞+关注,谢谢!

----------------------

文章版权及转载声明

作者:kris本文地址:https://www.damoyx.com/p/26144.html发布于 2025-01-22 16:00:48
文章转载或复制请以超链接形式并注明出处大漠游侠网

阅读
分享