MyFlash使用總結

2021-09-07 19:13:59 字數 2041 閱讀 3264

之前做mysql的回滾操作一直使用binlog2sql,這個工具使用起來很不錯,但是必須要連線到需要回滾的資料庫,需要賬號密碼,這一點使用起來不是很方便,因此測試了一下美團點評myflash工具,只需要從伺服器拷貝出binlog,在任意伺服器就可以生成回滾語句。

1.安裝

yum -y install git

yum install gcc* pkg-config glib2 libgnomeui-devel -y

git clone

cd myflash/

gcc -w `pkg-config --cflags --libs glib-2.0` source/binlogparseglib.c -o binary/flashback

vi /etc/profile

最後一行加上

alias flashback="/root/myflash/binary/flashback"

source /etc/profile

2.使用舉例

flashback --binlogfilenames=/root/mysql-bin.001312 --start-datetime="2019-01-07 07:58:00" --stop-datetime="2019-01-07 07:59:00" --databasenames=資料庫名 --tablenames=表名 --sqltypes='update','delete' —outbinlogfilenamebase=rollbackbinlog

執行回滾binlog

mysqlbinlog --no-defaults rollbackbinlog |mysql -uroot -p

以下引數可以任意組合

databasenames
指定需要回滾的資料庫名。多個資料庫可以用「,」隔開。如果不指定該引數,相當於指定了所有資料庫。

tablenames
指定需要回滾的表名。多個表可以用「,」隔開。如果不指定該引數,相當於指定了所有表。

start-position
指定回滾開始的位置。如不指定,從檔案的開始處回滾。請指定正確的有效的位置,否則無法回滾

stop-position
指定回滾結束的位置。如不指定,回滾到檔案結尾。請指定正確的有效的位置,否則無法回滾

start-datetime
指定回滾的開始時間。注意格式必須是 %y-%m-%d %h:%m:%s。 如不指定,則不限定時間

stop-datetime
指定回滾的結束時間。注意格式必須是 %y-%m-%d %h:%m:%s。 如不指定,則不限定時間

sqltypes
指定需要回滾的sql型別。目前支援的過濾型別是insert, update ,delete。多個型別可以用「,」隔開。

maxsplitsize
一旦指定該引數,對檔案進行固定尺寸的分割(單位為m),過濾條件有效,但不進行回滾操作。該引數主要用來將大的binlog檔案切割,防止單次應用的binlog尺寸過大,對線上造成壓力

binlogfilenames
指定需要回滾的binlog檔案,目前只支援單個檔案,後續會增加多個檔案支援

outbinlogfilenamebase
指定輸出的binlog檔案字首,如不指定,則預設為binlog_output_base.flashback

loglevel
僅供開發者使用,預設級別為error級別。在生產環境中不要修改這個級別,否則輸出過多

include-gtids
指定需要回滾的gtid,支援gtid的單個和範圍兩種形式。

exclude-gtids

如何利用 Myflash 解析 binlog

1 首先需要準備好 myflash 測試環境 這裡的測試環境是 redhat linux 6.5,直接解壓 myflash 無法執行,發現 glibc 版本不匹配,需要 2.14 版本。因此首先需要編譯新版本的 glibc。wget wget tar xvf glibc 2.14.tar.gz ta...

資料恢復系列 開源恢復工具MyFlash

一 簡介 今天來聊聊如何使用開源myflash 二 安裝 2 建議使用阿里源 wget o etc yum.repos.d centos base.repo 更換為阿里源 yum y install libgnomeui devel gcc w pkg config cflags libs glib...

EJunGrid使用總結

1 1。0版沒有實現垂直方向上的對齊,procedure tobgui reportdesign.griddrawcelltext acanvas tcanvas const arect trect const acoord tpoint agrid tzjgrid const text strin...