国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

日均萬條數(shù)據(jù)丟失,一個(gè)隱式騷操作導(dǎo)致的奇葩事故!

開發(fā) 架構(gòu)
主從復(fù)制作為 MySQL 的精髓,有兩大困難:主從數(shù)據(jù)的延時(shí)與數(shù)據(jù)的不一致性。針對(duì)數(shù)據(jù)不一致的排查處理,相信各位大佬們都有豐富的處理經(jīng)驗(yàn),我就不多說了。

[[197701]]

主從復(fù)制作為 MySQL 的精髓,有兩大困難:主從數(shù)據(jù)的延時(shí)與數(shù)據(jù)的不一致性。針對(duì)數(shù)據(jù)不一致的排查處理,相信各位大佬們都有豐富的處理經(jīng)驗(yàn),我就不多說了。

本文主要是給大家分享一個(gè)工作中遇到的奇葩事例:由于一個(gè)極隱式的騷操作,導(dǎo)致從庫丟失數(shù)據(jù)(數(shù)據(jù)丟失量在每天將近萬條記錄)!

環(huán)境描述

業(yè)務(wù)環(huán)境:短時(shí)間內(nèi)(幾個(gè)月的時(shí)間),業(yè)務(wù)蓬勃發(fā)展,客戶量從一兩萬一下增加到幾十萬用戶。

數(shù)據(jù)庫環(huán)境,如下圖:

問題描述

某天,主庫 10.0.0.1 的 CPU 使用率突然升高,均值達(dá)到 80%+,導(dǎo)致 Keepalived 的 VIP 漂移至從庫 10.0.0.2。

理論上丟失的是切換過程中的幾秒鐘數(shù)據(jù),業(yè)務(wù)側(cè)對(duì)丟失的這幾秒數(shù)據(jù)表示沒關(guān)系,那么這個(gè)事件到此應(yīng)該就結(jié)束了。

然而當(dāng)天晚上,業(yè)務(wù)打電話過來說:丟失了部分用戶信息,導(dǎo)致用戶登入不了,要求幫忙恢復(fù)數(shù)據(jù)并查找數(shù)據(jù)丟失的原因。

本文對(duì)數(shù)據(jù)恢復(fù)這塊就不具體展開了,稍微提一下,這邊因?yàn)樾轮?10.0.0.2 已經(jīng)有數(shù)據(jù)寫入,只能對(duì)比用戶表數(shù)據(jù)把新主少的數(shù)據(jù)導(dǎo)入進(jìn)去。

初步排查

對(duì)于主從復(fù)制丟失數(shù)據(jù),解決方法沒有捷徑,只能老老實(shí)實(shí)地跟蹤數(shù)據(jù)復(fù)制過程,查看是哪里出了問題。

選擇丟失數(shù)據(jù)中時(shí)間比較近的,時(shí)間為 2017-06-09 13:36:01,ID為 849791 這條數(shù)據(jù),來跟蹤整個(gè)復(fù)制過程,因?yàn)槿罩局槐A?14 天的。

分析主庫 binlog 日志,binlog 日志中是有這條記錄的。

分析從庫日志:因?yàn)閿?shù)據(jù)庫配置了 relay_log_purge 與 log-slave-updates,所以中繼日志已經(jīng)找不到這個(gè)時(shí)間點(diǎn)了,只能查看從庫 binlog 日志。

然而在從庫的 binlog 日志中并未找到這條記錄,說明這條數(shù)據(jù)是未執(zhí)行,排除后期人為刪除的,那么數(shù)據(jù)為何不被執(zhí)行呢?或者說數(shù)據(jù)是在執(zhí)行過程中丟失的?

數(shù)據(jù)分析

無可用的中繼日志怎么辦?難道沒辦法查了?于是我決定觀察和對(duì)比一下丟失的數(shù)據(jù),看看其中是否含有什么規(guī)律,是不定時(shí)丟失數(shù)據(jù),還是會(huì)在某些特定時(shí)刻丟失數(shù)據(jù)。

整理了一下某表丟失的數(shù)據(jù),通過觀察、分析丟失數(shù)據(jù)的屬性(下圖是我截取的部分列,***一列的時(shí)間是創(chuàng)建時(shí)間,也就是寫表時(shí)間):

從圖中可以看出,丟失的數(shù)據(jù)的插表時(shí)間都是在每分鐘的前 2 秒。這不由地讓人思考,為何丟失的數(shù)據(jù)是每分鐘前 2 秒的呢?

而且數(shù)據(jù)丟失的時(shí)間間隔也不是很長(zhǎng),基本隔幾天就肯定有數(shù)據(jù)丟失。經(jīng)過這樣分析,事情似乎就變得簡(jiǎn)單了。

