1.原因

程序的sql语句比较长.max_allowed_packet默认是1024.于是就报错了.一开始手动改 global max_allowed_packet ,改完后.莫名奇妙被还原.后来改配置文件还是不起作用(其实配置文件一开始就没生效,后来发现的).好几次了.恼火的不行.于是昨天百度之.看了好几个都感觉不靠谱.其中有个说被黑客攻击了.建议开启 general_log 日志查看一下记录.打算试试.

2.现行

日志昨天开启.今天上午查看.看着看着就发现不对了.果不其然被黑客入侵了.

可能之前就已经攻破了.顺利的登录.看了一下系统版本.然后开始授权.接着开始加入了一个用户.

查了一下ip地址.浙江绍兴的.

连接记录

种木马文件.我到目录看了下.已经有好几个木马了.名字不一样.怪不得杀毒软件总报病毒.原因在这呢.

3.第一回合

先把黑客新增的用户删除.root用户不允许远程登录.新建了一个用户.给了基本权限.结果晚上的时候数据库还是有些连不上去.断断续续的

不停的暴力破解密码.虽然禁止root登录.但是这个感觉有点ddos的意思.我自己反而连接不上去了.

4.第二回合

默认是3306.黑客可以通过软件扫描.暴力破解.那就改端口.随便改了一个.于是我就能顺利的连接了.

5.后记

这次真是这么近第一次接触黑客.以前都是自己手贱点击不明安装程序什么的才会中木马.这次看他们的sql语句真的是大涨见识.好多自己都不太清楚.

比如写文件等等.没注意找让文件运行的语句.我想应该还会自动加载木马让它运行.

以前真是没怎么注意安全这方面.我想只要限制一下用户和改端口.我想他就没办法了.其实后面这个改端口比较重要.

我又想他会不会去扫端口去........

上面第二部分的图片有的是上午看到的.还有一部分是晚上登录不上去看到的.就放一起了.

这里说几个这次用到的命令

查看日志是否开启

show GLOBAL VARIABLES like '%general_log%' --查看是否开启
set GLOBAL general_log = on  --设置为开启
set GLOBAL general_log_file='g:\\mysql.log'  --日志路径

虽说开了比较占地方.但是感觉不对劲.或者开个一两天看看有没有异常.还是值得的.而且也不需要重启mysql服务

我这个是测试机用的mysql免安装版.启动比较好说.双击 mysqld.exe就行

关闭命令,在bin目录.按住shift.右键有个在此处运行命令窗口.然后执行下面的话就行.

安装目录bin\ mysqladmin -uroot -p shutdown

显示用户权限

show grants for root@'localhost';

查看用户

select * from mysql.user

插入用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 

授权

GRANT SELECT, INSERT, UPDATE, DELETE, DROP, INDEX, ALTER, EXECUTE ON `数据库名称`.* TO '用户名称'@'%'

说说这个改端口.这个免安装版目录下有个my-default.ini的文件.直接改这个是不启用的.要复制一份.改名为my.ini才可以.

改端口就是在这个配置文件加一句 port=xxx 就可以了.

