DBA或者開發人員,有時會誤刪除或者誤更新數據。傳統的數據庫恢復方法是利用之前的備份再加上誤操作之前的binlog,來恢復數據。該方法需要耗費較長時間來恢復備份,甚至需要停機維護,嚴重降低系統的可用性。
MySQL的flashback功能是由淘寶的彭立勛,在MySQL-5.5.18的基礎上開發的。隨著binlog格式的變動和類型的增加,基于5.5.18的版本,無法用于目前主流的5.6版本的。因此平民軟件將該功能移植到5.6版本上,讓相關人員對數據庫有更強的掌控能力。
mysqlbinlog -v | grep
舉例
mysqlbinlog -v --base64-output=decode-rows /var/lib/mysql/128.000110 | grep -B10 -A5 items
輸出類似為
|
假設找到相關位置,開始位置1017,結束位置2563
mysqlbinlog -v --base64-output=decode-rows --start-position=1017 --stop-position=2563 /var/lib/mysql/128.000110
2. 使用平民軟件提供的flashback軟件
mysqlbinlog -B -v --start-position=1017 --stop-position=2563 /var/lib/mysql/128.000110 | mysql -u -p
注意:恢復之前先在不使用的從機上做測試,測試成功后,再在主庫上做。
該軟件利用binlog中記錄了操作前的數據鏡像和操作后的數據鏡像。有如下限制
1) binlog_format=row
2) 只支持insert、update、delete
3) 不支持drop 、truncate、alter等ddl語句
flashback功能,可以在緊急情況下,避免用戶漫長的數據庫恢復過程。讓高可用提升一個級別。
下載地址:http://pan.baidu.com/s/1hrEG9BA
原文地址:http://www.cnblogs.com/youge-OneSQL/p/5249736.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。