开工第一天,我删库了

2024年 2月 17日 61.3k 0

开工第一天,我删库了

过了一个忙碌的春节,春节8天接了4个活儿,都是古董级别的数据库,印象最深的是Oracle 8i迁移到PG 15,然后我遇到了这次的删库事件,一个MySQL 5.1.73的主-主复制场景。

1、删库的起因

客户反馈说主从复制中断,且很多数据不一致,需要恢复主从复制,从开始谈都操作都是说的主从复制,并且确认了我的drop database命令。然后我就去从库检查了数据一致性的问题,确实如他说的,非常多,由操作系统上的误操作导致的。然后我再次确认了这个主机是从库并且slave status也不是双Yes,补数据耗时太多,最终决定重做从库。然后就执行了相关的清理工作,结果业务直接关闭。当然最后是恢复了,但整个过程也是非常刺激,毕竟生产库。

2、场景复现

首先模拟了一个MySQL主-主复制,虽然主-主方案并不是主推的方案,但是在一些特定的场景下,确实有他的价值。搭建主-主复制也非常简单,这里有些参数的原理和Innodb Cluster/Galera Cluster很相似。但是在MariaDB中有个非常特殊的案例是把主-主复制转成GTID,都是很厉害的东西。使用了类似域TAG的东西,感兴趣的可以自行百度,MySQL 也有了GTID TAG,技术的革新是真快啊。

2.1、搭建一个主-主复制

2.2、模拟异常

这里我只在一个实例上查看了slave status,这也是导致本次误删数据库的直接原因,因为我从客户那里多次得到的信息都是主从辅助,这是一个从库。

其实两个节点的信息是这样的。

2.3、误删库

删除之后,5.130同步了5.140的删除语句,导致5.130的db01也被删除了。业务就爆炸了。

2.4、恢复与小结

最后使用钞能力(这个工具的好处就是一次购买,永久使用,别问我工具名字,不用的时候,没有意义)恢复了数据,这不是我第一次删库,我相信也不是最后一次删库,但一定要给自己留后路,比如做好备份,能使用各种方法恢复数据等。

客户说的信息,一定要留个心眼,并验证。

3、为什么说DBA是一个非常危险的职业

DBA(数据库管理员)被认为是一个非常重要和复杂的职业,而非危险的职业。然而,有时人们可能会认为DBA工作存在风险或挑战的原因有几点:

  1. 数据安全性和保密性:DBA负责管理数据库,其中可能包含敏感信息,如用户个人数据、财务信息等。因此,如果数据库被攻击或数据泄露,可能会对个人隐私和公司业务造成严重影响。
  2. 数据丢失或损坏:数据库管理员负责备份和恢复数据库,以防止数据丢失或损坏。如果备份过程出现问题,或者数据库被错误地修改或删除,可能导致数据丢失,从而影响业务的连续性和可靠性。
  3. 系统故障和灾难恢复:DBA需要处理数据库系统的故障和灾难恢复。在这种情况下,如果没有及时有效地采取措施来恢复数据库,可能会导致业务中断和数据丢失。
  4. 性能优化和调整:数据库管理员需要监控和调整数据库以确保其性能最优。如果数据库性能不佳,可能会影响应用程序的响应时间和用户体验,从而影响业务的效率和竞争力。

尽管DBA工作可能会面临这些挑战,但通过适当的培训、经验和技能,DBA可以有效地管理数据库并应对这些问题。因此,虽然DBA职业可能会面临一定的风险,但它也提供了许多机会和挑战,对于那些热爱数据库管理和数据处理的人来说,这是一个令人兴奋和有价值的职业。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论