溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用mysqlbinlog_flashback工具的詳細(xì)步驟

發(fā)布時(shí)間:2020-05-19 14:26:51 來源:網(wǎng)絡(luò) 閱讀:333 作者:三月 欄目:MySQL數(shù)據(jù)庫

下文主要給大家?guī)硎褂?a title="mysql" target="_blank" href="http://www.kemok4.com/mysql/">mysqlbinlog_flashback工具的詳細(xì)步驟,希望這些內(nèi)容能夠帶給大家實(shí)際用處,這也是我編輯使用mysqlbinlog_flashback工具的詳細(xì)步驟這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。

一、下載安裝

# wget https://github.com/58daojia-dba/mysqlbinlog_flashback/archive/master.zip

工具相關(guān)使用參數(shù):

[root@ops-db-test01 mysqlbinlog_flashback-master]# python mysqlbinlog_back.py --help
===log will also  write to .//mysqlbinlog_flashback.log===
Usage: python mysqlbinlog_back.py [options]
sample1:python  mysqlbinlog_back.py --host="127.0.0.1" --username="root" --port=43306 --password="" --schema=test --table="test5"
sample2:python mysqlbinlog_back.py --host="127.0.0.1" --username="root" --port=43306 --password="" --schema=test --table="test5,test6" --binlog_end_time="2016-11-05 11:27:13" --binlog_start_file_name="mysql-bin.000024"  --binlog_start_file_position=4 --binlog_start_time="2016-11-04 11:27:13"  --skip_delete  --skip_insert --add_schema_name
sample3:python mysqlbinlog_back.py  --host="127.0.0.1" --username="root" --port=43306 --password="" --schema=test --table="test5,test6" --binlog_start_file_name="mysql-bin.000022"

Options:
  -h, --help            show this help message and exit
  -H HOST, --host=HOST  mandatory,mysql hostname
  -P PORT, --port=PORT  mysql port,default 3306
  -u USERNAME, --username=USERNAME
                        mandatory,username
  -p PASSWORD, --password=PASSWORD
                        password
  -s SCHEMA, --schema=SCHEMA
                        mandatory,mysql schema
  -t TABLES, --tables=TABLES
                        mandatory,mysql tables,suport multiple tables,use
                        comma as separator
  -N BINLOG_END_TIME, --binlog_end_time=BINLOG_END_TIME
                        binlog end time,format yyyy-mm-dd hh34:mi:ss,default
                        is current time
  -S BINLOG_START_FILE_NAME, --binlog_start_file_name=BINLOG_START_FILE_NAME
                        binlog start file name,default is current logfile of
                        db
  -L BINLOG_START_FILE_POSITION, --binlog_start_file_position=BINLOG_START_FILE_POSITION
                        binlog start file name
  -E BINLOG_START_TIME, --binlog_start_time=BINLOG_START_TIME
                        binlog start time,format yyyy-mm-dd hh34:mi:ss
  -l OUTPUT_FILE_PATH, --output_file_path=OUTPUT_FILE_PATH
                        file path that sql generated,,default ./log
  -I, --skip_insert     skip insert(WriteRowsEvent) event
  -U, --skip_update     skip update(UpdateRowsEvent) event
  -D, --skip_delete     skip delete(DeleteRowsEvent) event
  -a, --add_schema_name
                        add schema name for flashback sql
  -v, --version         version info

二、模擬誤操作情況

1、批量刪除操作

delete未加where條件,全表刪除,此時(shí)表還有寫入操作。

# python mysqlbinlog_back.py  --host="localhost" --username="" --port=3306 --password="" --schema=cy --table="obd_wave" --binlog_start_file_name="mysqlbinlog.000002" --binlog_start_time="2017-08-02 20:10:00"

log目錄下生成三個(gè)文件

# ll -sh
13M -rw-r--r-- 1 root root  13M Aug  2 20:38 flashback_cy_20170802_203747.sql    //反向sql
4.0K -rw-r--r-- 1 root root 2.6K Aug  2 20:38 save_data_create_table_cy_20170802_203747.sql
 29M -rw-r--r-- 1 root root  29M Aug  2 20:38 save_data_dml_cy_20170802_203747.sql

找到刪除開始和結(jié)束的位置。

 執(zhí)行命令

# python mysqlbinlog_back.py  --host="localhost" --username="" --port=3306 --password="" --schema=cy --table="obd_wave" --binlog_start_file_name="mysqlbinlog.000002" --binlog_start_time="2017-08-02 20:10:00" --binlog_start_file_position=9664085

手動(dòng)刪除,誤操作之后的反向sql的內(nèi)容。

    --缺點(diǎn):只能指定開始的位置,不能指定結(jié)束的位置及時(shí)間。

對(duì)于以上關(guān)于使用mysqlbinlog_flashback工具的詳細(xì)步驟,大家是不是覺得非常有幫助。如果需要了解更多內(nèi)容,請(qǐng)繼續(xù)關(guān)注我們的行業(yè)資訊,相信你會(huì)喜歡上這些內(nèi)容的。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI