binlog2sql工具比mysqlbinlog+sed恢復更快捷。
1、安裝:
shell> git clone && cd binlog2sql
shell> pip install -r requirements.txt
安裝完成後,將binlog2sql/binlog2sql目錄下的binlog2sql_util.py檔案移動到/usr/lib64/python2.7目錄下。
2、使用:
引數說明:
(1)**mysql連線配置**
-h host; -p port; -u user; -p password
(2)**解析模式**
--stop-never 持續解析binlog。可選。預設false,同步至執行命令時最新的binlog位置。
-k, --no-primary-key 對insert語句去除主鍵。可選。預設false
-b, --flashback 生成回滾sql,可解析大檔案,不受記憶體限制。可選。預設false。與stop-never或no-primary-key不能同時新增。解析回滾sql時使用。
--back-interval -b模式下,每列印一千行回滾sql,加一句sleep多少秒,如不想加sleep,請設為0。可選。預設1.0。
(3)**解析範圍控制**
--start-file 起始解析檔案,只需檔名,無需全路徑 。必須。
--start-position/--start-pos 起始解析位置。可選。預設為start-file的起始位置。
--stop-file/--end-file 終止解析檔案。可選。預設為start-file同乙個檔案。若解析模式為stop-never,此選項失效。
--stop-position/--end-pos 終止解析位置。可選。預設為stop-file的最末位置;若解析模式為stop-never,此選項失效。
--start-datetime 起始解析時間,格式'%y-%m-%d %h:%m:%s'。可選。預設不過濾。
--stop-datetime 終止解析時間,格式'%y-%m-%d %h:%m:%s'。可選。預設不過濾。
(4)**物件過濾**
-d, --databases 只解析目標db的sql,多個庫用空格隔開,如-d db1 db2。可選。預設為空。
-t, --tables 只解析目標table的sql,多張表用空格隔開,如-t tbl1 tbl2。可選。預設為空。
--only-dml 只解析dml,忽略ddl。可選。預設false。
--sql-type 只解析指定型別,支援insert, update, delete。多個型別用空格隔開,如--sql-type insert delete。可選。預設為增刪改都解析。用了此引數但沒填任何型別,則三者都不解析。
3、解析:
(1)解析標準sql:
python binlog2sql.py -h127.0.0.1 -p3306 -uroot -p'123456' -dtest -t test3 test4 --start-file='mysql-bin.000002'
(2)解析回滾sql:
python binlog2sql.py --flashback -h127.0.0.1 -p3306 -uroot -p'123456' -dtest -ttest3 --start-file='mysql-bin.000002' --start-position=763 --stop-position=1147
oracle oracle閃回 閃回資料庫
閃回技術 實現基於磁碟上閃回恢復區的自動備份恢復 配置閃回恢復區閃回恢復區 1 閃回資料庫 可以將資料庫恢復到以前的某個時間,使用該技術必須先配置閃回恢復區 sql connect sys newtouch as sysdba sql shutdown immediate sql startup m...
閃回資料庫
閃回資料庫就是 把資料庫,回退到過去的某個時間上,從而達到恢復 閃回資料庫的前提條件 資料庫為歸檔模式 開啟閃回資料庫的功能 archive log list 檢視資料庫是否歸檔 database log mode archive mode 歸檔模式 automatic archival enabl...
閃回資料庫案例
閃回資料庫案例 測試資料 閃回資料庫操作 shutdown immediate startup mount flashback database to timestamp to date 2017 06 07 11 38 20 yyyy mm dd hh24 mi ss alter database...