MySQL資料丟失後利用binlog恢複有效資料的方法

來源:互聯網
上載者:User

MySQL資料丟失後利用binlog恢複有效資料的方法

首先開啟binlog日誌,編輯my.cnf檔案,添加

log-bin = mysql-bin    #開啟二進位日誌並指定路徑及檔案名稱,不設定的話預設在資料存放目錄下,名稱為hostname-bin.xxxxx

建立一個測試資料庫,建立一個表格,裡面隨便插入一些資料

mysql > create database student;
mysql > use student;
mysql > create table student(id int,name varchar(10),age int);
mysql > insert into student values ('1','tanglu','28'),('2','zouxiaolu','28'),('3','beibei','28');

進行一次完整的備份,這樣前3條資料已經做了備份

mysqldump -u root -p student > student.sql

繼續插入4、5、6三條資料

mysql> insert into student values('4','doudou','8');
Query OK, 1 row affected (0.01 sec)

mysql> insert into student values('5','mengmeng','28');     
Query OK, 1 row affected (0.00 sec)

mysql> insert into student values('6','haha','10');
Query OK, 1 row affected (0.01 sec)

誤操作刪除了之前建立的資料

mysql> delete from student ;

重啟一次資料庫或者執行資料庫語句flush-logs來獲得一個新的二進位記錄檔,這樣故障日誌都在之前檔案裡

mysql > flush logs;

利用第一次的備份恢複資料,這樣前面3條資料就恢複成功

mysql -u root -p student < student.sql

查看binlog日誌,分析一些正常操作的position位置或者是操作時間,然後匯出這部分日誌並恢複

mysqlbinlog hostname-bin.000001
mysqlbinlog server1-bin.000003 --start-position=1170 --stop-position=1294 > server2.sql

最後進入資料庫查看資料已經按條目恢複!

關於使用MySQL binlog對資料進行恢複的實戰

MySQL通過binlog來恢複資料

MySQL使用備份和binlog進行資料恢複

MySQL資料恢複--binlog 

MySQL中binlog日記清理

如何安全刪除MySQL下的binlog日誌

MySQL--binlog日誌恢複資料

MySQL刪除binlog日誌及日誌恢複資料的方法

MySQL binlog三種格式介紹及分析

MySQL 利用binlog增量備份+還原執行個體

MySQL刪除binlog日誌及日誌恢複資料

本文永久更新連結地址:

相關文章

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.