• max_allowed_packet设置问题


    最近在运行的项目出现了一个线上事故,有人反映商城的东西下不了单了,到后台看了一下,果然报了一个错

    Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1046 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.; ]; Packet for query is too large (1046 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.; nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1046 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.

    其实上面的报错信息就给出了解决方案了,原来mysql根据配置文件会限制server接受的数据包大小。如果一次插入数据库中的数据太大的话就会失败,官方也有这方面的介绍 官方介绍
    用命令行查看show VARIABLES like '%max_allowed_packet%';果然max_allowed_packet太小了

    解决方法

    1、修改配置文件(推荐)
    在mysql中的my.ini文件中(在programdata隐藏文件中),修改max_allowed_packet的值
    比如:max_allowed_packet=20M
    然后重启mysql就可以

    2、命令行中设置
    set global max_allowed_packet = 210241024*10 然后退出命令行后再登录查看show VARIABLES like '%max_allowed_packet%'
    但是这个方法没什么用,因为重启mysql服务后这个方法就失效了


    又出现问题了,过了几天max_allowed_packet又被改了,经排查可能是数据库被入侵了,原来数据库的密码太过于简单,改成了复杂的密码后再也没出现这个问题了

     转自:https://www.cnblogs.com/leexboo/p/10546902.html
  • 相关阅读:
    2013年3月17日星期日
    2013第11周一
    2013年第11周二
    2013年第11周三今天开发踩过的坑
    2013第11周四开发摸索
    2013第10周六项目中用到的前端技术学习1
    PHP 数组使用之道
    快递查询API接口集成,有需要的可以直接用
    PHP intval() 函数
    巧用 PHP 数组函数
  • 原文地址:https://www.cnblogs.com/javalinux/p/15292192.html
Copyright © 2020-2023  润新知