国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

mysql 找回誤刪表的數(shù)據(jù)方法(必看)

2024-07-24 12:52:07
字體:
供稿:網(wǎng)友

有備份的話很簡單,只需要生成一個最近備份的數(shù)據(jù) 然后用mysqlbinlog找回備份時間點之后的數(shù)據(jù) 再恢復(fù)到現(xiàn)網(wǎng)即可。

要是沒有備份 可能就會比較麻煩,找回數(shù)據(jù)的成本也是非常之高的.

下面介紹下 mysqlbinlog找回備份時間點之后的數(shù)據(jù)的辦法:

做個簡單的實驗,將mysql的表數(shù)據(jù)刪除之后,然后用mysqlbinlog 找回剛才刪除的表的數(shù)據(jù)。

app表的創(chuàng)建時間和數(shù)據(jù)的插入: 2013-02-04 10:00:00

原理: mysqlbinlog

前提: mysql開啟了bin log日志

測試刪除之前:

mysql> show tables;+-----------------------+| Tables_in_report_sina |+-----------------------+| app || test |+-----------------------+mysql> select now();+---------------------+| now() |+---------------------+| 2013-02-04 11:45:44 |+---------------------+1 row in set (0.01 sec)mysql> select count(1) from app;+----------+| count(1) |+----------+| 10 |+----------+1 row in set (0.01 sec)

開始刪除數(shù)據(jù):

mysql> delete from app where id =1;Query OK, 1 row affected (0.00 sec)mysql> mysql> delete from app where id <6;Query OK, 4 rows affected (0.01 sec)mysql> select count(1) from app;+----------+| count(1) |+----------+| 5 |+----------+1 row in set (0.00 sec) mysql> select now();+---------------------+| now() |+---------------------+| 2013-02-04 12:08:45 |+---------------------+

開始找回數(shù)據(jù):

1.找到bin log的位置:

/app/mysql/log-rw-rw---- 1 mysql mysql 17K Feb 4 11:43 alert.log-rw-rw---- 1 mysql mysql 1.0K Nov 1 14:52 master-bin.000001-rw-rw---- 1 mysql mysql 126 Dec 25 14:00 master-bin.000002-rw-rw---- 1 mysql mysql 126 Dec 25 14:02 master-bin.000003-rw-rw---- 1 mysql mysql 126 Dec 25 14:02 master-bin.000004-rw-rw---- 1 mysql mysql 107 Dec 25 14:02 master-bin.000005-rw-rw---- 1 mysql mysql 13K Feb 4 12:02 master-bin.000006

可以看到 最近被修改的bin log 只有 master-bin.000006

(要是誤刪除跨越了好幾個bin log 找回數(shù)據(jù)的時候就必須一個個的bin log日志去找回了)

將這一段時間所有執(zhí)行的sql語句存入到 待恢復(fù)的 sql文件中。

mysqlbinlog --start-date='2013-02-04 10:00:00' --stop-date='2013-02-04 12:08:45' /app/mysql/log/master-bin.000006 >/app/mysql/mysql_restore_20130204.sql

當(dāng)然在現(xiàn)網(wǎng)環(huán)境下 ,這個時間可能沒那么的準(zhǔn)確,并且還有其他事務(wù)sql語句的干擾。

創(chuàng)建臨時數(shù)據(jù)庫

create database for_bak;

導(dǎo)出當(dāng)前數(shù)據(jù)庫中被誤刪的表 app

mysqldump -uroot -ppwd my_db app > /app/mysql/app.sql

將現(xiàn)在的數(shù)據(jù)導(dǎo)入到臨時表:

mysql -root -ppwd for_bak < /app/mysql/app.sql

我們再來看下 /app/mysql/mysql_restore_20130204.sql的部分內(nèi)容: (可以看到罪惡的delete 語句)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 九台市| 西乌| 泸水县| 车致| 永年县| 卓尼县| 咸丰县| 赣州市| 和田市| 平谷区| 扶沟县| 灵山县| 个旧市| 凤翔县| 吴堡县| 色达县| 新河县| 二手房| 武胜县| 江西省| 台中市| 连州市| 酉阳| 南汇区| 建水县| 中西区| 清远市| 儋州市| 昌图县| 南陵县| 扶沟县| 黎川县| 翼城县| 磐石市| 江川县| 什邡市| 土默特右旗| 池州市| 新源县| 灵宝市| 通道|