阿里云Mysql误删表数据恢复

2021年4月25日16:55:47 发表评论
摘要

【心语】人生不可能总是顺心如意的,但是持续朝着阳光走,影子就会躲在后面。刺眼,却表明对的方向。

一、Mysql单库单表恢复
简介:RDS Mysql 支持单库和单表的数据恢复,可以通过备份指定恢复误删的数据库或表。快速恢复Mysql的数据
二、前提条件

  • 实例为如下版本

          。Mysql8.0 高可用版(本地SSD盘)

          。Mysql5.7 高可用版(本地SSD盘)

          。Mysql5.6高可用版

  • 实例存储引擎不为X-Engine
  • 实例内的表低于50000万才可以使用单库单表恢复功能,超过50000张表时无法使用
  • 控制台备份恢复>备份设置里开启单库单表恢复功能

如图: 阿里云Mysql误删表数据恢复

  • 如果是恢复到源实例,源实例需要满足以下条件
    。运行中且没有被锁定
    。当前没有迁移任务
    。如果要按时间点进行恢复,需要确保日志备份已开启
    。若要按备份集恢复,则源实例必须至少有个备份集
  • 如果恢复到新实例,源实例需要满足如下条件
    。运行中且没有被锁定
    。如果要按时间点进行恢复,需要确保日志备份已开启
    。若要按备份集恢复,则源实例必须至少有一个备份集

三、注意事项

  • 恢复到源实例过程中会进行准备切换,RDS服务可能会出现30秒闪断,请确保应用有 自动连接机制,恢复到新实例不会进行主备切换
  • 单库单表恢复只会恢复指定的表,以下几种情况会导致恢复失败
    。从最近一份备份集生成时间点到指定恢复的时间点,这段时间内指定的表被删除,恢复会失败
    。出现未指定的表时恢复会失败,例如指定恢复表b.但是表B是表a在指定时间点之前重命名的,由于表a没有指定,恢复会失败
    。每次最多选择50个库或者表

四、操作步骤
1、登录到RDS管理控制台,在左侧单击实例列表,然后在上方选择地域
2、单击数据库/表级别恢复

阿里云Mysql误删表数据恢复
阿里云Mysql误删表数据恢复
操作步骤:

  1. 找到实例,选择备份恢复
  2. 选择库表恢复
  3. 选择恢复实例的位置,源实例和新实例(没有多个实例就选择恢复到源实例)
  4. 选择恢复的方式(一般按时间点)
  5. 选择需要恢复到的时
  6. 是对应的库,
  7. 是对应的表
  8. 对应表名和恢复后的表名
  9. 点击确定等待操作完成即可

五、恢复步骤
1、使用远程工具登录到数据库,我们能看到.backip的一个表名已经生成如图

阿里云Mysql误删表数据恢复
2、右键选择导出,在选择SQL脚本的方式导

阿里云Mysql误删表数据恢复
3、选择对应的表
阿里云Mysql误删表数据恢复
4、选择全部字段,下一步即可(此处省略图片)
5、导出向导直接默认,下一步即可(此处省略图片)
6、直接点开开始执行导出即可
阿里云Mysql误删表数据恢复
7、使用Notepad++ 打开刚才导出来的文件
阿里云Mysql误删表数据恢复
8、并把备份的表名t_device_back 改为正式的t_device
阿里云Mysql误删表数据恢复
9、复制上图修改了表名的sql语句去执行即可
       选择表——查询——新建查询——查询编辑器-----把SQL拷贝进去
阿里云Mysql误删表数据恢复

11、由于源表数据被清空,所以此时该表无数据
阿里云Mysql误删表数据恢复

12、执行sql后的完成结果

阿里云Mysql误删表数据恢复
13、关闭数据库——在打开数据库——打开表——此时发现数据已经恢复成功了!
阿里云Mysql误删表数据恢复

  • 微信公众号
  • 这是我的微信公众号扫一扫
  • weinxin
  • 我的QQ技术群
  • 我的QQ技术群扫一扫
  • weinxin
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: