zoukankan      html  css  js  c++  java
  • Mysql异常之——Packet for query is too large (10240 > 1024). You can change this value

      

      出现这个问题的原因是:mysql的配置文件中 max_allowed_packet 设置过小mysql根据配置文件会限制server接受的数据包大小。 还有人会说我操作的数据量明显没有超过这个值为啥也失败了,因为:该值设置过小将导致单个记录超过限制后写入数据库失败,且后续记录写入也将失败。好了开始解决问题吧。

     

    一、查看目前配置

    1、使用root用户登录mysql

    2、执行语句查看当前的 max_allowed_packet

     1 show VARIABLES like '%max_allowed_packet%'; 

     

      当然有人会说直接在配置文件中查看不就完了吗,我刚开始就是这样想的,后来我就学乖了。为啥呢?主要有一下几个原因:1linux中运维一般不会把配置文件放到安装目录下,所以导致配置文件不好找到;2)万一设置了数据库的主从复制,你知道你找到的配置文件是主数据库的还是从数据库的(我第一次采用找配置文件的方法修改的,后来才发现修改的是从数据库);3)有时你接手的项目,你的上一任没有把说明文档或者配置文档写清楚,你不知道配置文件在哪儿。

     

    二、修改方法

    1、修改配置文件

    可以编辑my.cnf来修改(windowsmy.ini,[mysqld]段或者mysqlserver配置段进行修改。

     max_allowed_packet = 20M 

    如果找不到my.cnf可以通过以下语句寻找my.cnf文件。linux下该文件在/etc/下。

     mysql --help | grep my.cnf 

     

    2、在mysql命令行中修改

    mysql 命令行中运行以下语句

    set global max_allowed_packet = 2*1024*1024*10;
    

    然后退出命令行,重启mysql服务,再进入。

     show VARIABLES like '%max_allowed_packet%'; 

    查看下max_allowed_packet是否编辑成功

     

    三、重启Linux的mysql

    1、使用 service 启动:service mysqld restart

    2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart

     

     

    在全栈的道路上,积极向上、成熟稳重、谦虚好学、怀着炽热的心向前方的走得更远。
  • 相关阅读:
    hdu 1199 Color the Ball 离散线段树
    poj 2623 Sequence Median 堆的灵活运用
    hdu 2251 Dungeon Master bfs
    HDU 1166 敌兵布阵 线段树
    UVALive 4426 Blast the Enemy! 计算几何求重心
    UVALive 4425 Another Brick in the Wall 暴力
    UVALive 4423 String LD 暴力
    UVALive 4872 Underground Cables 最小生成树
    UVALive 4870 Roller Coaster 01背包
    UVALive 4869 Profits DP
  • 原文地址:https://www.cnblogs.com/DDgougou/p/8579258.html
Copyright © 2011-2022 走看看