V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
617953997
V2EX  ›  数据库

没想到我也会有删库跑路的一天

  •  
  •   617953997 · 2020-03-24 19:35:21 +08:00 via Android · 4042 次点击
    这是一个创建于 1690 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今天真是操蛋的一天。
    事情经过是这样的:
    以前为 table 建了一个临时表 table_temp.
    今天把临时表删掉的时候执行了一条语句:
    delete from table_temp.
    然后感觉好慢,3 秒钟过去了还没完,表里大概 100W 数据。
    所以我把 delete from 换成了 truncate table 。然后将鼠标光标放在 table 后面,按住鼠标往前一拉,执行!

    当时还没有意识到删错表了。
    等到我 insert into table_temp select * from table 看到 0 行被插入的时候,我傻眼了,然后就是经典的大脑一片空白。
    随后联系 dba,数据库没开闪回。数据回不来了。
    不幸中的万幸是,这个表不是关键业务表,旧数据还有。
    职业生涯第一次生产库删错表,提醒自己以后必须要长记性,注意力要集中。我 Tm 再也不用 truncate 了...
    fanyp123
        1
    fanyp123  
       2020-03-24 19:42:06 +08:00   ❤️ 17
    我也删过,项目经理帮我背的锅,他被辞退了,几年后我介绍他去了埃森哲,现在我也在埃森哲了
    HankAviator
        2
    HankAviator  
       2020-03-24 19:42:41 +08:00
    有一次手残执行了 rm -rf ./* 后(对就是那个经典笑话)也是大脑空白,不过好在加了点,当时在 ~ 下面
    123444a
        3
    123444a  
       2020-03-24 19:43:15 +08:00 via Android
    生产库不应该有 temp,dba 执行任何生产库主要命令, 一切生产事故都是领导责任
    Licsber
        4
    Licsber  
       2020-03-24 19:45:00 +08:00
    删库有了 跑路呢? 文题不符啊 [狗头]
    clayyj1210
        5
    clayyj1210  
       2020-03-24 19:45:36 +08:00
    生产库还是应该 double check 。而且操作的应该不是自己才对。除非自己是运维或者 dba 。
    哦,也可能是 fashion 的 devops 。
    hantsy
        6
    hantsy  
       2020-03-24 19:53:41 +08:00
    这个怎么说了,我觉得最奇怪的是为什么生产环境还可以这么上去乱来。
    Sunkz
        7
    Sunkz  
       2020-03-24 19:53:41 +08:00
    之前看过一句话, mysql 可以恢复到两周内任一时刻😶
    yjxjn
        8
    yjxjn  
       2020-03-24 19:56:36 +08:00
    @fanyp123 大佬在埃森哲哪个 site 呀?上海还是大连?埃森哲最近 HC 缩紧了么?
    hoyixi
        9
    hoyixi  
       2020-03-24 20:07:04 +08:00
    线上环境?你(开发?)可以随便删删改改来玩,那还要养个 DBA 干嘛
    LiuJiang
        10
    LiuJiang  
       2020-03-24 20:07:34 +08:00
    我也删过,不过是自己电脑上的数据,当时脑抽了下。
    whywhywhy
        11
    whywhywhy  
       2020-03-24 20:41:34 +08:00 via Android
    这个指令触发器都拦不住,很烦
    vus520
        12
    vus520  
       2020-03-24 20:45:36 +08:00
    你们居然有 DBA
    TypeError
        13
    TypeError  
       2020-03-24 20:46:32 +08:00
    所以要收紧权限,执行个 sql 自己本地、测试环境测几次,再提交一个工单审核个几个流程,这才叫保险

    如果没跑路赶紧推动你们公司也这么干吧,就算你自己是运维或者 DBA,也用这个流程约束自己
    williamZXS
        14
    williamZXS  
       2020-03-24 20:47:13 +08:00
    曾经不小心在自己的服务器上 rm -rf /*
    designer
        15
    designer  
       2020-03-24 20:49:10 +08:00 via iPhone
    还好我只会 phpMyAdmin
    jakezh
        16
    jakezh  
       2020-03-24 20:55:06 +08:00 via iPhone
    删过用户表 还好有备份
    romisanic
        17
    romisanic  
       2020-03-24 20:57:48 +08:00
    找 dba 啊 没有 dba 就自己去找日志恢复吧
    areless
        18
    areless  
       2020-03-24 21:02:31 +08:00 via Android
    是他是他,是黑衣人入侵了系统,执行了 rm -rf
    /*
    mikicomo
        19
    mikicomo  
       2020-03-24 21:08:39 +08:00
    开发自己上服务器执行产线 sql ?
    opengps
        20
    opengps  
       2020-03-24 21:11:59 +08:00 via Android
    删库错误,我只误删过一个备注列,客服同事辛苦维护的几千个客户的属性被我搞没了
    ajaxfunction
        21
    ajaxfunction  
       2020-03-24 21:12:02 +08:00
    看来没有删库经历的程序员,是不完美的
    exploreXin
        22
    exploreXin  
       2020-03-24 21:15:17 +08:00
    一切人肉执行的数据库删除动作都不能保证 100%安全,无数血的教训告诉人们,删数据这种事情要交给脚本程序去做,操作的脚本反复测试,可以极大降低手残的风险,那种连测试环境都没有,直接线上改 bug,正式库删东西的公司,出事了也不冤枉,团队规范没有,出事了也不能怪个人。
    billwang
        23
    billwang  
       2020-03-24 21:19:02 +08:00
    生产库竟然不开归档和备份,你们真是太大意了。同时说明这个库不怎么重要。我们测试库都开的。
    littlewing
        24
    littlewing  
       2020-03-24 21:26:25 +08:00 via iPhone
    1 生产库居然没有备份
    2 既然有 DBA,为什么还要给 RD 这么高权限的数据库用户
    yeqizhang
        25
    yeqizhang  
       2020-03-24 21:30:26 +08:00
    闪回都不开,说明这数据都不重要[狗头]
    PUBG98k
        26
    PUBG98k  
       2020-03-24 21:45:22 +08:00
    居然还有专属 DBA 。有点羡慕了。
    我们公司,一个人,负责 管理 4000 台服务器运维 + 负责编写 PHP 后台 网站 + 任何需要用到 php 的地方或者网页 +数据库
    7654
        27
    7654  
       2020-03-24 21:50:09 +08:00
    吓得我连忙看看手里的 DBA 帐号:doge
    cabing
        28
    cabing  
       2020-03-24 22:02:22 +08:00
    @fanyp123 你们都得到了成长:)
    cabing
        29
    cabing  
       2020-03-24 22:04:24 +08:00
    不要删。要不重建表。。

    @PUBG98k 4000 台服务器,有点 6 啊。
    metrxqin
        30
    metrxqin  
       2020-03-24 22:12:54 +08:00 via Android
    Even a monkey can destroy a system. the true master saves a malfunctioned system.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2854 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 02:29 · PVG 10:29 · LAX 18:29 · JFK 21:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.