深入調(diào)查

首先,關(guān)閉 log-slave-updates、relay_log_purge 等一切影響判斷的額外參數(shù)設(shè)置,等待一段時(shí)間后,再來對(duì)比某表新數(shù)據(jù)丟失情況。

  

可以看到又有新數(shù)據(jù)丟失,根據(jù)這些丟失數(shù)據(jù)再來排查問題。

首先先查主庫,查看主庫的 binlog 日志狀體信息狀態(tài)。

就以 2017-6-17 15:17:02 ***丟失的這條數(shù)據(jù)來跟蹤,查看主庫 10.0.0.2 上的 binlog 日志中是否存在這條數(shù)據(jù):

 

 結(jié)果顯示主庫是存在這條數(shù)據(jù)的

在登入從庫查看 relay-log 日志情況,發(fā)現(xiàn) relay-log 日志生成太頻繁,每分鐘生成 1 個(gè) relay-log 日志,而且有些文件大小又不一致。

那么這套主從集群,業(yè)務(wù)肯定部署過分割 relay-log 日志的腳本,而且應(yīng)該是 flush 來強(qiáng)制刷新的。如圖:

 

 我們先來看從庫 relay-log 日志中是否存在這條數(shù)據(jù),查找17分生成的relay日志,提取前 2 秒能匹配的插入情況。

 

 發(fā)現(xiàn)并沒有這條 insert 操作,難道數(shù)據(jù)未寫入 relay 日志,刷新日志時(shí)導(dǎo)致事務(wù)丟失? 把查詢時(shí)間拉長(zhǎng)至 50 秒。

 

 發(fā)現(xiàn)也沒有這條數(shù)據(jù),并且數(shù)據(jù)跟前面 2 秒的一致,那么其它數(shù)據(jù)呢?會(huì)不會(huì)在下一個(gè)日志中?

趕緊去 18 分生成的 relay 日志查看,發(fā)現(xiàn)這條數(shù)據(jù)在 15:18 分這個(gè) relay 日志中的***個(gè)事務(wù)的位置。

 

 那么是沒有執(zhí)行,還是執(zhí)行過程丟失?仔細(xì)觀察主庫 binlog 與從 relay-log 日志的記錄,也沒能看出什么名堂,從事務(wù)開始到 commit,都一樣。

問題定位

如果一條數(shù)據(jù)無法比較,那就再隨機(jī)拿出幾條丟失的數(shù)據(jù)來跟蹤。發(fā)現(xiàn)情況都一樣,數(shù)據(jù)都已經(jīng)復(fù)制到 relay 日志中,而且內(nèi)容根本看不出為何不能執(zhí)行。

唯一有疑點(diǎn)的是這些事務(wù)都在日志的***個(gè)事務(wù)中。頓時(shí),我有種想法,會(huì)不會(huì)強(qiáng)制刷新 relay 日志,造成日志的***個(gè)事務(wù)有時(shí)不執(zhí)行,或執(zhí)行過程中丟失?

如果是腳本引起的,那么除去這些事務(wù)未執(zhí)行外,肯定還有其它事務(wù)也未執(zhí)行。那么,我就隨機(jī)選擇幾個(gè) relay-log 日志,找到***個(gè)事務(wù)。

具體分析如下:

 

 再登入從庫查詢結(jié)果:

 

 可以看出從庫數(shù)據(jù)并未更新。隨后,隨機(jī)分析了幾個(gè) relay 日志,發(fā)現(xiàn)***個(gè)事務(wù)都未被執(zhí)行。而且操作的表都是有不同的,操作也是有不同,有 insert、update 等等,頓時(shí)感覺事情大條了。

如果每個(gè)日志的***個(gè)事務(wù)都未執(zhí)行,那么從庫要缺少多少條數(shù)據(jù)?不敢想象,現(xiàn)在業(yè)務(wù)還在上升期,不久業(yè)務(wù)量會(huì)是現(xiàn)在的幾倍,甚至更多,到那時(shí)就不是用戶投訴那么簡(jiǎn)單了。

又抓取了部分 relay 日志情況,***個(gè)事務(wù)也都未被執(zhí)行。我可以肯定了,是所有 relay 日志的***個(gè)事務(wù)都未被執(zhí)行。

這個(gè)問題也可以是由于分割 relay 日志的腳本造成的。一般強(qiáng)制刷新日志是用 flush 命令來操作的,flush 命令一般不會(huì)造成數(shù)據(jù)丟失,當(dāng)然像他們這樣頻繁的操作,我是不知道會(huì)不會(huì)造成 Bug,導(dǎo)致丟數(shù)據(jù)。

