zoukankan      html  css  js  c++  java
  • Packets larger than max_allowed_packet are not allowed(mysql数据查询提示:不允许超过允许的最大数据包)解决方案

    问题背景:

       首先我的项目运用的时Mysql,在做一个数据更新操作的时候,提示异常:System.Exception:“ExecuteNonQuery:Packets larger than max_allowed_packet are not allowed.”,通过查找了网上的一些方案主要是因为本地数据库运行最大查询的数据包太小的原因,也正是因为这个运行数据更新一直无法成功,导致后面的操作无法进行。

    说明:

      一般默认情况下,max_allowed_packet 的包的大小默认时1024*1024(1Mb),你可以首先使用命令:

    查询状态:show VARIABLES like '%max_allowed_packet%';
    

      我查出的结果是:max_allowed_packet:1024   没错这就是问题所在。

    解决方法:

    使用SQL语句来修改限制(3种推荐方式):

    将长度限制设置为32MB:

    SET GLOBAL max_allowed_packet=32*1024*1024; 

    将长度限制设置为1GB(MySQL服务器中允许的最大值):

    SET GLOBAL max_allowed_packet=1024*1024*1024; 
    

    直接设置会话SET SESSION:

    SET SESSION max_allowed_packet=1024*1024*1024; 

    最后使用上面任何一种方式修改好后重启一些数据库,然后在查询数据包的大小是否改变:

    show VARIABLES like '%max_allowed_packet%';

    Linux通过编辑my.cnf来修改,windows通过编辑my.ini配置

    停止MySQL服务器。

    根据自己的数据库安装环境进行配置:

    windows找到安装mysql的位置,打开my.ini进行配置修改:
    
    max_allowed_packet = 32M
    
     
    
    Linux 修改的是:my.cnf
    
    mysql --help | grep my.cnf
    
    去寻找my.cnf文件
    
    linux下该文件在/etc/下
    

    配置文件修改完成后重启数据库!

  • 相关阅读:
    JStack分析cpu消耗过高问题
    Machine Learning in Action – PCA和SVD
    Machine Learning in Action -- FP-growth
    Machine Learning in Action -- 树回归
    Machine Learning in Action -- 回归
    Kafka 0.8 配置参数解析
    统计学习方法笔记 -- 隐马尔可夫模型
    Machine Learning in Action -- AdaBoost
    统计学习方法笔记 -- Boosting方法
    Andrew Ng机器学习公开课笔记–Reinforcement Learning and Control
  • 原文地址:https://www.cnblogs.com/Can-daydayup/p/10303054.html
Copyright © 2011-2022 走看看