您好,登錄后才能下訂單哦!
本文主要給大家介紹誤刪MySQL 數據如何復原,希望可以給大家補充和更新些知識,如有其它問題需要了解的可以持續在億速云行業資訊里面關注我的更新文章的。
數據庫備份語句
mysqldump -S /tmp/mysql3309.sock -u root -pMySQL8.0 \
--single-transaction \
--quick --flush-logs \
--triggers \
--routines \
--events \
--set-gtid-purged=OFF \
--databases testdb > testdb.dump
備份時表 nw 存在以下數據
mysql> select * from nw;
+---------------------+
| dt |
+---------------------+
| 2018-11-12 10:20:26 |
| 2018-11-12 10:20:27 |
| 2018-11-12 10:20:28 |
| 2018-11-12 10:20:28 |
| 2018-11-12 10:20:29 |
| 2018-11-12 10:30:53 |
| 2018-11-12 10:30:54 |
| 2018-11-12 10:30:55 |
| 2018-11-12 10:30:55 |
| 2018-11-12 10:30:56 |
| 2018-11-12 10:30:57 |
| 2018-11-12 10:30:57 |
+---------------------+
將最近的備份和備份后的二進制文件拷貝另一臺有 MySQL 實例的云服務器B
將二進制文件提取為明文文件,查詢數據刪除的時間點
mysqlbinlog --base64-output=decode-rows -v binlog.000006 > result.sql
#181112 10:34:23 server id 3309 end_log_pos 2846 Delete_rows: table id 694 flags: STMT_END_F
### DELETE FROM `testdb`.`nw`
### WHERE
### @1=1541989226
### DELETE FROM `testdb`.`nw`
在服務器B上還原數據庫
mysql -S /tmp/mysql3309.sock -u root -pMySQL8.0 < testdb.dump
將刪除數據前的二進制日志重新應用到數據庫
mysqlbinlog --stop-datetime="2018-11-12 10:34:00" \
--skip-gtids binlog.000006 | \
mysql -S /tmp/mysql3309.sock -u root -pMySQL8.0
將表 nw dump 出來
mysqldump -S /tmp/mysql3309.sock -u root -pMySQL8.0 \
--single-transaction \
--quick --flush-logs \
--triggers \
--routines \
--events \
--set-gtid-purged=OFF \
testdb nw > nw.dump
提取 nw.dump 中的 insert 語句
grep "INSERT INTO \`nw\` VALUES" nw.dump > insert.sql
將 insert 語句在原數據庫執行,查詢結果數據已經恢復
mysql> use sbtest;
mysql> source insert.sql
mysql> select * from nw;
+---------------------+
| dt |
+---------------------+
| 2018-11-12 10:20:26 |
| 2018-11-12 10:20:27 |
| 2018-11-12 10:20:28 |
| 2018-11-12 10:20:28 |
| 2018-11-12 10:20:29 |
| 2018-11-12 10:30:53 |
| 2018-11-12 10:30:54 |
| 2018-11-12 10:30:55 |
| 2018-11-12 10:30:55 |
| 2018-11-12 10:30:56 |
| 2018-11-12 10:30:57 |
| 2018-11-12 10:30:57 |
| 2018-11-12 10:33:37 |
| 2018-11-12 10:33:38 |
| 2018-11-12 10:33:39 |
| 2018-11-12 10:33:40 |
| 2018-11-12 10:33:40 |
| 2018-11-12 10:33:41 |
| 2018-11-12 10:33:42 |
| 2018-11-12 10:33:42 |
| 2018-11-12 10:33:43 |
+---------------------+
注意:不要在原服務器上執行還原操作
看了以上關于誤刪MySQL 數據如何復原,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,如有需要更加專業的解答,可在官網聯系我們的24小時售前售后,隨時幫您解答問題的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。