mysql max_allowed_packet查询和修改

工作中经常需要导入或者导出较大的sql文件。导出时一般没问题,但在导入到其它Mysql库中,可能会出现“Packet for query is too large (1706 > 1024). You can change this value on the server by setting the max_allowed_packet' variable. ”或者程序(如python里面executemany)在插入大量数据时出现"MySQL server has gone away"。这些错误都可能是Mysql的mysql max_allowed_packet默认值太小。修改该值一般游两种方式。

方式一:sql语句修改

  1、首先登陆mysql查看当前该值的大小。

    show variables like '%max_allowed_packate%'

     2、修改其大小为1G

           set global max_allowed_packet = 1024*1024*1024

  这种修改方式修改后,需要重新登陆Mysql查看,才能看到修改后的值。并且,这种方式修改的mysql max_allowed_packet,在Mysql重启后,可能失效。

方式二:my.ini修改

  1、在my.ini文件中添加如下语句。比如:改为1G.如下图所示。修改完成后,需要重启mysql。

  


注意:方式2中max_allowed_packed一定是添加在【mysqld】才能生效。

Top