暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

故障案例:备份软件未及时下线引发MySQL复制线程异常

IT那活儿 2023-07-10
1363
点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!



背 景



某项目中1套MySQL数据库,架构为1主2从、部分业务读写分离。从某时间点开始,其中1从库每天出现sql复制线程异常,导致与主库数据不一致,进而影响部分业务。



处理过程



1. 检查数据库error.log

2022-10-XXT16:05:46.118971Z 6 [Warning] [MY-XXX] [Repl] 
Slave SQL for channel '': Coordinator thread of multi-
threaded slave is being stopped in the middle of assigning
a group of events; deferring to exit until the group
completion ... , Error_code: MY-000000

2022-10-XXT16:05:46.131663Z 6 [ERROR] [MY-XXX] [Repl]
Error running query, slave SQL thread aborted. Fix the
problem, and restart the slave SQL thread with "SLAVE
START"
. We stopped at log 'mysql-bin.000495' position 365207879

2022-10-XXT16:05:46.155723Z 5705 [Warning] [MY-YYYY]
[Server] No suitable 'keyring_component_metadata_query' 
service implementation found to fulfill the request.

2022-10-XXT16:07:03.229502Z 5722 [Warning] [MY-YYYY]
[Server] No suitable 'keyring_component_metadata_query' 
service implementation found to fulfill the request.

复制
通过数据库错误日志检查和分析并未发现mysql数据库sql_thread线程异常的确切原因。
2. 检查主机系统日志
通过仔细分析系统主机日志并未发现与mysql数据库相关的错误信息。
3. 从库设置为只读
通过从库业务连接数、业务执行语句及错误日志信息深入分析,初步判断为异常的从库有业务连接执行DDL等变更操作行为。
经过与业务侧沟通确认后,同意将从库设置为只读模式。
4. 安装日志审计插件
虽然已将MySQL从库设置为只读模式,但是sql复制线程还是存在异常的现象。
为深入检查和分析数据库复制线程异常的原因,在MySQL从库中安装上开源的McAfee日志审计插件,通过对审计日志分析,数据异常原因定位为第三方已失效的软件。
5. 停止第三方失效软件
停止已经失效的一体机的备份程序,通过后续观察,MySQL从库复制线程运行正常,并未再出现过异常。

原来是此前其他数据库运维人员在进行数据迁移时临时安装配置了备份程序,在完成数据前后该备份软件已弃用。而在经过MySQL数据库主从切换后,并未及时对备份程序进行下线。




问题原因



1. 从库有DDL变更操作行为

本案例中的MySQL从库只读状态未开启,且业务程序确实进行了数据库DDL的变更操作行为,在数据库错误日志中有明确的记录。
通常,在MySQL主从数据库架构中,如果存在业务读写分离的情况,建议开启从库的只读状态,从而有效避免业务程序账号对数据库的DDL变更的误操作。
$set global read_only=on;
$set global super_read_only=on;

复制
2. 失效的备份软件未及时下线
本案例中MySQL从库复制线程每天的异常,通过日志审计记录检查分析,发现原因是由于备份程序进行stop slave sql_thread操作而导致,及时停止已经失效的备份软件,并进行下线,MySQL从库复制线程异常现象恢复正常。
$ps -ef|grep HWClientService
$kill -9 PID

复制

改进措施:

  • 1)建立软件入网和下线流程,对未使用或已无效的软件及时下线回收资源。
  • 2)操作风险评估机制,提高风险管控。
  • 3)增加操作审核。
  • 4)优化程序监控,提升异常响应处理速度。

END


本文作者:程继贵(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论