使用mysqldump備份數據及做時間點還原測試步驟

1、備份dbtest數據庫數據

# mysqldump --databases dbtest --master-data=2 --single-transaction >s2.sql

記錄當前的庫的status信息

# cat s2.sql  |grep CHANGE

-- CHANGE MASTER TO MASTER_LOG_FILE='master.000004', MASTER_LOG_POS=4415;

mysql> show master status ;

| master.000004 |     4415 |      

2、修改數據庫的信息

mysql> delete from tb1 where id >2 ;

mysql> insert into tb1 values(11,'nina'),(22,'son');

查看當前的status信息

mysql> show master status ;

| master.000004 |     4835 |

3、模擬數據庫被以外的刪除並恢復到刪除庫之前的庫信息;

mysql> drop database dbtest ;

當前的數據已經全部丟失,所以需要用庫的一個全備份進行還原,然後再用二進制日誌信息做時間點還原:

全被數據還原:

# mysql  <s2.sql

接下來做時間還原:

# mysqlbinlog --start-position=4415  --stop-position=4835 master.000004 >/backup/b1.sql

# mysql </backup/b1.sql

檢查信息是否已經還原:

mysql> select * from tb1 ;

|    1 | tina  |

|    2 | jason |

|   11 | nina  |

|   22 | son   |

+------+-------+

還原成功。



總結,使用mysqldump做備份還原的時候,記得使用參數master-data參數:

master-data ={0|1|2}

0  不記錄服務器當前的status信息

1 記錄change master to信息

2 註釋change master to信息

服務器要開啓二進制日誌;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章