老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

mysql恢復drop表

drop誤操作刪除表后,恢復的大概流程是
1、從備份中將表恢復到備份時間點
2、找到drop操作點
3、從binlog中找到備份點到drop點中間所有事件,并篩選出該表的事件
4、執行找到該表的事件

一、實驗數據:
MySQL> select * from sale;
+--------+---------+--------+
| month  | user_id | amount |
+--------+---------+--------+
| 201601 | 1       |    500 |
| 201601 | 2       |    300 |
| 201601 | 3       |    500 |
| 201602 | 1       |   1000 |
| 201602 | 2       |    800 |
| 201603 | 2       |   1000 |
| 201603 | 3       |    500 |
| 201604 | 1       |   1000 |
+--------+---------+--------+
8 rows in set (0.00 sec)


二:備份
[root@wd-gtt-system-db data]# mysqldump -S /data/DB/mysql/mysql.sock -h272.30.249.143 -P3306 -uroot -p  --single-transaction -B test --tables sale   --master-data=2  >/data/backup/mysql_dump.sql
這里一定要加--master-data參數,因為要記錄備份時binlog位置

[root@wd-gtt-system-db data]# cat /data/backup/mysql_dump.sql
-- MySQL dump 10.13  Distrib 5.6.27-76.0, for Linux (x86_64)
--
-- Host: 172.30.249.143    Database: test
-- ------------------------------------------------------
-- Server version       5.6.27-76.0-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Position to start replication or point-in-time recovery from
--

-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=309610;

.......
標紅處就是備份點,在后面從binlog中找到備份點到drop點中間所有事件用得上

三:增加測試數據并drop表
insert into sale values(201605,'5',10000)
update sale set amount=0 where user_id=1
 
mysql> select * from sale;
+--------+---------+--------+
| month  | user_id | amount |
+--------+---------+--------+
| 201601 | 1       |      0 |
| 201601 | 2       |    300 |
| 201601 | 3       |    500 |
| 201602 | 1       |      0 |
| 201602 | 2       |    800 |
| 201603 | 2       |   1000 |
| 201603 | 3       |    500 |
| 201604 | 1       |      0 |
| 201605 | 5       |  10000 |
+--------+---------+--------+
9 rows in set (0.00 sec)
mysql> drop table sale;

