• 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

  • 相关阅读:
    后渗透
    Msf小结
    安全狗文件绕过
    文件上传漏洞
    SQL Injection(Blind)
    SQL Injection
    Linux 基础整理
    Python pip升级及升级失败解决方案
    文件包含
    信息收集
  • 原文地址:https://www.cnblogs.com/zuoxingyu/p/2828218.html
Copyright © 2020-2023  润新知