记录一下一个 MySQL 服务经常出现 max_allowed_packet 重置为 1024 的情况。

最近遇到了这个问题,MySQL 服务是运行在一台华为云的机器上的。

最初查资料,查到了 Stackoverflow 上,看到了排第一的答案讲很有可能是被黑客入侵了,我还感觉不相信,但是后边又查了一些资料,发现国内也有人遇到过:

mysql max_allowed_packet自动重置为1024 终结解决 - 南坡小枣 - 博客园

Mysql max_allowed_packet自动重置为1024(黑客入侵?)_Abysscarry的博客-CSDN博客

但是除了这个参数被重置为 1024,也并没有看到别的什么现象,也没又受到什么勒索攻击,不由感叹一下,如果真的是黑客,什么黑客这么无聊。

彻底的解决方案就是把服务器的密码、MySQL 用户的密码都设置为高强度的密码,后来改完之后观察了一段时间没有再出现这钟情况。

关于 max_allowed_packet 一些有用的 SQL

查看 max_allowed_packet 目前的设置

1
SELECT @@global.max_allowed_packet, @@session.max_allowed_packet;

修改为合适的值(根据你的情况做调整):

1
SET global max_allowed_packet = 16 * 1024 * 1024;

参考资料

  1. Why mysql max_allowed_packet reset to 1m automatically - Stack Overflow
  2. MySQL :: MySQL 5.7 Reference Manual :: B.3.2.8 Packet Too Large
  3. mysql max_allowed_packet自动重置为1024 终结解决 - 南坡小枣 - 博客园
  4. Mysql max_allowed_packet自动重置为1024(黑客入侵?)_Abysscarry的博客-CSDN博客
  5. mysql - max_allowed_packet is resetting to 1024 because some unknown application - Stack Overflow
  6. Mysql max_allowed_packet自动重置为1024的情况-腾讯云开发者社区-腾讯云