误删数据怎么办?

简介: 误删数据怎么办?

DBA 的最核心的工作就是保证数据的完整性,先要做好预防,预防的话大概是通过这几个点:

权限控制与分配(数据库和服务器权限)
制作操作规范
定期给开发进行培训
搭建延迟备库
做好 SQL 审计,只要是对线上数据有更改操作的语句(DML和DDL)都需要进行审核
做好备份。备份的话又分为两个点 (1)如果数据量比较大,用物理备份 xtrabackup。定期对数据库进行全量备份,也可以做增量备份。(2)如果数据量较少,用 mysqldump 或者 mysqldumper。再利用 binlog 来恢复或者搭建主从的方式来恢复数据。定期备份binlog 文件也是很有必要的
如果发生了数据删除的操作,又可以从以下几个点来恢复:
DML 误操作语句造成数据不完整或者丢失。可以通过 flashback,美团的 myflash,也是一个不错的工具,本质都差不多
都是先解析 binlog event,然后在进行反转。把 delete 反转为insert,insert 反转为 delete,update前后 image 对调。
所以必须设置binlog_format=row 和 binlog_row_image=full,切记恢复数据的时候,应该先恢复到临时的实例,然后在恢复回主库上。
DDL语句误操作(truncate和drop),由于DDL语句不管 binlog_format 是 row 还是 statement ,在 binlog 里都只记录语句,不记录 image 所以恢复起来相对要麻烦得多。
只能通过全量备份+应用 binlog 的方式来恢复数据。一旦数据量比较大,那么恢复时间就特别长
rm 删除:使用备份跨机房,或者最好是跨城市保存。

相关文章
|
5月前
|
SQL 关系型数据库 MySQL
恢复误删除的mysql数据库
恢复误删除的mysql数据库
119 1
|
存储 Windows
不小心把u盘里的文件删除了怎么恢复丢失怎么办?,用什么数据恢复软件恢复
自从手机和电脑可以无线传输文件后,U盘就被遗忘在包里,偶尔看见,但基本上没再用过。昨天突然想看看U盘里还有什么文件资料,结果,插在电脑上却读不出来,这是怎么回事呢?u盘在电脑上读不出来数据怎么修复?紧急求救身边的懂电脑小哥哥,他教我一招,就轻松解决了这个难题。
204 0
不小心把u盘里的文件删除了怎么恢复丢失怎么办?,用什么数据恢复软件恢复
|
数据库
记录一起误删数据文件的临时救急处理
记录一起误删数据文件的临时救急处理
99 0
|
关系型数据库 MySQL Linux
mysql数据库误删数据文件怎么处理?
MySQL数据库运行的时候误删了数据文件时的处理办法
733 0
|
存储 监控 固态存储
EasyRecovery数据恢复可以轻松恢复删除和丢失的任何数据
Ontrack EasyRecovery易恢复是由全球著名数据厂商Kroll Ontrack出品的一款专业级数据文件恢复软件,号称最好的数据恢复软件!
183 0
|
Oracle 关系型数据库
|
存储 运维 关系型数据库
十年难得一遇!从数据误删到全量恢复的惊险记录
线上的数据库服务我们有完善的备份策略和恢复预案,数据即使被误删除了也是能够恢复的,误删除的数据量恢复只是时间问题。但各位同学自己部署的测试环境或者是在自己电脑中的开发环境的数据库就没有同级别的资源保障了。如果恰好你又把一些不能丢失的数据放到了这种环境中,那么建议要做定期备份,有备才能无患。
|
监控 数据库 数据库管理
仅仅1首歌的时间,找回误删数据
1首歌的时间能干什么?可以等个红绿灯,也可以走个神,你还可以找回误删的数据。
1411 0

相关实验场景

更多