周五收到開發同學通知,由於程式bug導致誤更新了使用者的資料,需要將21號的資料拿出來分析,然後重新插入進去。當時就諮詢了蘇普同學,問問他們該怎麼恢復,由於我們資料採用的是xtrabackup方式來備份資料,在恢復資料的時候需要將備份資料拷貝到另外一台機器上,在把資料還原出來。但是不幸的是我們的備份有問題,蘇普同學恢復了兩次也沒有恢復成功,難道真的要面臨資料丟失了嗎,開發同學不停的在旺旺上問恢復好沒有,在這個時候你能說我們的備份有問題嗎,不能!
這個時候突發想到了開發同學在給我使用者id檢視更新後資料的時候,發現該記錄的建立時間和更新時間分別為:
|該使用者的記錄是在4-22號被更新的,但是建立時間是在4-21,這個時候彷彿看到了曙光,因為今天4-22,那麼昨天做的插入在binlog中還有保留的乙份的吧,我們的binlog保留的時間為一周,於是找到備份目錄中在4-21 ,17點30左右的binlog,然後用mysqlbinlog分析日誌,找到插入的語句;在分析了兩份binlog後,終於找到了21號插入的這條資料:
insert into tfs_0007 (user_id, *,*,*,*,gmt_created, gmt_modified)
values (217101303, *,*,*,*,now(),now());
資料找到了,換另一種方式來解決問題,雖然有一定的侷限性,但是成功了如果早一點想到該辦法,也不會給使用者帶來那麼多的不爽的體驗;
至於為什麼我們的xtrabackup為什麼恢復會出現問題,還需要和蘇普他們確認一下,這個問題不小啊。
換一種思路解決問題
今天看到這樣乙個問題 我的資料表中有以下記錄 id type time amount 1 1 080101 100 2 1 080102 20 3 2 080101 30 4 2 080103 50 5 1 080105 10 我想在水晶報表中,用 柱圖 表示,用time和type做分組,目前顯示效...
換一種思路解決問題
今天看到這樣乙個問題 我的資料表中有以下記錄 id type time amount 1 1 080101 100 2 1 080102 20 3 2 080101 30 4 2 080103 50 5 1 080105 10 我想在水晶報表中,用 柱圖 表示,用time和type做分組,目前顯示效...
換一種方式生活
轉眼,已步入了人生的第26個春秋,已經接近而立之年。這是乙個尷尬的時期,二十多年的經歷,加上十幾年的學校生活,並沒有給我帶來些什麼,我依然四處飄盪,沒有乙個安定的處所,更別說什麼事業,面對著可能越來越大的貧富差距,我的心情慢慢的沉重起來。不想過多的討論前二十多年的種種得失,只想立足現在,放眼將來,我...