系统上线后,mysql经常报这个问题
Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (2051 > 1024). You can change this value on the server by setting the max_allowed_packet' variable
通过修改/etc/my.cnf 下max_allowed_packet的值,即max_allowed_packet = 1024m
修改后短暂解决了,但是过一段时间还是报 >1024 ,于是不间断的重启(怀疑被黑了,但是没处理。。。),后来一次直接mysql直接死掉。cpu占到95%以上,启动后不到一分钟即被关掉。后来查找原因,在mysql的数据路径下, /home/mysql/mysql/data 下看到很多莫名的文件,一进去后发现都是可执行文件。确定无疑肯定中了木马,被攻击了。于是进行如下解决:
1、清除可疑文件,停掉mysql,重新启动服务器;
2、修改防火墙,增加黑名单,只允许固定ip和端口访问。(之前防火墙给关了。。。。)
3、修改mysql root的密码,增加复杂度,防止黑客撞库破解(只是增加破解难度)
4、删掉多余的系统用户。只保留host为127.0.0.1的root和应用的账户。同时应用的账户host改成具体的ip
5、把mysql的端口改掉。默认是3306,这个是黑客经常关顾的端口。
6、如果还是出现奇怪问题,则开启general_log日志。记录每次命令,待下次分析(general_log会记录大量执行命令,因次耗资源,默认是关闭的。建议系统无异常时关掉。)