绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
排坑日记之批量从库IO进程停止处理
2019-10-12 10:45:16


早上刚睁眼,看到了一堆数据库告警的短信,其中一个内容如下:
Problem started at 05:02:58 on 2019.10.12Problem name: Slave is stopped on 192.168.56.31:3306Host: 192.168.56.31Severity: High
眼看这是刚从其他DBA交接过来的数据库,不敢怠慢,立马起来查看从库日志信息如下:
2019-10-12T05:01:16.506540+08:00 1 [Note] Slave I/O thread killed while reading event for channel ''2019-10-12T05:01:16.506605+08:00 1 [Note] Slave I/O thread exiting for channel ''read up to log 'mybinlog.001265', position 388024306
即非正常停止。
再登录主库机器查看主库错误日志,信息如下
2019-10-12T05:01:59.414412+08:00 373818 [Note] Aborted connection 373818 to db: 'unconnected' user: 'repl' host: '192.168.56.31' (failed on flush_net())2019-10-12T05:01:59.414424+08:00 407536 [Note] Aborted connection 407536 to db: 'unconnected' user: 'repl' host: '192.168.56.49' (failed on flush_net())
从主库日志可以看出,2个从库是主库主动断开的,而给出的信息也指出了原因failed on flush_net()。另外还有很多 Got timeout reading communication packets 的信息。
因为mysqld是一个多线程的C/S架构的网络应用,主从同步及数据的读取是通过网络来读写数据,所以可能会出现写数据失败的情况。如果mysql的错误日志中出现failed on flush_net()这类的错误时,即说明主库的mysqld在向客户端发送网络包时失败导致的。在主从这种复制场景下则说明是复制过程中master向slave推送binlog写网络数据包失败。
出现此类问题的可能是TCP拥堵等情况造成的,因此建议生产环境的操作系统参数进行调整。可参考如下方式修改
/**  在 /etc/sysctl.conf 文件目录末尾增加如下参数 */
kernel.sem=250 32000 100 128net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_fin_timeout = 30
/** 使参数生效 */sysctl -p
生产环境涉及MySQL数据的操作系统部分参数需要根据情况进行调整,同时MySQL参数也需要根据操作系统的配置情况及实际网络情况进行调整,这样数据库才能稳定、高效的运行。
本次优化的参数在之前MySQL部署时有提及,需要了解的同学可以回看,也可以与我沟通,谢谢。

精彩推荐:

1. MySQL不停地自动重启怎么办

2. 升级python,就是这么简单

3. MySQL里trx_mysql_thread_id为0 的事务导致大量锁等待超时该咋整

4. mysql8.0新增用户及加密规则修改的那些事

5.Postgresql部署及简单操作

6.比hive快10倍的大数据查询利器-- presto

7. 监控利器出鞘:Prometheus+Grafana监控MySQL、Redis数据库

8.PostgreSQL主从复制--物理复制





想进一步沟通或想了解其他文章的同学可以关注我的微信公众号进行交流。
 
分享好友

分享这个小栈给你的朋友们,一起进步吧。

数据库干货铺
创建时间:2021-12-13 09:36:52
致力于分享数据库、大数据、运维等方面相关知识,并通过生产环境遇到的实战案例分享排坑技巧等
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • 数据库干货铺
    栈主

小栈成员

查看更多
  • miemieMIA
  • janefengwang
戳我,来吐槽~