zoukankan      html  css  js  c++  java
  • Packet for query is too large (12238 > 1024). You can change this value

    MySQL max_allowed_packet 设置过小导致记录写入失败

    mysql根据配置文件会限制server接受的数据包大小。

    有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败。

    查看目前配置

    show VARIABLES like '%max_allowed_packet%';

    显示的结果为:

    +--------------------+---------+

    | Variable_name      | Value   |

    +--------------------+---------+

    | max_allowed_packet | 1048576 |

    +--------------------+---------+  

    以上说明目前的配置是:1M

    修改方法

    1、修改配置文件

    可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。

    max_allowed_packet = 20M

    如果找不到my.cnf可以通过

    mysql --help | grep my.cnf

    去寻找my.cnf文件。

    Linux下该文件在/etc/下。

    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
  • 相关阅读:
    免登陆 安全密钥验证
    第五节
    selinux
    scp
    Linux网卡绑定
    HDFS
    搭建软件仓库
    命名空间“System.Web”中不存在类型或命名空间名称“Optimization”(是否缺少程序集引用?)
    delphi利用指针,结构或component存储数据表数据
    Delphi中的ObjectList简单用法一则
  • 原文地址:https://www.cnblogs.com/smiler/p/7066395.html
Copyright © 2011-2022 走看看