前言

最近顺丰又搞出一个热门:运维误删库事件!

看看有没有什么后路好走啊哥们~

正文

  1. 国内呆不下了,赶紧出国

首先,不要选动车,要选最近的一班飞机,尽快出国,能走高速走高速,不然选人少的路线。

没错,我们 DBA 都是常备护照的。

切记,注意看高德地图实时路况。

我们有个前辈就是删库之后开车就上二环,下午五点钟。警察到的时候他还堵在路上。

  1. 只不过是把数据干掉了


权限问题永远是大问题,做好权限回收,开发数据库和线上数据库分离,线上数据库管理权限(一般指修改表结构权限与删表权限)禁止回收,也不提供给业务直接用。

不然参考 0。

公司管理上,最好有自己的 DB 运维产品,线上数据库只允许查,改的话要有审批流程。

至于查数据要不要脱敏、导入导出流程,就看自己产品的规划和排期了。

至于 DBA 怎么保证不手滑,这个每个人有每个人的习惯。

  1. 删库什么的都是小 case

清理数据库之前一定要检查进程,是否存在数据库进程,如果存在则宁愿不搞也不要深夜搞。

公司清理数据库要有下线流程。下线一定要走流程。宁愿多租几天机房也不要丢掉数据。

不然参考 0。

原则是:

rm 文件之前先检查进程是否存在。

绝不手工 drop 库表,如果非要 drop,则应该写成 rename,truncate 也是类似,写成 rename 和 create table like 两条 sql。

删表之前可以根据表文件的最后修改时间进行再次确认,不确认就找人 review,有下线流程则走下线流程。

  1. 备份,备份,备在何处?

冷备,热备都要有,一定要每天一备。

冷备便是应对这种情况。

公司应该有自己的 DB 备份方案,并且保证执行到位。

4. 人算不如天算

关于这一点,可以单独拉一个大专题出来了,核心内容是 mysql 高可用。

简单起见,推荐这篇文章:避免硬件故障的核心解决方案是冗余。


硬件层面的 raid,软件层面的主从、热备都是为了保证某一个节点宕机,其他节点仍然能继续工作。

所有库都要有主从备份,一方面做读写分离,一方面也是为了备份、高可用。

即便有半同步复制,有些极端情况下可以认为,mysql binlog 没有同步到从库上,仍然可能存在 binlog 丢失(数据丢失)的风险。

所以应对这点,比较好的开源解决方案有 2:TiDB 和 Mysql GR。

  1. 升级也能失败?

说起来很简单,升级无非是:

准备升级

过程原理

手工升级后拓扑:


工具(mha)升级后拓扑:

  1. 操作之前有个流程

一般自己操作的时候,都不会有太多的顾忌。

但是要是拿给别人看,就要考虑一下了。

如果别人不只要看,还要 review,那这样就比较难犯重大的错误了。

如果有些操作需要夜间一个人搞,那么一定要提前列好准备,这个就比较正式了。

包括:

  1. 梳理具体的执行步骤、执行命令和每个步骤的预计结果。

  2. 如果某些步骤出错,是否要求回滚、预先制定回滚方案。

  3. 详细记录执行记录,每一步都要有反馈。

  4. 事先梳理好收尾工作。

  5. 强关联业务要事先通知,考虑到时间段和别的业务高峰,尽量让对方也安排人留守观察。

  6. 一定要严格按照步骤来进行操作。宁愿延期,不要加戏。

7. 留几个问题

  1. 如果你有机会进行 mysql 迁移和升级工作,你认为无法写入数据造成的影响大,还是写入脏数据造成的影响大?

  2. 如果数据库挂了,机器可以启动但是 mysql 进程无法启动,你这里又有昨天的备份可以恢复,你该怎么做?

3.想要删库完全不出问题,那么删库流程该怎么设计?

好了,公司还是要有自己的 DB 产品,再简陋也要有。

欢迎工作一到五年的Java工程师朋友们加入Java爬坑之路:860113481

群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

转载于:https://blog.51cto.com/13732225/2178615

