mysql使用 row 格式 binlog 撤銷操作

來源:互聯網
上載者:User

MySQL 在使用 row 格式,並使用預設的 binlog_row_image=full 的時候,binlog 中記錄了完整的更新前後的資料鏡像。因此,根據 row 格式 binlog 進行撤銷操作是可行的。我就試著做了這麼個工具

[GitHub 頁面] [linux 二進位檔案]

例如

./binlog_undo -f /data/mysql/log-bin.000004 -p 3958 -o binlog.out
會掃描 /data/mysql/log-bin.000004 從位置 3958 到末尾的所有事務,倒轉其中所有事務順序和每個事務中的語句順序,並反向所有的操作,把 WRITE 和 DELETE 反轉,把 UPDATE 的前後鏡像互換,然後將產生後的 binlog 檔案寫入 binlog.out 中。之後就可以用 mysqlbinlog 工具來回放這個 binlog 來撤銷操作了。

這個工具可以用於在主備切換後,撤銷掉原主上未同步到備的操作,避免完全重建;也可以作為誤操作的後悔藥。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.