err_connection_aborted(err_connection_aborted怎么解决)

最近有很多读者朋友和朋友交朋友err_connection_aborted有疑问。有网友整理了相关内容,希望能回答你的疑惑。err_connection_aborted如何解决,本网站也为您找到了问题的答案,希望对您有所帮助。

标签

mysql主从中断, 慢慢查询,慢慢查询太大,my_net_writ()

作者

Matthew

时间

2022-02-09

告警

出现告警!触发报警名称: 192.168.32.79:MySQL IO thread stopped报警开始时间:2022.02.09 09:08:20报警状态: PROBLEM告警级别: 严重监控项值:Slave IO thread running (06_slave_192.168.32.79:mysql.slave.Slave_IO_Running): Connecting原始事件ID: 170558153当前时间:2022.02.09 09:08:23

查看错误的日志

数据库异常时间。022-02-09T08:42:12.598396 08:00 50408604[Note]Aborted connection 50408604 to db: 'finenter' user: 'finenter' host: '192.168.50.56' (Got an error reading communication packets)2022-02-09T01:07:34.069934Z mysqld_safe Number of processes running now: 02022-02-09T01:07:34.073206Z mysqld_safe mysqld restarted2022-02-09T09:07:34.308228 08:00 0[Warning]'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.2022-02-09T09:07:34.308361 08:00 0[Note]--secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled2022-02-09T09:07:34.308395 08:00 0[Note]/usr/local/mysql/bin/mysqld (mysqld 5.7.16-log) starting as process 22048 ..这一段是mysql开始启动的sql2022-02-09T09:07:37.104002 08:00 0[Note]InnoDB: Opened 3 undo tablespaces2022-02-09T09:07:37.104025 08:00 0[Note]InnoDB: 3 undo tablespaces made active2022-02-09T09:07:37.104252 08:00 0[Note]InnoDB: Highest supported file format is Barracuda.2022-02-09T09:07:37.303950 08:00 0[Note]InnoDB: Log scan progressed past the checkpoint lsn 93524331760522022-02-09T09:07:37.304003 08:00 0[Note]InnoDB: Doing recovery: scanned up to log sequence number 93524331811522022-02-09T09:07:37.501117 08:00 0[Note]InnoDB: Doing recovery: scanned up to log sequence number 93524331811522022-02-09T09:07:37.506272 08:00 0[Note]InnoDB: Database was not shutdown normally!2022-02-09T09:07:37.506291 08:00 0[Note]InnoDB: Starting crash recovery.2022-02-09T09:07:37.816635 08:00 0[Note]InnoDB: Transaction 11296772973 was in the XA prepared state.2022-02-09T09:07:37.824610 08:00 0[Note]InnoDB: Transaction 11296772973 was in the XA prepared state.2022-02-09T09:07:37.828609 08:00 0[Note]InnoDB: Transaction 11296772975 was in the XA prepared state.2022-02-09T09:07:37.828632 08:00 0[Note]InnoDB: Transaction 11296772975 was in the XA prepared state.2022-02-09T09:07:37.828647 08:00 0[Note]InnoDB: 2 transaction(s) which must be rolled back or cleaned up in total 0 row operations to undo2022-02-09年数据库启动T09:07:41.579857 08:00 0[Note]/usr/local/mysql/bin/mysqld: ready for connections.Version: '5.7.16-log' socket: '/usr/local/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL)2022-02-09T09:07:44.746676 08:00 47[Note]Aborted connection 47 to db: 'unconnected' user: 'app_finenter' host: '192.168.50.116' (Got an error reading communication packets)2022-02-09T09:07:45.907252 08:00 75[Note]Aborted connection 75 to db: 'unconnected' user: 'app_finenter' host: '192.168.50.115' (Got an error reading communication packets)2022-02-09T09:08:34.038236 08:00 259[Note]Start binlog_dump to master_thread_id(259) slave_server(32110), pos(, 4)2022-02-09T09:08:34.039017 08:00 260[Note]Start binlog_dump to master_thread_id(260) slave_server(3280), pos(, 4)2022-02-09T09:08:34.042458 08:00 261[Note]Start binlog_dump to master_thread_id(261) slave_server(3279), pos(, 4)2022-02-09T09:08:34.046842 08:00 262[Note]Start binlog_dump to master_thread_id(262) slave_server(3309), pos(, 4)2022-02-09T09:08:34.077449 08:00 264[Note]Start binlog_dump to master_thread_id(264) slave_server(3217), pos(, 4)2022-02-09T09:08:34.083366 08:00 261[Note]Aborted connection 261 to db: 'unconnected' user: 'repl' host: '192.168.32.79' (Failed on my_net_write())2022-02-09T09:08:34.111652 08:00 263[Note]Start binlog_dump to master_thread_id(263) slave_server(3331), pos(, 4)2022-02-09T09:09:12.242692 08:00 0[Note]InnoDB: Buffer pool(s) load completed at 220209 9:09:12

