背景
数据误删后能不能恢复?如何恢复?阿里云数据库RDS MySQL的数据安全机制怎么样呢?怎么才能做到事前预防、事后恢复呢?阿里云数据库全方位保护您的数据安全,多角度恢复数据,这篇文章我们就来聊聊这个话题。
事前预防
事前预防可以从以下几方面看:
- 权限隔离
- 环境隔离
- 库表备份设置
- 数据库管理DMS
- 备份服务DBS
RDS MySQL从产品上做了以下完善:
权限隔离
RDS MySQL的账号明细:
环境隔离
曾经有一个开发误把生产当测试环境,误修改很多数据,我们要尽量的把测试、预发、生产环境隔开,降低因为环境识别错误导致的数据安全事件。
内核回收站
适用版本
MySQL 8.0
回收机制
执行DROP TABLE/DATABASE语句时,只保留相关的表对象,并移动到专门的recycle bin目录中。其它对象的删除策略如下:
如果是与表无关的对象,根据操作语句决定是否保留,不做回收。
如果是表的附属对象,可能会修改表数据的,做删除处理,例如Trigger和Foreign key。 但Column statistics不做清理,随表进入回收站。
清理机制
回收站会启动一个后台线程,来异步清理超过recycle_bin_retention时间的表对象。在清理回收站表的时候,如果遇到大表,会再启动一个后台线程异步删除大表。
设置实例备份规则
RDS MySQL默认选择整实例备份,但从去年开始我们支持了可以按库表备份,为了尽快的恢复数据,可以指定库表备份。
数据库管理DMS
DMS是一款强大的数据库管理和设计工具,直观的GUI开发环境让用户简单管理多达23种数据