在數(shù)據(jù)庫操作中,難免會因為各種各樣的原因?qū)?shù)據(jù)造成損壞,這個時候就需要對數(shù)據(jù)庫快速恢復(fù)。傳統(tǒng)的方法會先恢復(fù)mysql備份,再去用mysqlbinlog抽取指定時間點的日志,再恢復(fù),這樣的操作比較耗時,容易出錯,那有沒有一種工具可以快速把誤刪除的操作SQL逆過來,然后重新插入誤刪除的數(shù)據(jù)呢?
binlog2sql,就是一個很好的應(yīng)用,它可以從MySQL binlog解析出SQL,根據(jù)不同選項,你可以得到原始SQL、回滾SQL、去除主鍵的INSERT SQL等。
演示環(huán)境說明:
數(shù)據(jù)庫:Mysql5.6
操作系統(tǒng):Centos7為例
演示場景:2018年10月31日10:56,刪除整個表的數(shù)據(jù),演示快速回滾被刪除的數(shù)據(jù)
操作步驟
1、回滾之前先確認一下Mysql Server配置參數(shù)
2、如果你沒有mysql命令,那么需要安裝對應(yīng)版本的Mysql客戶端,Centos7對應(yīng)的mysql客戶端包是mariadb,Centos6客戶端包是mysql
3、安裝binlog2sql回滾工具
4、授權(quán)用于回滾的Mysql用戶
5、開始實驗:模擬誤刪除
6、查看誤刪除時間點寫入的binlog文件
7、查看誤刪除時間點的操作SQL
8、生成回滾SQL
9、登錄mysql,對數(shù)據(jù)進行回滾
可以看到被刪除的兩條數(shù)據(jù)已經(jīng)恢復(fù)。
工具參數(shù)說明:
當(dāng)然數(shù)據(jù)庫恢復(fù)是修復(fù)操作,是對已經(jīng)發(fā)生問題的進行的補救措施。咱們實際業(yè)務(wù)中還是應(yīng)該應(yīng)該重視流程和測試,避免數(shù)據(jù)庫誤操作。數(shù)據(jù)庫畢竟關(guān)系到用戶的核心利益。
-
MySQL
+關(guān)注
關(guān)注
1文章
797瀏覽量
26399 -
MYSQL數(shù)據(jù)庫
+關(guān)注
關(guān)注
0文章
95瀏覽量
9375
發(fā)布評論請先 登錄
相關(guān)推薦
評論