美文网首页
mysql 存储数据:Got a packet bigger t

mysql 存储数据:Got a packet bigger t

作者: Rinaloving | 来源:发表于2023-03-26 16:01 被阅读0次

    错误

    Got a packet bigger than 'max_allowed_packet' bytes
    

    原因

    主要为第一个错误。导入数据包大于系统设置的 max_allowed_packet 大小。

    还原的实例版本为 :mysql 5.7.26-log

    默认 max_allowed_packet 大小为:4M,我这边是16M。

    在 mysql 中,1个 sql 语句发送到 MySQL 服务器,1行数据发送到客户端,或者二进制日志从 master 发送到 slave ,这些都作为一个包,(mysql 5.7 最大包为 1GB)。而我的备份脚本中,有的表字段类型为 longtext,其插入的值比较长,才导致了错误。

    解决

    16M 既然不够,那就设置 160 MB 吧。

    • 查看当前 max_allowed_packet 大小:
    show variables like 'max_allowed_packet';  
    show variables where Variable_name = 'max_allowed_packet';
    
    • 在命令行设置全局变量,新的连接立即生效:(windows 中写字节大小)
    set global max_allowed_packet =160*1024*1024;
    
    • 同时在配置文件中添加以下参数(这一步不用也行):
    max_allowed_packet = 160M
    
    • 修改完后再次查看


      QQ截图20230327160127.png

    相关文章

      网友评论

          本文标题:mysql 存储数据:Got a packet bigger t

          本文链接:https://www.haomeiwen.com/subject/ejoordtx.html