从NetCore报错到MySql安全

从NetCore报错到MySql安全
原文:从NetCore报错到MySql安全

之前项目在测试服务器上的一些接口时不时会报出下面的错误:(采用Abp框架)

"SocketException: 你的主机中的软件中止了一个已建立的连接。
STACK TRACE:    at MySqlConnector.Protocol.Serialization.SocketByteHandler.WriteBytesAsync(ArraySegment`1 data, IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\Protocol\Serialization\SocketByteHandler.cs:line 90
--- End of stack trace from previous location where exception was thrown ---at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)at MySqlConnector.Utilities.ValueTaskExtensions.<ContinueWith>d__0`2.MoveNext() in C:\projects\mysqlconnector\src\MySqlConnector\Utilities\ValueTaskExtensions.cs:line 8
--- End of stack trace from previous location where exception was thrown ---at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)at MySqlConnector.Core.ServerSession.TryAsyncContinuation(Task`1 task) in C:\projects\mysqlconnector\src\MySqlConnector\Core\ServerSession.cs:line 1225at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
--- End of stack trace from previous location where exception was thrown ---at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)at MySqlConnector.Core.TextCommandExecutor.<ExecuteReaderAsync>d__1.MoveNext() in C:\projects\mysqlconnector\src\MySqlConnector\Core\TextCommandExecutor.cs:line 36
--- End of stack trace from previous location where exception was thrown ---at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)at MySql.Data.MySqlClient.MySqlCommand.<ExecuteNonQueryAsync>d__60.MoveNext() in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlCommand.cs:line 261
--- End of stack trace from previous location where exception was thrown ---at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlCommand.cs:line 62at MySql.Data.MySqlClient.MySqlTransaction.Dispose(Boolean disposing) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlTransaction.cs:line 81at Microsoft.EntityFrameworkCore.Storage.RelationalTransaction.Dispose()at Abp.EntityFrameworkCore.Uow.DbContextEfCoreTransactionStrategy.Dispose(IIocResolver iocResolver)at Abp.EntityFrameworkCore.Uow.EfCoreUnitOfWork.DisposeUow()at Abp.Domain.Uow.UnitOfWorkBase.Dispose()at Abp.AspNetCore.Mvc.Uow.AbpUowActionFilter.<OnActionExecutionAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeNextActionFilterAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeInnerFilterAsync>d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeNextExceptionFilterAsync>d__24.MoveNext()
"
View Code
MySql.Data.MySqlClient.MySqlException (0x80004005): Failed to read the result set. 
---> System.IO.EndOfStreamException: Expected to read 4 header bytes but only received 0.at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)at MySqlConnector.Protocol.Serialization.ProtocolUtility.DoReadPayloadAsync(BufferedByteReader bufferedByteReader, IByteHandler byteHandler, Func`1 getNextSequenceNumber, ArraySegmentHolder`1 previousPayloads, ProtocolErrorBehavior protocolErrorBehavior, IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\Protocol\Serialization\ProtocolUtility.cs:line 462at MySqlConnector.Protocol.Serialization.StandardPayloadHandler.ReadPayloadAsync(ArraySegmentHolder`1 cache, ProtocolErrorBehavior protocolErrorBehavior, IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\Protocol\Serialization\StandardPayloadHandler.cs:line 37at MySqlConnector.Core.ServerSession.ReceiveReplyAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\Core\ServerSession.cs:line 645
--- End of stack trace from previous location where exception was thrown ---at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)at MySqlConnector.Core.ServerSession.TryAsyncContinuation(Task`1 task) in C:\projects\mysqlconnector\src\MySqlConnector\Core\ServerSession.cs:line 1230at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
--- End of stack trace from previous location where exception was thrown ---
View Code

然后我使用swagger+miniprofiler,查看生成的sql语句

 

查看Mysql错误日志:

Aborted connection 422 to db: '数据库名称' user: 'root' host: 'localhost' (Got a packet bigger than 'max_allowed_packet' bytes)

可能因为传输的数据过大,而Mysql的max_allowed_packet默认为1024b,导致sql执行不成功。

然后将Mysql配置文件中的max_allowed_packet值改为max_allowed_packet = 4M

重启Mysql,问题解决。

 

然而过了一段时间,同样的报错又出现了,首先看了下max_allowed_packet的值,果然max_allowed_packet又被修改为了1024b,查看命令如下:

show variables like '%max_allowed_packet%';

 

然后询问同事,他们说并没有动数据库,上网查了下说是有可能是被攻击了。

于是我开启了Mysql的日志,命令如下:

set global general_log=on;

 

在日志里看到了被修改信息,然后看了下ip~~~

还发现了几个新增用户TvT,把它删掉:

 

查看Mysql用户命令如下:

select * from mysql.user

 

目前解决方法是,加强密码,限制远程连接ip:把上图的% 改为指定ip段xxx.xxx.xxx.%,重启Mysql。

posted on 2019-02-13 08:25 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/10367986.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

减治法在查找算法中的应用(JAVA)--快速查找

减治法在查找算法中的应用 快速查找&#xff1a;选择问题是求一个n个数列表的第k个最小元素的问题&#xff0c;这个数k被称为顺序统计量。对于k1或kn来说&#xff0c;这并没有什么意义&#xff0c;我们通常会要找出这样的元素&#xff1a;该元素比列表中一半元素大&#xff0…

JavaScript中使用Json

转载于:https://www.cnblogs.com/lyonwu/p/10368989.html

Navicat Premium试用期破解方法(转)

转载网址https://blog.csdn.net/Jason_Julie/article/details/82864187 1、按步骤安装Navicat Premium&#xff0c;如果没有可以去官网下载&#xff1a;http://www.navicat.com.cn/download/navicat-premium 2、安装好后下载激活文件&#xff1a;https://pan.baidu.com/s/1kVgT…

减治法在生成子集问题中的应用(JAVA)--递归、二进制反射格雷码

减治法在生成组合对象问题中的应用 生成子集问题&#xff1a;经典的背包问题就是求解一个最优子集的问题&#xff0c;这里我们来讨论一个更简单的问题。对于任意一个集合来说&#xff0c;它都存在2^n个子集&#xff08;一个集合所有的子集集合称为幂集&#xff09;。 1&…

减治法解决俄式乘法问题(JAVA)

以上是在《算法设计与分析基础》一书中给出的定义。 这种算法只包括折半、加倍、相加这几个操作&#xff0c;在计算时&#xff0c;不需要用九九乘法表 。 同时&#xff0c;这个方法每次都会将计算的规模减少&#xff0c;运用了减治的思想 public class Main {public static…

减治法解决尼姆(Nim)游戏/拈游戏问题(JAVA)

尼姆游戏是一种两个人玩的回合制数学策略游戏。游戏者轮流从一堆棋子&#xff08;一共有好几堆&#xff0c;一次只能从其中一堆拿。&#xff09;&#xff08;或者任何道具&#xff09;中取走一个或者多个&#xff0c;最后不能再取的就是输家。当指定相应数量时&#xff0c;一堆…

Xshell报错“The remote SSH server rejected X11 forwarding request.”

xshell连接centos7&#xff0c;报错&#xff1a;“The remote SSH server rejected X11 forwarding request.” 打开文件/etc/ssh/sshd_config,修改下面的参数 X11Forwarding yes 如果有&#xff0c;那就不用修改 修改xshell连接属性 把勾选去掉即可&#xff01; 参考&#xff…

蛮力法在求解“最近对”问题中的应用(JAVA)

最近对问题是在计算几何问题中最简单的&#xff0c;是指在一个包含n个点的集合中&#xff0c;找到距离最近的两个点&#xff0c;我们这里只研究二维空间中的版本&#xff0c;高维计算基本类似&#xff0c;区别只在于计算两点之间距离的公式略有不同&#xff0c;下面是标准的欧几…

蛮力法在求解凸包问题中的应用(JAVA)

凸包问题向来是计算几何中最重要的问题之一&#xff0c;许多各式各样的应用大多要么本身就是图凸包问题要么其中一部分需要按照凸包问题解决。 凸集合定义&#xff1a;对于平面上一个点集合&#xff0c;如果集合中的任意两点p和q为端点的线段都属于该集合&#xff0c;那么称这…

蛮力法在求解最优解问题中的应用(JAVA)--旅行家问题、背包问题、分配问题

蛮力法在求解最优解问题中的应用 1、TSP&#xff08;旅行商问题&#xff09;要求我们找出一条n个给定城市之间的最短路径&#xff0c;使我们再回到出发的城市之前&#xff0c;对欧每个城市都只访问一次。我们可以用赋权图来描述这个问题&#xff0c;那么算法的目的就是求解一个…

分治法在排序算法中的应用(JAVA)--归并排序

分治法最常用的就是将规模为n的实例划分成两个n规模为n/2的实例 。推广到一般的情况&#xff0c;我们可以将规模为n的实例划分为b个规模为n/b的实例。这样对于算法的运行时间存在递推式&#xff1a;T(n) aT&#xff08;n/b&#xff09;f&#xff08;n&#xff09;&#xff0c;…

分治法在排序算法中的应用(JAVA)--快速排序(Lomuto划分、Hoare划分、随机化快排)

分治法在排序算法中的应用--快速排序 时间复杂度&#xff1a;平均O(nlogn)&#xff0c;最坏O(n^2) 如果说归并排序是按照元素在数组中的位置划分的话&#xff0c;那么快速排序就是按照元素的值进行划分。划分方法由两种&#xff0c;本节将主要介绍Huare划分&#xff0c;这也是…

Excel中用REPT函数制作图表

本文从以下七个方面&#xff0c;阐述在Excel中用REPT函数制作图表&#xff1a; 一. 图形效果展示 二. REPT语法解释 三. REPT制作条形图 四. REPT制作漏斗图 五. REPT制作蝴蝶图 六. REPT制作柱状图 七. REPT制作甘特图 一. 图形效果展示 这些图表都是用REPT函数制作成的&#…

分治法在求解“最近对”问题中的应用(JAVA)

分治法在求解“最近对”问题中的应用 最近对问题在蛮力法中有过讲解&#xff0c;时间复杂度为O(n^2)&#xff0c;下面将会采用分治法讲解这类问题&#xff0c;时间复杂度会降到O(nlogn) 我们将笛卡尔平面上n>1个点构成的集合称为P。若2< n < 3时&#xff0c;我们1可…

【转】python的复制,深拷贝和浅拷贝的区别

在python中&#xff0c;对象赋值实际上是对象的引用。当创建一个对象&#xff0c;然后把它赋给另一个变量的时候&#xff0c;python并没有拷贝这个对象&#xff0c;而只是拷贝了这个对象的引用 一般有三种方法&#xff0c; alist[1,2,3,["a","b"]] &#x…

分治法在求解凸包问题中的应用(JAVA)--快包算法

分治法在求解凸包问题中的应用&#xff08;JAVA&#xff09; 之前写过一篇蛮力法在求解凸包问题中的应用&#xff08;JAVA&#xff09;还算简单易懂&#xff0c;没有基础的读者最好先去阅读以下。这里用分治法来求解凸包问题&#xff0c;由于这个算法和快速排序十分相似&#x…

动态规划在求解硬币问题中的应用(JAVA)--币制最大化、找零问题、硬币收集问题

动态规划&#xff1a;这种算法思想多用来求解最优化问题&#xff0c;因此这里存在一个最优化法则&#xff0c;法则指出最优化问题任一实例的最优解&#xff0c;都是由其子实例的最优解构成的。一般来说&#xff0c;自底向上的动态规划更容易设计&#xff0c;但是带有记忆功能的…

使用网络TCP搭建一个简单文件下载器

说明&#xff1a;该篇博客是博主一字一码编写的&#xff0c;实属不易&#xff0c;请尊重原创&#xff0c;谢谢大家&#xff01; 目录 一丶项目介绍 二丶服务器Server 三丶测试TCP server服务器 四丶客户端Client 五丶测试客户端向服务器下载文件 一丶项目介绍 1.叙述 生活中大家…

动态规划在求解背包问题中的应用(JAVA)--回溯法、记忆化法

动态规划在求解背包问题中的应用 背包问题向来是动态规划的典型问题&#xff0c;给定n个重量为w1,w2,...,wn&#xff0c;价值为v1,v2,...,vn的物品和一个称重量为W的背包&#xff0c;求这些物品中最优价值的一个子集&#xff0c;且能够装到背包中。 之前用蛮力法做过背包问题蛮…

JS跨域问题

因为浏览器的同源策略&#xff0c;默认情况下&#xff0c;JavaScript在发送AJAX请求时&#xff0c;URL的域名必须和当前页面完全一致。 完全一致的意思是&#xff0c;域名要相同&#xff08;www.example.com和example.com不同&#xff09;&#xff0c;协议要相同&#xff08;ht…