关注「实验楼」,每天分享一个项目教程

国内呆不下了,赶紧出国。首先,不要选动车,要选最近的一班飞机,尽快出国,能走高速走高速,不然选人少的路线。切记,注意看高德地图实时路况。我们有个前辈就是删库之后开车就上二环,下午五点钟。警察到的时候他还堵在路上。

正文共:1678 字

预计阅读时间:5 分钟

最近这篇《不小心删库是一种怎样的体验?》比较火,蹭个热度讲讲半个 DBA 的删库经验。

大半夜的脑子比较糊涂,简单写一写。

部分内容仅限于 mysql。

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

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

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

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

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

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

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

不然参考 0。

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

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

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

2. 删库什么的都是小 case

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

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

不然参考 0。

原则是:

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

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

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

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

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

冷备便是应对这种情况。

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

4. 人算不如天算

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

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

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

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

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

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

5. 升级也能失败?

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

准备升级

过程原理

手工升级后拓扑:

工具(mha)升级后拓扑:

6. 操作之前有个流程

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

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

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

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

包括:

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

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

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

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

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

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

7. 留几个问题

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

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

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

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

  


点击进入【实验楼小程序】

随时随地,学习编程

作者:大舒

出处:segmentfault

链接:https://segmentfault.com/a/1190000013452143

推荐阅读:

  • 2017年关于Python的12件大事

  • 程序员,你能真正掌握多少编程技术?

  • 2018 最具就业前景的 7 大编程语言

  • 2018年最热门的10大科技关键词,一举一动都将改变未来

不小心删库是一种怎样的体验?半个DBA的跑路经验总结相关推荐

  1. 顺丰被删库?半个DBA的跑路经验总结

    前言 最近顺丰又搞出一个热门:运维误删库事件! 看看有没有什么后路好走啊哥们~ 正文 国内呆不下了,赶紧出国 首先,不要选动车,要选最近的一班飞机,尽快出国,能走高速走高速,不然选人少的路线. 没错, ...

  2. 程序员不小心删库是什么体验?

    在网上经常会看到一些搞笑的帖子,比如在我们技术圈,被频繁调侃的一个情况是:如果你不小心删库了,当时是什么体验? 想必很多人都是"瑟瑟发抖",脑子里只有两个问题:怎么挽回?补救不了怎 ...

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

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

  4. mysql 不小心删库了,下面的方法能帮你找回来

    之前习惯性用电脑删除键去删除数据库里的数据,有一天...库没了!!!(没有服务器快照,也没有数据库备份!!!) 然后就找专业的人,给我报价4张表=3w,你特么抢钱呢?! 我数据库100多张,估计是看你 ...

  5. 小程序重构第一期丨不小心删库了。。。

    一.以前的代码烂成一坨 事情的起因是,我之前不是准备 学Go语言 嘛. 基础学完后,准备开个项目练练手,突然发现我大二开发的小程序又自动把我的签到数据 – 清零了! 这里简单介绍一下 时光早安(重构前 ...

  6. 不小心执行了 rm -f,先别急着跑路 (内附彩蛋)!

    点击上方"民工哥技术之路"选择"置顶或星标" 每天10点为你分享不一样的干货 作者:justmine http://www.cnblogs.com/justmi ...

  7. 手把手教你玩 MySQL 删库不跑路,直接把 MySQL 的 binlog 玩溜

    我们常常听人说,只要你愿意,MySQL 可以恢复至半个月甚至一个月以内的任何一个状态.网上也有很多删库跑路的段子... 那么今天松哥想和大家来聊一聊 MySQL 中的 binlog,来手把手教大家如何 ...

  8. 在没学会用MySQL之前,我还是那个担心删库了就只能跑路的懵懂少年

    我们常常听人说,只要你愿意,MySQL 可以恢复至半个月甚至一个月以内的任何一个状态.网上也有很多删库跑路的段子... 那么今天松哥想和大家来聊一聊 MySQL 中的 binlog,来手把手教大家如何 ...

  9. 学会这个删库再也不用跑路了~ --技术流ken

    前言 相信每一个学IT的人或多或少都听说过从删库到跑路这个梗~下图也是在各种交流群屡禁不止,新人听着也是瑟瑟发抖. 人们茶余饭后,街头巷角难免要问... 下面技术流ken就教给各位新手们一招删库再也不 ...

最新文章

  1. 国外论坛BCH关注度暴涨
  2. Hello Las Vegas | 博云在微软Inspire大会的4个思考
  3. 3.15计算机网络原理与技术笔记
  4. Java和SAP ABAP的异常处理
  5. ReviewForJob——深度优先搜索的应用
  6. 芝加哥大学终身教授:自然科学与社会科学的真正区别
  7. html文档utf8文档字节,HTML UTF-8 参考手册
  8. ib网卡命令_linux安装卸载IB网卡(mellanox)驱动
  9. JavaScript:点击按钮打开/关闭网页
  10. treeset可以重复吗_社保和商业医疗险可以重复报销吗?报销攻略请收好
  11. cygwin apt-cyg
  12. 免费图床(随时更新)
  13. py6_Python 内置函数/普通自定义函数 及参数和返回值
  14. 用python实现时间序列白噪声检验
  15. 解决mybatis-plus分页查询不生效,配置分页拦截器
  16. 兼容性运行程序永远_永远不会有太多的应用程序
  17. 原谅帽大作战游戏程序
  18. App Store 审核被拒的各种原因
  19. SQL 中的 COALESCE 函数初学者指南
  20. 氢os android 7.0,氢OS 3.0正式推送!基于Android 7.0,简洁纯净

热门文章

  1. 2021年3月券商App行情刷新及交易体验评测报告
  2. 刺客列传鸿蒙记经典台词,【原台词整理】第一季天枢cut部分
  3. Android——Bundle浅析
  4. 《Erlang in anger》
  5. HTML语言(概述及常用标签)
  6. Java 堆内存泄漏分析的一个例子
  7. 平面图转对偶图的应用
  8. dedecms标签大全
  9. 数据库技术的历史和发展
  10. Spring MVC Controler层获取errors验证信息 同时返回