mysqlmax-allowed-packet自动重置为1024终结解决.pdf

mysqlmax-allowed-packet自动重置为1024终结解决.pdf

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

mysqlmax_allowed_packet⾃⾃动动重重置置为为1024终终结结解解决决

背景:

测试环境1台centOS机器,最近⼀段频繁报“

Causedby:com.mysql.jdbc.PacketTooBigExcetion:Packetforqueryistoolarge(13541024).Youcanchangethisvalueontheserverbysettingthemax_allowed_acketvariable

”,记录解决问题思路,最终找到问题根源:⿊客⼊侵,总结经验。

思路:

查看max_allowed_acket:

showglobalVARIABLESlike%max_allowed_acket%;(注意:mysql系统参数分为session和global之分,session只当前连接⽣效,global全局连

接⽣效)

1).通过mysql客户端,setglobalmax_allowed_acket=2*1024*1024*10;(修改后,重启数据库会恢复为默认)

2).修改my.cnf在[mysqld]段或者mysqlserver配置段进⾏修改。(终极修改,修改后重启数据库,永久⽣效)

如下:max_allowed_acket=20M

通过⽅法2修改完成后,通过客户端⽣效。但发现,过⼀段时间(有时⼏个⼩时,有时1~2天),⾃动变为1024。

思考:google发现有说被⿊客攻击,本来不相信,因为是内⽹环境。⽆奈出现情况,越来越频繁,刚更改后,过⼀会就变为1024。以下帖⼦给了启

发:

mysql有general_log,会记录所有执⾏sql命令,因为耗费性能,默认是关闭。

mysqlshowvariableslike%log%;

+++

|Variable_name|Value|

+++

|back_log|50|

|binlog_cache_size|32768|

|binlog_direct_non_transactional_udates|OFF|

|binlog_format|STATEMENT|

|exire_logs_days|0|

|general_log|OFF|

|general_log_file|/var/run/mysqld/mysqld.log|

打开general_log:

mysqlsetglobalgeneral_log=ON;

查看general_log:

tail-f/var/run/mysqld/mysqld.log|gremax_allowed_acket(查看log,但打印⼤量实时sql操作)

tail-f/var/run/mysqld/mysqld.log|gremax_allowed_acket1.txt(过滤max_allowed_acket,并输出到⽂件1.txt)

果然发现,有以下修改:

1608048:59:41172QuerySETGLOBALm

文档评论(0)

祝秀珍 + 关注
实名认证
内容提供者

好文档 大家想

1亿VIP精品文档

相关文档