MySQL誤刪資料?試試資料閃回工具binlog2sql
# 建立測試表 t1
mysql> show create table t1\G
*************************** 1. row ***************************
Table: t1
Create Table: CREATE TABLE `t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`employee` varchar(20) NOT NULL,
PRIMARY KEY (`id`),
KEY `idx_employee` (`employee`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
1 row in set (0.00 sec)
# 插入測試資料
mysql> insert into t1 (employee) values ('111'),('222'),('333');
Query OK, 3 rows affected (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 0
# 檢視 t1 表當前資料
mysql> select * from t1;
+----+----------+
| id | employee |
+----+----------+
| 1 | 111 |
| 2 | 222 |
| 3 | 333 |
+----+----------+
3 rows in set (0.01 sec)
# 重新整理 binlog 日誌,生成新的日誌
mysql> flush logs;
Query OK, 0 rows affected (0.10 sec)
# 刪除 t1 表所有資料
mysql> delete from t1;
Query OK, 3 rows affected (0.00 sec)
# 檢視 t1 表資料
mysql> select * from t1;
Empty set (0.00 sec)
# 檢視 binlog 檔案
mysql> show master status\G
*************************** 1. row ***************************
File: mysql-bin.000013
Position: 520
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set: 7c54e776-807d-11eb-b035-fa163ee04d48:1-1331,
7d5edd3b-807d-11eb-ae54-fa163ee4c1f8:1
1 row in set (0.00 sec)
# 使用前文的命令示例,補全資訊,檢視對 t1 表的 sql 執行記錄
[root@dbtest01 binlog2sql]# python binlog2sql.py -h127.1 -P3306 -uroot -p'******' --start-file='mysql-bin.000013' -ddbtest01 -tt1 --start-datetime='2021-08-18 14:00:00' --stop-datetime='2021-08-18 15:00:00'
DELETE FROM `dbtest01`.`t1` WHERE `employee`='111' AND `id`=1 LIMIT 1; #start 299 end 489 time 2021-08-18 14:21:26
DELETE FROM `dbtest01`.`t1` WHERE `employee`='222' AND `id`=2 LIMIT 1; #start 299 end 489 time 2021-08-18 14:21:26
DELETE FROM `dbtest01`.`t1` WHERE `employee`='333' AND `id`=3 LIMIT 1; #start 299 end 489 time 2021-08-18 14:21:26
# 根據執行記錄中的 外匯跟單gendan5.com position 生成回滾 sql
[root@dbtest01 binlog2sql]# python binlog2sql.py -h127.1 -P3306 -uroot -p'******' --start-file='mysql-bin.000013' -ddbtest01 -tt1 --start-position='299' --stop-position='489' -B
INSERT INTO `dbtest01`.`t1`(`employee`, `id`) VALUES ('333', 3); #start 299 end 489 time 2021-08-18 14:21:26
INSERT INTO `dbtest01`.`t1`(`employee`, `id`) VALUES ('222', 2); #start 299 end 489 time 2021-08-18 14:21:26
INSERT INTO `dbtest01`.`t1`(`employee`, `id`) VALUES ('111', 1); #start 299 end 489 time 2021-08-18 14:21:26
# 根據誤刪時間範圍生成回滾 sql
[root@dbtest01 binlog2sql]# python binlog2sql.py -h127.1 -P3306 -uroot -p'******' --start-file='mysql-bin.000013' -ddbtest01 -tt1 --start-datetime='2021-08-18 14:00:00' --stop-datetime='2021-08-18 15:00:00' -B
INSERT INTO `dbtest01`.`t1`(`employee`, `id`) VALUES ('333', 3); #start 299 end 489 time 2021-08-18 14:21:26
INSERT INTO `dbtest01`.`t1`(`employee`, `id`) VALUES ('222', 2); #start 299 end 489 time 2021-08-18 14:21:26
INSERT INTO `dbtest01`.`t1`(`employee`, `id`) VALUES ('111', 1); #start 299 end 489 time 2021-08-18 14:21:26
# 將上述回滾 sql 匯出檔案 rollback.sql ,匯入資料庫
mysql>source /backup/rollback.sql;
# 檢視 t1 表資料
mysql> select * from t1;
+----+----------+
| id | employee |
+----+----------+
| 1 | 111 |
| 2 | 222 |
| 3 | 333 |
+----+----------+
3 rows in set (0.01 sec)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2788056/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL使用binlog2sql閃回誤刪除資料MySql
- Oracle閃回刪除恢復誤刪資料Oracle
- Oracle 閃回資料庫測試Oracle資料庫
- mysql閃回工具binlog2sqlMySql
- 閃回查詢恢復誤刪資料
- 閃回查詢找到誤刪除資料
- mysql資料誤刪後的資料回滾MySql
- 利用binlog2sql閃回丟失資料SQL
- MySQL工具之binlog2sql閃回操作MySql
- oralce恢復誤刪除的表中的資料(閃回、閃回查詢)
- 使用閃回查詢恢復誤刪除的資料
- 工具分享丨資料閃回工具MyFlash
- FlashBack總結之閃回資料庫與閃回刪除資料庫
- MySQL刪除資料的簡單嘗試MySql
- SAP Uninstall 之誤刪測試資料庫資料庫
- 閃回(關於閃回資料庫)資料庫
- 閃回資料庫資料庫
- MySQL資料“誤”刪“***”戰薦MySql
- mysql誤刪資料恢復MySql資料恢復
- 回閃查詢查詢刪除的資料
- 閃回資料庫測試之一 :關閉閃回的表空間是否可以開啟資料庫
- 閃回資料庫測試之二 :通過read only檢視閃回的結果資料庫
- mysql之 mysql資料庫壓力測試工具(mysqlslap)MySql資料庫
- Oracle資料庫閃回Oracle資料庫
- flashback query閃回資料
- Oracle閃回資料庫Oracle資料庫
- 資料庫的閃回資料庫
- 清除閃回資料歸檔區資料
- Oracle閃回查詢恢復delete刪除資料Oracledelete
- Oracle閃回技術之閃回資料庫Oracle資料庫
- 【備份恢復】閃回資料庫(一)閃回資料庫的管理資料庫
- 使用oracle 閃回查詢找回誤更新的資料Oracle
- 【備份恢復】閃回資料庫(五)RMAN 命令列閃回資料庫資料庫命令列
- 【備份恢復】閃回資料庫(二) 基於 SCN 閃回資料庫資料庫
- MySQL構造測試資料MySql
- 【MySQL】資料庫效能測試MySql資料庫
- MySQL - [06] 海賊王測試資料MySql
- 磁碟誤刪卷資料恢復工具資料恢復