還有在 flush relay logs 的時(shí)候有沒有用到其他的什么操作呢?我決定抓一把數(shù)據(jù)庫中操作過的命令。

抓取命令,問題解決

想到就做,登上從庫主機(jī)、登入數(shù)據(jù)庫,開啟 general_log 日志。坐等 5 分鐘,打開日志,尋找每分鐘前幾秒的記錄。

哇!哇!哇!

你們猜我看到了什么? 我從未見過如此騷的操作!上圖,以表我的震驚。

 

 為什么要跳過事務(wù)?你用 stop slave 與 Start slave 來刷新 relay 日志,已經(jīng)刷新了我的三觀,那,有必要跳過事務(wù)?這就解釋得通了,為何 relay 日志***個(gè)事務(wù)全都丟失。

至此!問題已經(jīng)清晰,是由于開發(fā)設(shè)置的分割 relay 日志的腳本,使用了非常規(guī)命令及 sql_slave_skip_counter 跳過事務(wù)命令來分隔 relay-log 日志,導(dǎo)致事務(wù)大量丟失。

所以,創(chuàng)新是好事,但要打好基本功,別搞些騷操作。

[[197703]]

 洪凌

新炬網(wǎng)絡(luò)資深 MySQL 工程師

超過 7 年 MySQL 數(shù)據(jù)庫運(yùn)維經(jīng)驗(yàn),擅長(zhǎng)數(shù)據(jù)庫運(yùn)維體系、集群架構(gòu)建設(shè),熟悉 MySQL 性能優(yōu)化,對(duì)數(shù)據(jù)庫監(jiān)控系統(tǒng)也有著獨(dú)特的理解。

責(zé)任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2019-07-16 08:51:03

熱搜新浪微博數(shù)據(jù)

2010-01-12 12:20:42

2019-11-28 18:54:50

數(shù)據(jù)庫黑客軟件

2025-09-01 01:45:00

數(shù)據(jù)虛擬列表

2011-03-31 11:24:14

數(shù)據(jù)搜索本文字段

2021-11-02 14:46:50

數(shù)據(jù)

2023-10-19 15:13:25

2022-06-17 10:15:35

面試API前端

2022-04-28 20:12:44

二分法搜索算法

2025-07-16 07:20:00

開發(fā)代碼并發(fā)

2025-07-28 06:38:07

2018-08-27 07:01:33

數(shù)據(jù)分析數(shù)據(jù)可視化租房

2021-07-22 07:50:47

刪庫系統(tǒng)數(shù)據(jù)

2024-05-11 12:34:51

EasyExcelOOM代碼

2024-04-09 07:56:36

MySQL數(shù)據(jù)性能

2022-10-27 21:32:28

數(shù)據(jù)互聯(lián)網(wǎng)數(shù)據(jù)中心

2019-10-18 15:36:24

網(wǎng)易歌單熱評(píng)

2018-04-17 09:28:08

陳奕迅評(píng)論秘密

2011-03-22 16:20:19

恢復(fù)數(shù)據(jù)庫

2022-09-27 10:52:25

Pythonprint函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

