我们不止要说误删数据的事后处理办法,更重要是要做到事前预防
误删数据分类
使用 delete 语句误删数据行
使用 drop table 或者 truncate table 语句误删数据表
使用 drop database 语句误删数据库
使用 rm 命令误删整个 MySQL 实例
需要完善自动恢复脚本
一种加速的方法是,在用备份恢复出临时实例之后,将这个临时实例设置成线上备库的从库
#1.恢复全量备份
a.指定全量备份路径
b.写入全量备份名称
c.恢复全量备份到指定临时实例
在 start slave 之前,先通过执行change replication filter replicate_do_table = (tbl_name) 命令,就可以让临时库只同步误操作的表
这样做也可以用上并行复制技术,来加速整个数据恢复过程
#2.自动恢复binlo
a.指定binlog备份路径
b.指定需要恢复的binlog名称(1个或者多个)
c.恢复binlog到指定临时实例
复制
预防误删库 表的方法
第一条建议是,账号分离。这样做的目的是,避免写错命令
比如:我们只给业务开发同学 DML 权限,而不给 truncate/drop 权限。
而如果业务开发人员有 DDL 需求的话,也可以通过开发管理系统得到支持。
即使是 DBA 团队成员,日常也都规定只使用只读账号,必要的时候才使用有更新权限的账号。第二条建议是,制定操作规范
这样做的目的,是避免写错要删除的表名。
比如:在删除数据表之前,必须先对表做改名操作。然后,观察一段时间,确保对业务无影响以后再删除这张表。
改表名的时候,要求给表名加固定的后缀(比如加 _to_be_deleted),然后删除表的动作必须通过管理系统执行。并且,管理系删除表的时候,只能删除固定后缀的表。
End
本文分享内容是我自己的一些见解,欢迎大家一起来评论留言探讨,我会不定期更新内容,大家可以关注我哟~,也可以在今日头条搜索“青雨果果”关注我!~

向上滑动


文章转载自青雨果果,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【MySQL 30周年庆】MySQL 8.0 OCP考试限时免费!教你免费领考券
墨天轮小教习
3203次阅读
2025-04-25 18:53:11
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
严少安
892次阅读
2025-04-25 15:30:58
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
529次阅读
2025-04-17 17:02:24
MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?
JiekeXu
454次阅读
2025-04-15 23:49:58
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
382次阅读
2025-04-15 14:48:05
MySQL 8.0 OCP 1Z0-908 考试解析指南(二)
JiekeXu
343次阅读
2025-04-30 17:37:37
记录MySQL数据库的一些奇怪的迁移需求!
陈举超
301次阅读
2025-04-15 15:27:53
SQL优化 - explain查看SQL执行计划(下)
金同学
294次阅读
2025-05-06 14:40:00
MySQL 8.0 OCP 1Z0-908 考试题解析指南
青年数据库学习互助会
284次阅读
2025-04-30 12:17:54
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
数据库运维之道
284次阅读
2025-04-28 11:01:25