重启原因

用pt工具分析较大的慢查询文件,由于资源不足mysql异常重启了

从库报错

Last_IO_Error: Fatal error: Failed to run 'after_read_event' hook

分析源码

我们知道,mysqld多线程C/S网络应用的架构,所以通过网络读写数据是必不可少的,所以写数据可能会失败。如果mysql这种错误发生在错误的日志中,说明是mysqld将网络包发送到客户端时失败,当然,引申到复制场景,说明是在复制过程中,master向slave推送binlog写网络数据包失败。

查看master_dump_thread 逻辑

需要确定master在send binlog退出失败dump thread根据错误的日志提示,进入相关代码查看逻辑。错误代码在以下位置inline int Binlog_sender::send_packet(){ DBUG_ENTER("Binlog_sender::send_packet"); DBUG_PRINT("info", ("Sending event of type %s", Log_event::get_type_str( (Log_event_type)m_packet.ptr()[1 EVENT_TYPE_OFFSET]))); // We should always use the same buffer to guarantee that the reallocation // logic is not broken. if (DBUG_EVALUATE_IF("simulate_send_error", true, my_net_write( m_thd->get_protocol_classic()->get_net(), (uchar*) m_packet.ptr(), m_packet.length()))) { set_unknow_error("Failed on my_net_write()"); DBUG_RETURN(1); }

调用关系

(gdb) bt#0 Binlog_sender::send_packet (this=0x7fea741655d0) at /data/mysql-server-explain_ddl/sql/rpl_binlog_sender.cc:1158#1 0x000000000190f74e in Binlog_sender::send_packet_and_flush (this=0x7fea741655d0) at /data/mysql-server-explain_ddl/sql/rpl_binlog_sender.cc:1182#2 0x000000000190e181 in Binlog_sender::send_heartbeat_event (this=0x7fea741655d0, log_pos=504) at /data/mysql-server-explain_ddl/sql/rpl_binlog_sender.cc:1143#3 0x000000000190ee01 in Binlog_sender::wait_with_heartbeat (this=0x7fea741655d0, log_pos=504) at /data/mysql-server-explain_ddl/sql/rpl_binlog_sender.cc:633#4 0x000000000190ecd7 in Binlog_sender::wait_new_events (this=0x7fea741655d0, log_pos=504) at /data/mysql-server-explain_ddl/sql/rpl_binlog_sender.cc:599#5 0x000000000190e938 in Binlog_sender::get_binlog_end_pos (this=0x7fea741655d0, log_cache=0x7fea74165020) at /data/mysql-server-explain_ddl/sql/rpl_binlog_sender.cc:365#6 0x000000000190c5e0 in Binlog_sender::send_binlog (this=0x7fea741655d0, log_cache=0x7fea74165020, start_pos=123) at /data/mysql-server-explain_ddl/sql/rpl_binlog_sender.cc:313#7 0x000000000190c1b4 in Binlog_sender::run (this=0x7fea741655d0) at /data/mysql-server-explain_ddl/sql/rpl_binlog_sender.cc:225

结果层层返回到Binlog_sender::run

大致看下Binlog_sender::run的逻辑

void Binlog_sender::run(){ while (!has_error() && !m_thd->killed) { if (send_binlog(&log_cache, start_pos)) break; }}

解释到这里,大概就清楚了吧。

主题测试文章,只做测试使用。发布者:艾迪号,转转请注明出处:https://www.cqaedi.cn/baike/39723.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年 1月 11日 下午3:33
下一篇 2023年 1月 11日 下午4:10

相关推荐

  • 12123网上补办车牌流程(12123网上补办车牌流程怎么是临时车牌)

    最近有很多读者朋友对12123网上补办车牌流程有疑问。由部分网友整理出相关内容希望能够解答你的疑惑,关于12123网上补办车牌流程怎么是临时车牌,本站也已经为你找到了问题的答案,希望能帮助到你。 12123补换号牌1个工作日会受理,制作号牌约3个工作日,寄送看地址的远近,所以整个过程最快要7个工作日领到。 12123换牌照具体流程 1、首先安装交管12123…

    百科大全 2022年 12月 17日
    14200
  • 首的部首是什么偏旁(首的部首是什么偏旁结构)

    最近有很多读者朋友对部首是什么偏旁有疑问。有网友整理了相关内容,希望能回答你的疑惑。这个网站已经为你找到了问题的答案,希望对你有所帮助。 楷书间架结构公式之一「偏旁部首」(01-40) 楷书偏旁的基本原则 偏旁是由两个以上的笔画排列组合固定后,所构成 汉字的结构单位是基本笔画的初步合成,点画只是汉字的基础 由于偏旁部首先使用频率,偏旁部件是构成汉字的部件 复…

    百科大全 2023年 4月 15日
    2000
  • 女主角叫夏悠悠的小说(女主角叫夏悠悠的小说名字)

    最近有很多读者朋友对女主角夏悠悠的小说有疑问。有网友整理了相关内容,希望能回答你的疑惑。关于女主角夏悠悠的小说名字,这个网站已经为你找到了问题的答案,希望对你有所帮助。 “我…”夏小颜抖着嘴唇,眼睛通红,再也说不出一句话了。 她能不生气,那个女孩不是一两次,那是她的丈夫,有什么问题? “我不离婚,”夏小颜倔强地一字一句地说,指关节也被她抓得泛白。 七年的婚姻…

    百科大全 2023年 3月 11日
    3100
  • 泉的拼音和组词(泉的拼音和组词语有哪些)

    部编2017版语文七年级上册生字词汇总? 1. 春?? 嗡(wēng) ?朗润(lǎng??rùn)? ?酝酿(yùn??niàng) ?卖弄(mài??nòng) 喉咙(hóu?lóng)? 应和(yìng??hè) 嘹亮(liáo??liàng)? 烘托(hōng??tuō)? 静默(jìng??mò)??风筝(fēng??zhēng)? 抖擞(dǒu?…

    百科大全 2023年 5月 10日
    500
  • 世界十大著名风景(世界十大著名风景简介)

    最近,许多读者对世界十大著名风景有疑问。有网友整理了相关内容,希望能回答你的疑惑。关于世界十大著名风景简介,这个网站已经为你找到了问题的答案,希望对你有所帮助。 最近,韩国首尔梨泰庭院的踩踏事故造成153人死亡,100多人受伤不同程度。这是韩国历史上最严重的踩踏事件。事故中悲惨的一幕震惊了全世界。 韩国事故现场 踩踏事件一直无法预防,悲剧也令人悲伤。今天,让…

    百科大全 2023年 2月 10日
    3100

站长QQ

7401002

在线咨询: QQ交谈

邮件:7401002@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信