过年了,手滑了 , 作死了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
sophymax
V2EX    程序员

过年了,手滑了 , 作死了

  •  
  •   sophymax 2015-02-17 12:05:08 +08:00 6004 次点击
    这是一个创建于 3905 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在mysql的命令行模式下 , 以前经常执行一句 delete from aaa where uid != ""
    现在想执行delete from aaa where uid="fasdfhasdklfhasdjklfh" , 懒得重新敲一遍 , 就按上方向键 找出以前的那条SQL , 把引号里面填充上了 "fasdfhasdklfhasdjklfh" , 然后我就回车执行了 , 呵呵呵呵 , 虽然不是太重要的数据 , 但还是惊出一身冷汗 , 以后一定要把权限限制死 , 不能偷懒 。
    另外话说这个上下方向键找出历史SQL的功能有办法关掉吗?
    26 条回复    2015-02-22 22:16:51 +08:00
    msg7086
        1
    msg7086  
       2015-02-17 12:07:40 +08:00
    →_→ 所以你需要phpmyadmin,执行以前一定会问你,你确定要DELETE吗?
    ytf4425
        2
    ytf4425  
       2015-02-17 12:35:49 +08:00
    @msg7086 = =要是是我我会看都不看就确定的。。。
    sophymax
        3
    sophymax  
    OP
       2015-02-17 12:38:52 +08:00
    @ytf4425 回车的时候那种快感记忆让我迅速按下了回车.......
    ytf4425
        4
    ytf4425  
       2015-02-17 12:43:57 +08:00
    @sophymax 嘿嘿嘿我也是,所以还是不要偷懒重新打一遍为好
    caixiexin
        5
    caixiexin  
       2015-02-17 13:25:36 +08:00 via Android
    脑袋不清楚的时候坚决不做危险操作,有一次午饭吃完脑袋发昏想drop本地库结果删了远程测试库,还好有备份。当时吓得午睡都睡不着了
    另外开启binlog也是很有用的o_O
    caixiexin
        6
    caixiexin  
       2015-02-17 13:27:58 +08:00 via Android
    @msg7086 其实询问也没用,很多人会下意识点确定的,除非像某安全卫士卸载时那个反人类的对话框23333
    ETiV
        7
    ETiV  
       2015-02-17 13:59:58 +08:00
    LZ 的 "把权限限制死" 没用啊, 如果你想删东西, 必定会登录有删除权限的账号.
    sophymax
        8
    sophymax  
    OP
       2015-02-17 14:15:32 +08:00 via iPad
    @ETiV 增加点麻烦就是了......平常随意的操作不允许delete,想delete的时候进特定账号,告诫自己一定要小心,现在就是很放松的感觉,一顺手就把回车敲了,当然在能delete的账号里又顺手了那就真要剁手了
    br00k
        9
    br00k  
       2015-02-17 14:22:39 +08:00
    多备份。
    kslr
        10
    kslr  
       2015-02-17 15:01:28 +08:00
    SQL审核
    zyc841584303
        11
    zyc841584303  
       2015-02-17 15:41:28 +08:00
    你需要个mysql gui工具 heidisql delete会有提示的
    Bairrfhoinn
        12
    Bairrfhoinn  
       2015-02-17 15:50:11 +08:00   1
    我执行删除操作之前,都是先写个SELECT语句,把要删除的记录先列出来,确定是我要删除的那些,再把SELECT语句改成DELETE语句...
    YuenLeon
        13
    YuenLeon  
       2015-02-17 16:54:32 +08:00 via Android
    想了想,要是我的话,也很难避免会出错。有备份数据可恢复吗?删除的话,最好把步骤搞复杂点,中间加个确认的步骤。或者像@Bairrfhoinn这样,先备份再删除。
    tdifg
        14
    tdifg  
       2015-02-17 16:56:18 +08:00
    唉,挺好了,以前rm -rf / 的路过……
    simapple
        15
    simapple  
       2015-02-17 17:37:50 +08:00
    @tdifg 还有一个前提 你一直是root 用户
    benjiam
        16
    benjiam  
       2015-02-17 17:43:59 +08:00 via Android
    居然不是提交一个事务来做这种事情
    tdifg
        17
    tdifg  
       2015-02-17 18:33:33 +08:00
    @simapple sudo 本来想删某文件夹,结果按了tab后没有补全,没反应过来直接回车了
    yonka
        18
    yonka  
       2015-02-17 21:32:51 +08:00 via Android
    sudo shutdown -p 0
    我以为是本地,没想到是远程生产机器
    zrp1994
        19
    zrp1994  
       2015-02-17 21:35:07 +08:00
    transaction……rollback……commit什么的
    tnx2014
        20
    tnx2014  
       2015-02-17 21:48:30 +08:00
    @ytf4425
    @caixiexin
    @sophymax

    其实我想说删除前确认或者其他敏感操作确认还是有用的,特别是手残不小心输入或按到的时候,除非是非常信任非常自信的情况下,否则我是不会随便看都不看按确定的。
    imzyxwvu
        21
    imzyxwvu  
       2015-02-19 03:26:07 +08:00
    @tdifg 记得rm -rf /除了要root还得要加一个参数才能用吧
    kn007
        22
    kn007  
       2015-02-19 09:38:53 +08:00
    @sophymax 同快感。。。为大脑的迅速反应剁手
    chinvo
        23
    chinvo  
       2015-02-19 18:43:54 +08:00
    @yonka 我老大,然後我大冬天跑了里路去房按按
    vivisidea
        24
    vivisidea  
       2015-02-19 19:37:02 +08:00
    对线上环境要有敬畏之心~之前从一位前辈听来的,一直深以为然。

    当然能收的权限是要收掉的,DROP 之类的
    DELETE 我的经验是,
    1. 先 SELECT 出来确认结果,然后 DELETE 一定要带 LIMIT(哪怕只有一条),防止长时间锁表
    2. 来路不明的 SQL 语句一定不直接贴到 MySQL 终端,至少要把 TAB 之类的整理干净
    3. 最好在测试环境先演练好
    vivisidea
        25
    vivisidea  
       2015-02-19 19:40:45 +08:00
    @caixiexin +1

    曾经有一次下班赶着要走,又想着“把一个清理数据的脚本写好再走吧”,于是慌乱中把线上数据给错删了
    sophymax
        26
    sophymax  
    OP
       2015-02-22 22:16:51 +08:00
    @yonka 我也干过类似的事情,重启远程机器的网卡 ,然后你懂的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4509 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 04:03 PVG 12:03 LAX 21:03 JFK 00:03
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86