由max_allowed_packet引发的mysql攻防大战的更多相关文章

  1. 一次由于字符集问题引发的MySQL主从同步不一致问题追查

    近期业务准备上线一个新功能,灌入数据之后突然发现主从同步停止,报错如下: Error 'Duplicate entry '66310984-2014-04-18 00:00:00--122815.sh ...

  2. mysql攻防之写入漏洞

    因为被别人利用mysql攻击,所以想在这里帮助大家提高一下自身mysql的安全.避免成为别人的肉鸡. show global variables like '%secure%'; 如果是这样则黑客可以 ...

  3. [转]一次Delete&Insert引发的Mysql死锁

    近日遇到一个比较奇怪的deadlock错误, 错误详情: Deadlock found when trying to get lock; try restarting transaction; nes ...

  4. MySQL报错:Packets larger than max_allowed_packet are not allowed 的解决方案

    在导大容量数据特别是CLOB数据时,可能会出现异常:“Packets larger than max_allowed_packet are not allowed”. 这是由于MySQL数据库有一个系 ...

  5. mysql max_allowed_packet自动重置为1024 终结解决

    背景: 测试环境1台centOS机器,最近一段频繁报“ Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too ...

  6. Mysql报错:Packet for query is too large (1121604 > 1048576).You can change this value on the server by setting the max_allowed_packet variable

    看错误信息,发现1048576个字节,正好是1*1024*1024byte,也就是1Mb. 这正是mysql默认的max_allowed_packet值. 使用sql语句: show VARIABLE ...

  7. mysql里max_allowed_packet的作用

    MySQL根据配置文件会限制Server接受的数据包大小.有时候大的插入和更新会受 max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置: 代码如下: show VAR ...

  8. MySql 错误 Err [Imp] 1153 - Got a packet bigger than 'max_allowed_packet' bytes

    今天在用Navicat导入SQL文件时报错:MySql 错误 Err [Imp] 1153 - Got a packet bigger than 'max_allowed_packet' bytes ...

  9. mysql 导入时报错:Got a packet bigger than‘max_allowed_packet’bytes

    原因是max_allowed_packet 值设置过小. 网上粘贴一段定义: max_allowed_packet:指代mysql服务器端和客户端在一次传送数据包的过程当中数据包的大小这个是定义mys ...

随机推荐

  1. kafka 0.8.2 消息消费者 consumer

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  2. js与jQuery对象相互转换

    // jQuery-->JavaScript 两种方法: $(selector).get(index) ; $(selector)[index]; // JavaScript-->jQue ...

  3. 小K的H5之旅-CSS基础(一)

    一.什么是CSS W3C标准中,倡导有3:其一为内容与表现分离,其二为内容与行为分离,其三为内容结构的语义化.其倡导中第一条的"表现"指的便可以说是CSS.CSS全称Cascadi ...

  4. 天气正好,hello world!

    两个多月,稀里糊涂的回来了,内心很迷茫,回来一周了,明知道还需要有一大堆东西需要去学,但是却找不到之前学习的状态,在寝室,在实验室,看着自己一向不喜欢的电视剧,无目的的逛着淘宝,刷着头条和知乎,就这么 ...

  5. python基础入门教程《python入门经典》

    第一章 在python中使用数字 1.用变量存储信息 1.1变量的类型 变量,用于存储很多不同的数据类型的信息. 基本数据类型 数据类型 存储内容 示例 integer 整   float 浮点   ...

  6. 数据库并行读取和写入(Python实现)

    这篇主要记录一下如何实现对数据库的并行运算来节省代码运行时间.语言是Python,其他语言思路一样. 前言 一共23w条数据,是之前通过自然语言分析处理过的数据,附一张截图: 要实现对news主体的读 ...

  7. 如何用VS进行程序调试

    VS是一个强大的IDE,如果你现在只会简单地用它查看一下执行效果,那就太大材小用了. 1. CRT函数报错 首先来说说最常见的一个编译错误.微信里常常收到这个错误的截图提问. CRT(C Runtim ...

  8. 封装TableView有可能用到的数据结构和UITableViewCell的一个继承类

    最近4年的时间,我已经做了5个App完全独立开发, 工作经历5个App, 维护了两个App. 在这期间用的最多的是UITableView, 因此也有许多感觉可以封装的. 现在就是我封装的. RXCel ...

  9. Spring学习(3)---Spring设值注入和构造注入

    (一)设值注入就是指要被注入的类中定义有一个setter()方法,并在参数中定义需要注入的对象.简单的看个例子. 建一个User类: package com.ioc; public class Use ...

  10. JavaScript中for循环的使用详解

    or循环是循环最紧凑的形式,并包含有以下三个重要部分组成: 循环初始化计数器的初始值.初始化语句执行循环开始之前. 测试语句,将测试如果给定的条件是真还是假.如果条件为真,那么将要执行的循环中给定的代 ...