win10系统mysql修改max_allowed_packet没有生效,如何解决?
正常的情况下,肯定是OK的,没有生效,那么可能是你没有配置正确。
max_allowed_packet这个参数干什么用呢?
限制Server接受和发送的最大数据包大小。有时候大的插入和更新会受 该参数的限制,导致写入或者更新失败。为避免单个SQL请求数据量过大,占用大量资源,导致其他请求被拖慢,甚至将mysql拖垮。因此建议不宜配置过大,建议范围在4M-64M范围内。
没有生效,可能有以下2种可能。
首先,先确认现在是配置的多少:
单位是字节,也就是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
保存即可。
---------------------
纯手打码子,点赞+关注,谢谢!
----------------------