之前项目在测试服务器上的一些接口时不时会报出下面的错误:(采用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.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.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.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.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.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.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.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。

mysql 失败 捕获 net core_从NetCore报错到MySql安全相关推荐

  1. 从NetCore报错到MySql安全

    从NetCore报错到MySql安全 原文:从NetCore报错到MySql安全 之前项目在测试服务器上的一些接口时不时会报出下面的错误:(采用Abp框架) "SocketException ...

  2. mysql 5.6 主主复制_Percona MySQL 5.6 主主复制环境报错Got fatal error 1236 from master.....

    Percona MySQL 5.6 主主复制环境报错: mysql> show slave status\G *************************** 1. row ******* ...

  3. mysql table plugin,MySql报错Table mysql.plugin doesn’t exist的解决方法

    MySql报错Table mysql.plugin doesn't exist的解决方法 一般产生原因是手工更改my.ini的数据库文件存放地址导致的 mysql服务启动时候找不到内置数据库" ...

  4. mysql远程一会不用卡住_连接远程MySQL数据库项目启动时,不报错但是卡住不继续启动的,...

    连接远程MySQL数据库项目启动时,不报错但是卡住不继续启动的, 2018-03-12 17:08:52.532DEBUG[localhost-startStop-1]o.s.beans.factor ...

  5. mysql 安装1364_安装完MySQL,在配置最后一步报错error Nr.1364

    [原文:http://www.mysqlperformanceblog.com/2014/01/28/10-mysql-settings-to-tune-after-installation/基本配置 ...

  6. Mysql解决微信特殊符号昵称入库报错乱码

    Mysql解决微信特殊符号昵称入库报错乱码 目录: Mysql解决微信特殊符号昵称入库报错乱码 环境声明 思考乱码原因 怎么解决 解决自己代码和微信编码统一 解决代码传输到数据库,序列化反序列化问题 ...

  7. mysql table plugin_MySQL 启动报错Table 'mysql.plugin' doesn't exis(转载)

    安装完成后,按照网上说启动mysql时却报了以下错误: [root@localhost bin]# ./mysqld 2015-10-23 16:54:55 0 [Warning] TIMESTAMP ...

  8. 处理mysql启动报错Table 'mysql.plugin' doesn't exis

    2015-10-23 本来今天工作会比较忙,可惜开发在配置云平台的时候居然出现了各种奇奇怪怪的问题,原来在测试环境好好的,就是配置到云平台后就出问题咯,明天周六了,搞到我要加班了,反正问题我不管了,快 ...

  9. python 连接mysql报错:mysql.connector.errors.NotSupportedError: Authentication plugin ‘caching_sha2_passw

    python 连接mysql报错:mysql.connector.errors.NotSupportedError: Authentication plugin 'caching_sha2_passw ...

最新文章

  1. Direct2D教程(三)简单几何图形
  2. 160个CrackMe002
  3. 绕过网关访问图片上传并解决跨域问题
  4. GD32 使用stm32 固件库
  5. 两大数学家是如何撕破脸的|数学界的主义的之争
  6. 针对12306.cn网站应用架够的一些看法
  7. mqadmin命令运行出错
  8. CreateaJointCurve.txt
  9. 【安卓8】文件的读写
  10. 简单的全局异常统一处理
  11. Scrapy爬取并分析CSDN热门文章标题
  12. 微信小程序开发视频教程
  13. 电脑数据格式化如何快速简单恢复数据?
  14. C语言中的这些经典题目你都会了吗?【一文带你回顾经典】【全程高能】
  15. 【读者来信】你所认识的世界不一定是真实的
  16. WebView(一)
  17. html用九张图片做出九宫图,.九图片详解和制作
  18. 数据结构与算法:用链表实现无序列表。
  19. LeetCode Weekly Contest 199
  20. 基于STM32的DMX512开发笔记

热门文章

  1. 安卓逆向例子--某菠菜APP token pwd 参数
  2. 三万字硬核详解:yolov1、yolov2、yolov3、yolov4、yolov5、yolov7
  3. 关于IE8浏览器下,split()和replace()函数的不兼容问题
  4. 信号系统笔记(二)连续系统的时域分析
  5. 读书笔记《能力陷阱》第四章:试着朝更多不同的方向发展自己
  6. 一键代理浏览器_支持IPv6的防关联指纹浏览器 VMLogin 支持模拟电脑名称、支持修改MAC地址、支持模拟真人输入、支持自定义经纬度...
  7. STM32CubeMX快速生成STM32F407ZG芯片寄存器初始化
  8. windows远程桌面功能和粘贴拷贝功能
  9. 大批程序员被劝退。。。
  10. 买工业路由器看什么参数