标签:mit var global comm home log文件 format 文件 group
最近做个项目,由于团队人员不在同一个办公地点,就弄了一台外网挂靠机做开发和测试环境。
在开发和测试的过长中,mysql 频繁的报:Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1354 > 1024). You can change this value on the server by setting the max_allowed_packet‘ variable。
设置 max_allowed_packet 的值后,过一会儿后,又会被重置为默认值。
最后我发现是被黑客攻击了。
一、开启mysql日志,记录所有sql执行命令。
mysql> show variables like ‘%log%‘; +-----------------------------------------+---------------------------------+ | Variable_name | Value | +-----------------------------------------+---------------------------------+ | back_log | 50 | | binlog_cache_size | 32768 | | binlog_direct_non_transactional_updates | OFF | | binlog_format | STATEMENT | | expire_logs_days | 0 | | general_log | OFF | | general_log_file | /var/run/mysqld/mysqld.log | | innodb_flush_log_at_trx_commit | 1 | | innodb_locks_unsafe_for_binlog | OFF | | innodb_log_buffer_size | 1048576 | | innodb_log_file_size | 5242880 | | innodb_log_files_in_group | 2 | | innodb_log_group_home_dir | ./ | | innodb_mirrored_log_groups | 1 | | log | OFF | | log_bin | OFF | | log_bin_trust_function_creators | OFF | | log_bin_trust_routine_creators | OFF | | log_error | /var/log/mysqld.log | | log_output | FILE | | log_queries_not_using_indexes | OFF | | log_slave_updates | OFF | | log_slow_queries | OFF | | log_warnings | 1 | | max_binlog_cache_size | 18446744073709547520 | | max_binlog_size | 1073741824 | | max_relay_log_size | 0 | | relay_log | | | relay_log_index | | | relay_log_info_file | relay-log.info | | relay_log_purge | ON | | relay_log_space_limit | 0 | | slow_query_log | OFF | | slow_query_log_file | /var/run/mysqld/mysqld-slow.log | | sql_log_bin | ON | | sql_log_off | OFF | | sql_log_update | ON | | sync_binlog | 0 | +-----------------------------------------+---------------------------------+ 38 rows in set (0.00 sec)
mysql> set global general_log = ON;
Query OK, 0 rows affected (0.01 sec)
二、第二天拿到log文件(/var/run/mysqld/mysqld-slow.log)
发现大量修改痕迹和sql注入。
从log中得知,有很多ip登录,有全国各地的,还有美国的,主要进行了这些操作:修改mysql相关安全参数,设置了一些变量值,从某一地址下载脚本,并执行(应该是挂木马)。
三、临时解决方案:
1、重装系统,或者下载杀毒软件。
2、开启防火墙,只开放提供服务的端口。
3、用户名和密码都设置复杂一点。
mysql max_allowed_packet 反复被重置,原来是服务器被黑客攻击了。
标签:mit var global comm home log文件 format 文件 group
原文地址:http://www.cnblogs.com/bmw320li/p/7001176.html