mysql 閃回測試

2022-09-09 01:30:10 字數 1697 閱讀 1294

由於前面出現過幾個需求,或者誤操作,或者測試,需要我把某張表恢復到操作之前的乙個狀態,前面在生產中有過幾次經歷,實在太痛苦了,下面是一張表被誤刪除了,我的步驟是:

1  用全備恢復整個庫(恢復到其他環境)

2  找到全備結束時間點對應的binlog,然後根據時間找對應的pos點

3  接著2中的pos點把資料往後刷,直到刷到誤操作之前的時間點。

3  在這套全新庫中將表匯出,然後在現有生產庫匯入

上面的動作存在乙個問題,前提是我在誤操作到發現的這個時間段,這個表沒有資料寫入,不然肯定會有資料不一致或者丟失。

下面我介紹另乙個方法,閃回 flash back

mysql> use leochentest;

database changed

mysql> create table leochen(id int,name varchar(10));

query ok, 0 rows affected (0.05 sec)

mysql> insert into leochen values (1,'leochen'),(2,'chenleo');

query ok, 2 rows affected (0.02 sec)

records: 2  duplicates: 0  warnings: 0

mysql> select * from leochen;

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

| id   | name       |

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

|    1 | leochen    |

|    2 | chenleo |

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

mysql> update leochen set name = 'leochenlia' where id = 2;

query ok, 1 row affected, 1 warning (0.01 sec)

rows matched: 1  changed: 1  warnings: 1

在做閃回之前

mysql> select * from leochen;

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

| id   | name       |

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

|    1 | leochen    |

|    2 | leochenlia |

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

下面開始操作

mysqlbinlog -vv dbnoe05-bin.000004 |egrep -i -c 20 'update|leochen'

mysqlbinlog -b -vv --start-position=648 --stop-position=948 dbnoexx-bin.000004 | mysql -uroot -p***

biu  biu  biu~~~

mysql> select * from leochen;

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

| id   | name    |

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

|    1 | leochen |

|    2 | chenleo |

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

2 rows in set (0.00 sec)

mysql有閃回嗎 mysql 閃回測試

由於前面出現過幾個需求,或者誤操作,或者測試,需要我把某張表恢復到操作之前的乙個狀態,前面在生產中有過幾次經歷,實在太痛苦了,下面是一張表被誤刪除了,我的步驟是 1 用全備恢復整個庫 恢復到其他環境 2 找到全備結束時間點對應的binlog,然後根據時間找對應的pos點 3 接著2中的pos點把資料...

mysql 閃回 Mysql資料閃回操作備忘

準備工作 更新mysql客戶端到5.7版本 shell wget i c shell yum y install mysql57 community release el7 11.noarch.rpm shell yum y install mysql community server 檢查mysq...

MySQL回閃查詢 閃回查詢(undo sql)

select versions xid,versions operation,versions starttime,versions endtime,versions startscn,versions endscn from site daily report versions between t...