顺丰被删库?半个DBA的跑路经验总结相关推荐

  1. 不小心删库是一种怎样的体验?半个DBA的跑路经验总结

    关注「实验楼」,每天分享一个项目教程 国内呆不下了,赶紧出国.首先,不要选动车,要选最近的一班飞机,尽快出国,能走高速走高速,不然选人少的路线.切记,注意看高德地图实时路况.我们有个前辈就是删库之后开 ...

  2. 小贺的第一份实习,半个月就跑路

    大家好,我是小贺. 前几天一位鹅厂的号主朋友鱼皮,写了一篇文章:我的第一份实习!日薪 100,附面试初体验 看完之后,小贺一下子就回忆起了当年大二的时候,参加过的一次实习. 想不过相比鱼皮大佬,我的实 ...

  3. 教师节快乐:删了库之后,不要着急跑路

    今天是教师节,祝天下的老师们:节日快乐,身体康健,授业解惑,桃李天下! 早上在朋友圈刷了一张图,引起了很多朋友的反馈,其实老师们的心思你懂的. 当年悟空学艺于菩提祖师门下,老师遣他下山,悟空觉得自己蒙 ...

  4. 不小心删库了,试试binlog

    事件起因 我们的系统中有数据导入的功能,可以把特定的格式的excel数据导入到系统中来 由于客户电脑的文件比较多,很多文件的名字也比较相近,客户在导入excel时选错了文件 这个错误的excel文件的 ...

  5. 删库惹的祸,顺丰高级工程师“被跑路”!

    那些年,我们删过的库与跑过的路. 图注:图片源自网络 在 IT 从业者中,有着一群比程序员还要低调且掌管着大数据时代企业生死命门的人,他们就是传说中的 DBA.论起 DBA 的工作职能,很多人表示这可 ...

  6. 链家前DBA判刑7年!你还敢不敢删库?

    前几日和同事吐槽工作中的难点,一位同事情不自禁的来了句,老子真想删库走人! 不由想起去年年初时候,一家名为微盟的上海公司,因为一位运维人员一气之下删库的行为,导致了最后整个公司数亿元的损失. 那么是不 ...

  7. 阿里十年DBA经验产品经理:真的不要再有一起删库跑路事件了

    最近网上又出一起删库跑路事件,本不想过多写此类事件文字,但从业13年,十年DBA工作经验,职业素养还是驱使自己写点内容,以期能够帮助广大企业客户. 本文主要以数据库产品从业者角度,介绍帮助企业减少意外 ...

  8. 程序员自救指南:一不小心删库删表怎么办?

    作者丨林晓斌 策划丨小智 写在前面 虽然我们之前遇到的大多数的数据被删,都是运维同学或者 DBA 背锅的.但实际上,只要有数据操作权限的同学,都有可能踩到误删数据这条线. 今天我们就来聊聊误删数据前后 ...

  9. “删库跑路”这件事情真的发生了 ,还是技术总监干的!

    本文来自公众号"纯洁的微笑" TechWeb经授权发布 ID | keeppuresmile 作者 | 纯洁的微笑 程序员经常相互开玩笑说,大不了我们"删库跑路" ...

最新文章

  1. 语义分割--Global Deconvolutional Networks for Semantic Segmentation
  2. Mac IntelliJ IDEA 快捷键终极大全,速度收藏!
  3. 洛谷 [P1198] 最大数
  4. 10 Reasons Why Your Projects Should Use the Dojo
  5. 大创项目实施方案模板范文_27篇互联网电商创业计划书范文+34个电商行业商业计划书模板下载...
  6. Swoole入门指南:PHP7安装Swoole详细教程(一)
  7. Apollo进阶课程㊳丨Apollo平台的快速入门
  8. 网路工程师要不要学mysql_网络工程师要学什么_网络工程师需要的技能
  9. Laravel使用EasyWechat 进行微信支付
  10. GIT 查看/修改用户名和邮箱地址
  11. atoi函数:c\c++中把字符串整数转换为int型整数
  12. 开源公司黄页之 Google 开源软件推荐
  13. Dell™ PowerEdge™ R710机架式服务器旨在成为虚拟化企业的构建块
  14. 办公软件入门--word01
  15. CListCtrl和CImageList关联的图片删除问题
  16. 爱荷华州立大学计算机学院,爱荷华州立大学最新qs世界排名
  17. 哈罗单车获10亿元D2轮融资 共享单车仍有精彩可期待
  18. 关于motionevent的使用
  19. 使用sql语句往MySQL插入1000万条数据
  20. 2020上半年总结:纸上得来终觉浅,绝知此事要躬行

热门文章

  1. AspNetPager免费开源分页控件7.4.1版发布
  2. Windows程序设计_13_伤不起的书
  3. 面试必过之消息中间件RabbitMQ面试总结大全!
  4. ntpdate[27350]: no server suitable for synchronization found
  5. java中多线程的实现方式
  6. Python3 list 自定义比较函数
  7. web移动端_移动端的轮播
  8. 三层架构,Struts2,SpringMVC实现原理图
  9. bootstrap简单登录界面
  10. openresty nginx升级版