zoukankan      html  css  js  c++  java
  • max_allowed_packet & Mysqldump

    表结构:

    mysql> desc PLUGINDATA;
    +--------------+--------------+------+-----+---------+-------+
    | Field        | Type         | Null | Key | Default | Extra |
    +--------------+--------------+------+-----+---------+-------+
    | PLUGINDATAID | bigint(20)   | NO   | PRI | NULL    |       |
    | PLUGINKEY    | varchar(255) | NO   | UNI | NULL    |       |
    | FILENAME     | varchar(255) | NO   | UNI | NULL    |       |
    | LASTMODDATE  | datetime     | YES  |     | NULL    |       |
    | DATA         | longblob     | YES  |     | NULL    |       |
    +--------------+--------------+------+-----+---------+-------+
    5 rows in set (0.00 sec)

    备份的时候报错:

    [root@jiradb1 ~]# mysqldump -uroot -p confluence1 PLUGINDATA  >/home/bzuo/confluence1.sqlEnter password: 
    mysqldump: Error 2020: Got packet bigger than 'max_allowed_packet' bytes when dumping table `PLUGINDATA` at row: 5

    超过了最大的数据包。默认值是16M,最大值1G。参数说明:

    --max-allowed-packet=# 
                          The maximum packet length to send to or receive from
                          server.
    [root@jiradb1 ~]# mysqldump --help|grep max-allowed-packet
      --max-allowed-packet=# 
    max-allowed-packet                16777216

    Dump的时候,生成insert into tbname values(),(),()...行,拼出来的一行写入一个packet,然后再写入文件。在这里例子里面,当备份到第6行的时候,发现拼出来的insert的字节数超过了16M,所以报错了。把第6条记录单独拿出来看看,它有24M。这里的--max_allowed_packet=23M,导出的文件24M里面还包含了DUMP的一些信息,不全是行数据。改成22M就不行。

    [root@jiradb1 ~]# mysqldump -uroot -p  --max_allowed_packet=23M confluence1 PLUGINDATA --where='PLUGINDATAID=32014340' >/home/bzuo/confluence1.sql
    
    -rw-r--r-- 1 root root  24M Dec 20 23:42 confluence1.sql

    总结:


    1:错误提示里的at row: 0,0代表第一行记录。这个计数器从0开始

    2:一个packet里面可能包含多个row data,但是至少应该存下一个row data.

    3:DUMP导出的时候的packet大小应该小于MYSQL里的packet,要么导入是时候又会提示错误了:ERROR 2006 (HY000) at line 1271: MySQL server has gone away

  • 相关阅读:
    [原]音视频播放笔记
    [原]很多时候, 错误源于自己
    [原]找工作之tj
    [原]昨天碰到的一个诡异问题
    [原]硬盘分区规划
    [原]编程手记2008.08.26
    [原]编程手记2008.08.28
    eclipse 某些java文件乱码
    图片垂直居中,兼容ie6
    ul里不能直接嵌套div
  • 原文地址:https://www.cnblogs.com/zuoxingyu/p/2828218.html
Copyright © 2011-2022 走看看