前提:对mysql库进行全备和增量备份(全备就是对hive库进行完全备份,增量备份就是将mysql的binlog日志进行备份)
情景说明:由于误操作,将包含有多张表的数据库给误删了
要求:恢复误删的数据库
具体模拟故障过程与恢复操作步骤如下:
(1)首先创建hive库,创建一个before1表,插入一条记录,创建一个after1表,插入3条记录
mysql> use hive;
mysql> select * from after1;
+------+
| id |
+------+
| 22 |
| 33 |
| 44 |
+------+
3 rows in set (0.00 sec)
mysql> select * from before1;
+------+
| id |
+------+
| 11 |
+------+
1 row in set (0.00 sec)
(2)对hive库做个完全备份(记录日志位置,并设置字符集)
mysqldump -uroot -pxxx -h10.191.22.247 -F -R --master-data=2 --default-character-set=utf8 --single-transaction -B hive |gzip >/tmp/mysql_$(date