binlog2sql閃回恢複資料

來源:互聯網
上載者:User

標籤:tar   art   form   --   主鍵   3.1   row   必須   datetime   

用途:

1、資料快速復原2、從binlog產生標準sql

使用限制:

1、必須設定binlog_format=ROW2、binlog_row_image=full,該參數預設為FULL3、恢複使用者擁有的最小許可權集合為:select, super/replication client, replication slave
建議授權  GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON
*.* TO許可權說明  select:需要讀取server端information_schema.COLUMNS表,擷取表結構的元資訊,拼接成可視化的sql語句  super/replication client:兩個許可權都可以,需要執行‘SHOW MASTER STATUS‘, 擷取server端的binlog列表  replication slave:通過BINLOG_DUMP協議擷取binlog內容的許可權

1、下載安裝

git clone https://github.com/danfengcao/binlog2sql.gitwget https://bootstrap.pypa.io/get-pip.py --no-check-certificatepython get-pip.pycd binlog2sqlpip install –r requirements.txt

2、使用說明

mysql串連配置-h host:資料庫地址-P port:資料庫連接埠-u user:資料庫連接使用者-p password:資料庫連接密碼解析模式--stop-never 持續解析binlog。可選。預設False,同步至執行命令時最新的binlog位置。-K, --no-primary-key 對INSERT語句去除主鍵。可選。預設False。-B, --flashback 產生復原SQL,可解析大檔案,不受記憶體限制。可選。預設False。與stop-never或no-primary-key不能同時添加。--back-interval -B模式下,每列印一千行復原SQL,加一句SLEEP多少秒,如不想加SLEEP,請設為0。可選。預設1.0。解析範圍控制--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‘。可選。預設不過濾。對象過濾-d, --databases 只解析目標db的sql,多個庫用空格隔開,如-d db1 db2。可選。預設為空白。-t, --tables 只解析目標table的sql,多張表用空格隔開,如-t tbl1 tbl2。可選。預設為空白。--only-dml 只解析dml,忽略ddl。可選。預設TRUE。--sql-type 只解析指定類型,支援INSERT, UPDATE, DELETE。多個類型用空格隔開,如--sql-type INSERT DELETE。可選。預設為增刪改都解析。用了此參數但沒填任何類型,則三者都不解析。

3、優缺點
3.1、限制(對比mysqlbinlog)

mysql server必須開啟,離線模式下不能解析參數 binlog_row_image 必須為FULL,暫不支援MINIMAL解析速度不如mysqlbinlog

3.2、優點(對比mysqlbinlog)

純Python開發,安裝與使用都很簡單內建flashback、no-primary-key解析模式,無需再裝補丁flashback模式下,更適合閃回實戰解析為標準SQL,方便理解、篩選代碼容易改造,可以支援更多個人化解析

4、使用參考

python binlog2sql.py -hlocalhost -P3306 -uroot -p -dowms-hh --start-file=‘master-bin.000011‘ --start-datetime=‘2017-12-25 11:47:51‘ --stop-datetime=‘2017-12-25 11:47:58‘ -B > /data/t_rollback.sql

 

binlog2sql閃回恢複資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.