登录
首页 >  数据库 >  MySQL

记一次mysql数据完整性问题排查经历

来源:SegmentFault

时间:2023-02-16 15:47:20 348浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习数据库相关编程知识。下面本篇文章就来带大家聊聊《记一次mysql数据完整性问题排查经历》,介绍一下MySQL、Linux,希望对大家的知识积累有所帮助,助力实战开发!

背景

使用python脚本监控特定进程的资源占用情况,存入数据库;每次进程关闭后写入日志到特定目录(Logs/日期/小时)。现在需要记录在比较数据中存储的数据的一致性问题。

总数统计对比

1、查询日志总数情况
可以递归遍历查询日期下目录的数据,脚本如下:

ls -lR |grep "_20210903.log.gz$"|wc -l

image.png

2、去重查询数据库中总数情况
可以利用distinct进行mysql的去重查询操作。

select distinct(process_id)  from server_process_perf_by_second where process_name in ("name1","name2") and date ="20210903"

image.png

结果可以查看到日志监控到503个进程PID。而日志监控到的数据是179个数据,这两个数据不一致,所以mysql记录的数据中存在漏数据的情况。需要进一步进行分析哪些进程PID数据有问题。

数据详情对比

导出数据存入Excel表格中
利用公式
输入如下公式: =COUNTIF($A$2:$A$500,B2)后进行数据对比,对比的结果如下图

image.png

综上可以针对差异的进程PID号进行问题的排查。

今天带大家了解了MySQL、Linux的相关知识,希望对你有所帮助;关于数据库的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>