V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ifconfig
V2EX  ›  程序员

误删了线上数据库用户资料表

  •  
  •   ifconfig · 2015-10-27 11:27:58 +08:00 · 5778 次点击
    这是一个创建于 3316 天前的主题,其中的信息可能已经有所发展或是发生改变。

    运营: XXX ,帮我删一下线上某个用户资料
    技术:好的,马上清空用户资料表!

    只有一星期前的数据,第一时间恢复了,但无补于事了,还有很多用户资料不见了。
    服务器是单机,马上做了 crontab 每天备份。

    这件事告诉我,不作死就不会死,想死的心都有了,我宁愿罚我一个星期不许打灰机啊。
    直接操作 phpMyAdmin 要打起一百分精神!!!

    41 条回复    2015-10-28 10:25:03 +08:00
    loca1h0st
        1
    loca1h0st  
       2015-10-27 11:31:01 +08:00
    binlog?
    ScotGu
        2
    ScotGu  
       2015-10-27 11:32:15 +08:00
    什么业务? 竟然还可以清空用户资料?! 一般不只是冻结么。
    dowern
        3
    dowern  
       2015-10-27 11:32:54 +08:00
    现有服务器每 4 个小时备份一次数据库...同时开专业版 clashplan 自动同步所有重要文件到云端和本地. 重要资料丢不起...
    jarlyyn
        4
    jarlyyn  
       2015-10-27 11:33:00 +08:00
    没用 binlog?
    canesten
        5
    canesten  
       2015-10-27 11:33:23 +08:00
    论 Oracle 的优越性
    默认开 SCN 的话,闪回即可。
    ifconfig
        6
    ifconfig  
    OP
       2015-10-27 11:34:44 +08:00
    @jarlyyn 单机,没主从,也没做备份,哭瞎了
    dong3580
        7
    dong3580  
       2015-10-27 11:34:47 +08:00
    如果是 MSSQL ,应该在日志中是有的,你那个我就不知了。
    建议每天备份所有的数据库,公司的话这是必须的
    ifconfig
        8
    ifconfig  
    OP
       2015-10-27 11:35:23 +08:00
    @canesten 论备份的重要性真的体会到了
    markmx
        9
    markmx  
       2015-10-27 11:35:33 +08:00
    MYSQL 日志也没有吗.有的话 可以恢复的
    ifconfig
        10
    ifconfig  
    OP
       2015-10-27 11:36:01 +08:00
    @loca1h0st 没做主从也没备份 binlog 有用?
    loca1h0st
        11
    loca1h0st  
       2015-10-27 11:39:07 +08:00
    @ifconfig 开了 binlog 就行
    jarlyyn
        12
    jarlyyn  
       2015-10-27 11:40:39 +08:00
    Ansen
        13
    Ansen  
       2015-10-27 11:46:45 +08:00
    还好我机智的每 10 分钟做差异备份
    yangxiongwei
        14
    yangxiongwei  
       2015-10-27 12:25:55 +08:00
    可以从 binlog 把数据都扫出来
    lecher
        15
    lecher  
       2015-10-27 12:31:29 +08:00 via Android   ❤️ 1
    业务有问题哦,既然运营有删除用户信息的操作,就应该把功能做到管理系统里面让运营自己去操作,而且这种一般都是伪删除,打个删除的标志位就好了。

    直接去数据库跑 sql 太危险了。每日备份也不够,至少再开个 binlog ,同时把备份和 binlog 同步到其它服务器做为简单的容灾。这样操作都有记录。
    lyragosa
        16
    lyragosa  
       2015-10-27 12:55:32 +08:00
    用 binlog 回溯就行了。
    pupboss
        17
    pupboss  
       2015-10-27 12:59:22 +08:00
    下次用 deactivate 字段...误删太正常了,脑子一抽的事
    wdlth
        18
    wdlth  
       2015-10-27 13:01:01 +08:00
    可以直接不分配 DELETE 权限,只能做伪删除。
    ifconfig
        19
    ifconfig  
    OP
       2015-10-27 13:10:23 +08:00
    没开 binlog ,绝望了 @lyragosa @yangxiongwei
    youxiaer
        20
    youxiaer  
       2015-10-27 13:21:07 +08:00
    基础工作没做好啊,备份没做好, binlog 也没开。线上操作要是不注意出了问题,那真是没辙啊……
    另外,直接从命令行登录操作,会比 phpMyAdmin 好很多吧
    adexbn
        21
    adexbn  
       2015-10-27 13:22:44 +08:00 via iPhone
    @youxiaer 我同事上周刚刚从命令行操作删掉了整个库
    zacard
        22
    zacard  
       2015-10-27 13:23:45 +08:00
    竟然有物理删除。。。
    learnshare
        23
    learnshare  
       2015-10-27 13:40:00 +08:00
    清空数据表...
    zhicheng
        24
    zhicheng  
       2015-10-27 13:40:42 +08:00
    哈哈哈哈,等哥做个 Dropbox for Server 好了〜
    Felldeadbird
        25
    Felldeadbird  
       2015-10-27 13:57:39 +08:00
    没备份的话,那就没办法了
    LioMore
        26
    LioMore  
       2015-10-27 14:00:08 +08:00
    @adexbn 同事的基础能力有待提高。。
    hippoboy
        27
    hippoboy  
       2015-10-27 14:01:09 +08:00
    竟然随意删除正式数据,不严谨啊
    adexbn
        28
    adexbn  
       2015-10-27 14:03:43 +08:00 via iPhone
    @LioMore ,正式库和测试库名字稍有不同,自动补全没留心
    likuku
        29
    likuku  
       2015-10-27 14:16:33 +08:00
    Peter 你好~
    jodoo
        30
    jodoo  
       2015-10-27 14:17:43 +08:00
    不要紧的,应该是可以恢复的,只是需要花费你不少时间。具体办法和思路 Google 一下就知道了,呵呵。
    b821025551b
        31
    b821025551b  
       2015-10-27 14:30:35 +08:00
    用户信息这种数据难道不是用 status 之类的字段控制是否生效,而不是真正意义上的删除么?
    ifconfig
        32
    ifconfig  
    OP
       2015-10-27 14:33:07 +08:00
    @b821025551b 删的是用户资料表,而不是用户表,用户资料一般都是直接 delete
    k9982874
        33
    k9982874  
       2015-10-27 15:09:02 +08:00
    @ifconfig 你们公司真耿直,用户资料转手一卖都是钱啊
    ifconfig
        34
    ifconfig  
    OP
       2015-10-27 15:40:29 +08:00
    怎么卖,有渠道不?
    ifconfig
        35
    ifconfig  
    OP
       2015-10-27 15:40:48 +08:00
    @k9982874 怎么卖,有渠道不?
    jdlau
        36
    jdlau  
       2015-10-27 15:51:06 +08:00 via Android
    多大仇
    300w
        37
    300w  
       2015-10-27 16:43:08 +08:00
    @ifconfig 看到商机了。。。
    youxiaer
        38
    youxiaer  
       2015-10-27 16:46:07 +08:00
    @adexbn 你同事是指的 DBA 吗?一般都不给 RD 删库这么大的权限。如果是 DBA 误操作,应该可以迅速恢复,否则赶紧开除了吧。
    bbiao
        39
    bbiao  
       2015-10-27 18:36:51 +08:00
    线上数据为啥不用逻辑删除呢???
    ragnaroks
        40
    ragnaroks  
       2015-10-27 18:51:01 +08:00
    不管是从代价上还是原则上都不应该执行 delete,连 log 都没有真是没有办法了
    loryyang
        41
    loryyang  
       2015-10-28 10:25:03 +08:00
    和 linux 上的 rm -rf 一个感觉
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1734 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 16:30 · PVG 00:30 · LAX 08:30 · JFK 11:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.