日韩欧美在线视频免费观看| 欧美88av| 成人动漫一区| 日韩av成人| 激情se五月| 国产wwwxx| 免费网站永久免费观看| 日本不卡二区| 久久精品久久精品国产大片| 日韩亚洲欧美中文三级| 国产不卡视频一区二区三区| 高h视频在线观看| 在线视频99| 九色视频网站| 午夜免费高清视频| 国产精彩免费视频| 中文av一区二区三区| 亚洲人成无码网站久久99热国产 | 天堂av在线资源| 日本免费黄色小视频| 亚洲黄色一区二区三区| 久久久欧美一区二区| 欧美激情欧美激情| 国模极品一区二区三区| 欧美人与性动交a欧美精品| 视频一区欧美精品| 国产一区视频在线观看免费| 羞羞视频在线观看一区二区| 欧美成人一二区| 精品国产一区二区三区性色av| 黄黄的网站在线观看| 国模精品视频| 午夜不卡一区| 久久九九精品视频| 大地资源网3页在线观看| 伊人成综合网站| 午夜免费欧美电影| 国产精品视频一区视频二区| 国产麻豆精品| 视频福利一区| 中文字幕一区二区三区四区久久| 里番精品3d一二三区| 一区二区中文字幕在线观看| 国产亚洲成av人片在线观黄桃| 国产99久久精品一区二区300| 成人3d动漫在线观看| 亚洲一区国产| 国产日韩欧美精品一区| 国产精品视频一区二区三区不卡| 一区二区在线观看av| 亚洲成av人影院在线观看| 中日韩美女免费视频网站在线观看| 91精品国产九九九久久久亚洲| 51久久精品夜色国产麻豆| 88xx成人精品| 国产精品极品尤物在线观看| 91国内免费在线视频| 欧美一区二区三区四区五区六区| japanese在线播放| 亚洲欧洲日夜超级视频| 黄网站app在线观看大全免费视频| www中文字幕在线观看| 99久久香蕉| 99久久精品网| 欧美激情一区二区三区不卡| 国内视频精品| 成人听书哪个软件好| 岛国视频午夜一区免费在线观看| 亚洲精品美女网站| 95av在线视频| 国产免费黄色小视频| 无人在线观看的免费高清视频| 黄色av网站在线观看| 激情中国色综合| 日韩激情网站| 欧美国产精品一区二区三区| 欧美在线你懂的| 午夜精品美女自拍福到在线| 天堂√在线观看一区二区| 黄色成人免费看| 巨胸喷奶水www久久久免费动漫| 亚洲五月婷婷| 图片区日韩欧美亚洲| 欧美一级黑人aaaaaaa做受| 少妇高潮喷水在线观看| 亚洲美女电影在线| 影音先锋中文在线视频| 日韩福利影视| 久久综合九色综合欧美就去吻| 日韩高清av在线| 精品1区2区| 国产最新视频在线| 国产日本视频| 97久久精品一区二区三区的观看方式 | www.日韩在线| 日韩视频精品在线| 亚洲v欧美v另类v综合v日韩v| 激情综合网俺也去| 黄视频网站在线观看| 秋霞午夜鲁丝一区二区老狼| 亚洲国产精品一区二区久久恐怖片| 欧美精品福利视频| 最新中文字幕免费视频| 免费在线视频你懂得| 欧美韩日精品| 亚洲影院在线观看| 亚洲综合国产精品| 黄页在线播放| sdde在线播放一区二区| 婷婷成人激情在线网| 欧美—级a级欧美特级ar全黄| 国产玉足脚交久久欧美| 精品国产美女a久久9999| 国产一区二区在线看| 亚洲午夜小视频| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 一本到av在线| 免费男女羞羞的视频网站主页在线观看 | 你懂的视频在线免费| 高清成人av| 在线免费av网站| 日韩在线你懂得| 中文字幕第一区二区| 欧洲成人性视频| а√中文在线8| 日本伊人精品一区二区三区观看方式| 日韩欧美国产一区二区在线播放| 国产精品视频网站在线观看| 风间由美中文字幕在线看视频国产欧美| 日韩毛片一二三区| 国产精品免费在线| 91精品国产综合久久久久久豆腐| 国产在线乱码一区二区三区| 337p亚洲精品色噜噜噜| 日本福利视频在线| 欧美精品自拍| 久久这里只有精品视频首页| 免费大片在线观看www| 日韩图片一区| 欧美精品videosex牲欧美| 很黄的网站在线观看| 91视视频在线观看入口直接观看www| 亚洲欧美一区二区久久| 亚洲资源在线看| 性欧美超级视频| 姬川优奈aav一区二区| 女人天堂av手机在线| 日韩电影免费在线看| 色综合伊人色综合网站| 成人看片app| 欧美**vk| 欧美日韩中文在线| 欧美一区二区三区在线播放 | 国产成人精品亚洲午夜麻豆| 成人福利片在线| 欧美激情在线免费观看| 成人国产精品久久久| 24小时免费看片在线观看| 中文字幕中文乱码欧美一区二区| 日韩经典在线视频| 精品国产一区二区三区av片| 亚洲福利视频专区| 日本a一级在线免费播放| 成人国产一区二区三区精品| 国产欧美一区二区白浆黑人| 全亚洲第一av番号网站| 日韩欧美在线网站| 国产小视频在线| 精品日本美女福利在线观看| 一本一本a久久| 亚洲精品偷拍| 亚洲一区二区三| 成人激情久久| 欧美一区二区日韩一区二区| 日本a级黄色| 又紧又大又爽精品一区二区| 精品久久一二三| 成人国产精品免费| 国产女主播一区二区| 高潮按摩久久久久久av免费| 亚洲国产精品va在看黑人| a视频网址在线观看| 欧美亚洲国产怡红院影院| 精品视频一二区| 色天天综合久久久久综合片| 欧美无砖专区免费| 久久久久国产精品免费免费搜索| 免费国产黄色网址| 捆绑调教一区二区三区| 精品欧美国产| 蜜臀av性久久久久蜜臀av麻豆| 国产成人激情小视频| 久久神马影院| 欧美一级bbbbb性bbbb喷潮片| 亚洲婷婷影院| 1769国产精品| 国产精品调教| 国产精品观看在线亚洲人成网| 欧美日韩综合| 一本一本久久a久久精品综合妖精|