通過二進位制日誌恢復資料

2021-09-20 16:33:05 字數 3267 閱讀 6882

二進位制日誌會記錄所有更改資料庫狀態的sql操作,比如create drop update......

二進位制日誌檔案存放在我們的資料目錄裡,格式如mysql-bin.000001

準備:進入mysql命令列做如下操作:

create database a1;

#建立乙個a1庫

create database a2;

#建立乙個a2庫

drop database a1;

#刪掉a1庫

use a2;

create table aaa (name char(40));

#在a2庫里建立乙個叫aaa的資料表

接下來我們就恢復a1庫

一、通過時間指定還原範圍

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

cd/data/mysql

ls

mysqlbinlog mysql-bin.000009

檢視建立a1庫的開始時間和建立完成後的時間

/*!*/;

# at 1047

#170217 23:37:12 server id 1  end_log_pos 1126  query   thread_id=10    exec_time=0     error_code=0

set timestamp=1487345832/*!*/;

create database a1

/*!*/;

# at 1126

#170217 23:37:18 server id 1  end_log_pos 1205  query   thread_id=10    exec_time=0     error_code=0

set timestamp=1487345838/*!*/;

create database a2

/*!*/;

# at 1205

#170217 23:37:26 server id 1  end_log_pos 1282  query   thread_id=10    exec_time=0     error_code=0

set timestamp=1487345846/*!*/;

drop database a1

/*!*/;

# at 1282

#170217 23:37:53 server id 1  end_log_pos 1375  query   thread_id=10    exec_time=0     error_code=0

use `a2`/*!*/;

set timestamp=1487345873/*!*/;

create table aaa (name char(40))

/*!*/;

delimiter ;

# end of log file

rollback /* added by mysqlbinlog */;

/*!50003 set completion_type=@old_completion_type*/;

#說明一下:每乙個sql語句都以# at 開頭,下面一行的#170217 23:37:12就是操作時的時間

找到之後記錄好,開始恢復

mysqlbinlog --start-datetime'2017-02-17 23:37:12'--stop-datetime'2017-02-17 23:37:18'mysql-bin.000009 |mysql

#這裡說明一下|mysql因為我的沒有設密碼所以直接用的,如果你的有密碼mysql -u -p 這樣用

我們在進入mysql命令列,show databases 可以看到a1庫恢復回來了

二、通過大小指定還原範圍

我們這次通過恢復的方法把a1庫刪掉

還是檢視二進位制日誌檔案

通過大小就是所說的# at 後面的數字

mysqlbinlog --start-position 1205 --stop-position 1282 mysql-bin.000009 |mysql

在進入sql命令列show databases;檢視一下是不是還有a1庫

MySql通過二進位制日誌檔案恢復資料

mysql通過二進位制日誌檔案恢復資料 1 mysql配置實現開啟二進位制檔案 開啟my.ini檔案,再裡面新增 enter a name for the binary log.otherwise a default name willbe used.log bin d mysql51 logbin...

如何通過Mysql的二進位制日誌恢復資料庫資料

經常有 管理員因為各種原因和操作,導致 資料誤刪,而且又沒有做 備份,結果不知所措,甚至給 運營和盈利帶來負面影響。所以本文我們將和大家一起分享學習下如何通過mysql的二機制日誌 binlog 來恢復資料。系統環境 作業系統 centos 6.5 x64 虛擬機器 web服務 php mysql ...

如何通過Mysql的二進位制日誌恢復資料庫資料

經常有 管理員因為各種原因和操作,導致 資料誤刪,而且又沒有做 備份,結果不知所措,甚至給 運營和盈利帶來負面影響。所以本文我們將和大家一起分享學習下如何通過mysql的二機制日誌 binlog 來恢復資料。系統環境 作業系統 centos 6.5 x64 虛擬機器 web服務 php mysql ...