在Linux中,解决mysql执行SQL文件,报错:”Got a packet bigger than 'max_allowed_packet' bytes“
查看max_allowed_packet最大允许包:
进入mysql (mysql -uroot -p)
输入命令 show VARIABLES like '%max_allowed_packet%';
显示如下
+--------------------------+------------+
| Variable_name | Value |
+--------------------------+------------+
| max_allowed_packet | 4194304 |
| slave_max_allowed_packet | 1073741824 |
+--------------------------+------------+
2 rows in set, 1 warning (0.01 sec)
可以从返回结果看出max_allowed_packet当前为4M,显然小了。
更改max_allowed_packet包大小:
方案一,临时修改:输入命令 set global max_allowed_packet = 大小; (注意,这里的大小只能填写字节。重启mysql服务后,配置将会失效!)
方案二,修改mysqld.cnf文件(/etc/mysql/mysql.conf.d/),加入 max_allowed_packet=大小
(注意,这里可以写XXM,但后面不用加";"号。如果存在max_allowed_packet,直接调整其值。重启mysql服务后(service mysql restart),将永久生效)