四:從備份中恢復數據到備份點
因為備份的是全庫,要從備份中找到sale表相關的建表語句和數據
[root@wd-gtt-system-db ~]# sed -e'/./{H;$!d;}' -e 'x;/CREATE TABLE `sale`/!d;q' /data/backup/mysql_dump.sql
DROP TABLE IF EXISTS `sale`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `sale` (
  `month` int(10) DEFAULT NULL,
  `user_id` varchar(64) DEFAULT NULL,
  `amount` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
[root@wd-gtt-system-db ~]# grep 'INSERT INTO `sale`' /data/backup/mysql_dump.sql>data.sql
[root@wd-gtt-system-db ~]# cat data.sql
INSERT INTO `sale` VALUES (201601,'1',500),(201601,'2',300),(201601,'3',500),(201602,'1',1000),(201602,'2',800),(201603,'2',1000),(201603,'3',500),(201604,'1',1000);

執行上面的語句,查看數據,已經恢復備份點的狀態
mysql> select * from sale;
+--------+---------+--------+
| month  | user_id | amount |
+--------+---------+--------+
| 201601 | 1       |    500 |
| 201601 | 2       |    300 |
| 201601 | 3       |    500 |
| 201602 | 1       |   1000 |
| 201602 | 2       |    800 |
| 201603 | 2       |   1000 |
| 201603 | 3       |    500 |
| 201604 | 1       |   1000 |
+--------+---------+--------+
8 rows in set (0.00 sec)

五、查詢dorp操作的position
因為drop操作是在備份后發生的,加個 --start-position=309610
[root@wd-gtt-system-db mysql]# mysqlbinlog -v -v --base64-output=DECODE-ROWS --set-charset=UTF-8  --start-position=309610  /data/DB/mysql/mysql-bin.000002 |grep DROP  -A10 -B10
###   @1=201604 /* INT meta=0 nullable=1 is_null=0 */
###   @2='1' /* VARSTRING(192) meta=192 nullable=1 is_null=0 */
###   @3=0 /* INT meta=0 nullable=1 is_null=0 */
# at 328220
#161220 15:30:49 server id 2  end_log_pos 328251 CRC32 0xb42e62b5       Xid = 8713
COMMIT/*!*/;
# at 328251
#161220 15:31:12 server id 2  end_log_pos328368 CRC32 0xf8c5dde3       Query   thread_id=127   exec_time=0     error_code=0
use `test`/*!*/;
SET TIMESTAMP=1482219072/*!*/;
DROP TABLE `sale` /* generated by server */
......
標紅的地方表示position=328368 執行的drop操作,我們要恢復到這個之前,也就是328251 這個事件

六:從binlog中找到備份點到drop點中間所有事件
--start-position=備份點
--stop-position=drop操作前的事件點
[root@wd-gtt-system-db mysql]# mysqlbinlog -v -v --base64-output=DECODE-ROWS --set-charset=UTF-8  --start-position=309610 --stop-position=328251 mysql-bin.000002 > recover.sql
檢索出sale表相關事件
[root@trcloud opt]# more recover.sql |grep  --ignore-case -E 'insert|update|delete' -A2 -B2|grep sale
insert into sale values(201605,'5',10000)
update sale set amount=0 where user_id=1

注:binlog是MIXED或者Statement模式才可通過上述方法找到事件的DML語句
七:執行上面找出來的語句
查看數據,全部恢復
mysql> select * from sale;
+--------+---------+--------+
| month  | user_id | amount |
+--------+---------+--------+
| 201601 | 1       |      0 |
| 201601 | 2       |    300 |
| 201601 | 3       |    500 |
| 201602 | 1       |      0 |
| 201602 | 2       |    800 |
| 201603 | 2       |   1000 |
| 201603 | 3       |    500 |
| 201604 | 1       |      0 |
| 201605 | 5       |  10000 |
+--------+---------+--------+
9 rows in set (0.00 sec)

本文名稱:mysql恢復drop表
文章分享:http://www.xueling.net.cn/article/jippcp.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 波多野结衣一区二区三区AV高清 | 中文精品久久久久鬼色 | 亚洲AV久久爆乳一区二区 | 精品国产a∨无码一区二区三区 | 91tv在线观看 | 99国产精品久久久久久久久久 | 久久午夜剧场 | 亚洲精品国产有码 | 一级黄色大毛片 | 96sao精品免费视频观看 | 欧美日韩综合视频 | 在线观看免费av网站 | 国产综合精品一区二区三区 | 在线导航福利 | 大伊香蕉精品一区视频在线 | 久久亚洲春色中文字幕久久久 | 青青视频一区二区 | 国产一区二区三区视频免费 | 中日韩黄色一级片 | 亚洲中文字幕不卡无码 | 91丨国产 | 国产乱子影视频上线免费观看 | 亚洲制服丝袜中文字幕自拍 | 性欧美videofree高清69 | 九九久久免费视频 | 麻豆激情视频在线 | 欧亚乱熟女一区二区三区在线 | 日本女人一区二区 | 一区二区三国产 | 国产毛1卡2卡3卡4卡视频 | 成熟女人牲交片免费观看视频 | 成人高潮片免费软件69视频 | 国产网站色 | 玖玖爱中文字幕 | XXX性XXX国语对白 | www.国产91 | 风韵老女人性按摩推油 | 日本黄色影片在线观看 | 亚洲第一成人无码A片 | 国产做爰免费一百部观看 | 91麻豆精品在线 |