MySQL max_allowed_packet

修改max_allowed_packet

  • 根据配置文件会限制server接受的数据包大小。
  • 有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败。
  1. 查看目前配置
show VARIABLES like '%max_allowed_packet%';

也可以使用 select 查询

select @@max_allowed_packet;

max_allowed_packet 如果不设置,默认值在不同的 MySQL 版本表现不同,有的版本默认1M,有的版本默认4M

  1. 修改方法
  • 命令行修改

100M

set global max_allowed_packet = 100 * 1024 * 1024;
  • 配置文件修改 /etc/my.cnf、/etc/mysql/my.cnf、etc/mysql/mysql.conf.d/mysqld.conf
[mysqld]
max_allowed_packet = 1G

注意:修改配置文件以后,需要重启mysql服务才能生效。

注意

  1. 命令行修改时,不能用M、G,只能这算成字节数设置。配置文件修改才允许设置M、G单位。
  2. 命令行修改之后,需要退出当前回话(关闭当前mysql server链接),然后重新登录才能查看修改后的值。通过命令行修改只能临时生效,下次数据库重启后又复原了。
  3. max_allowed_packet 最大值是1G(1073741824),如果设置超过1G,查看最终生效结果也只有1G。
  • qq_43638135
    妲己再美究为妃: 博主没有想过自己接一些私活干吗?我现在还没毕业,但是我也确实听说外挂市场自动化游戏脚本市场挺火热的,并且报酬也很丰厚,但是具体的我也不是很清楚,求解答。 (1个月前 #47楼) 查看回复(2) 举报 回复
    22