跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • MySQL update 忘写 where 能恢复吗?
未分類
2020 年 11 月 3 日

MySQL update 忘写 where 能恢复吗?

MySQL update 忘写 where 能恢复吗?

資深大佬 : mebtte 5

可以把这个指令 kill 掉
大佬有話說 (30)

  • 資深大佬 : 2088TXT

    不好说,如果恰好有时间点之前的备份倒简单,没备份或者备份太久远的话,从操作日志一点一点推出数据吧

  • 資深大佬 : goodboy95

    搜索关键词:binlog + redolog

  • 資深大佬 : SingeeKing

    binlog

  • 資深大佬 : wql

    always SELECT before UPDATE

  • 資深大佬 : boris93

    教你个巧:操作线上 DB,一定要先用 screen 这种开个窗口,然后开事务,操作完成之后一定要 select 验证一下,确定没问题之后再 commit 。不管多简单的操作都这样搞,保证你不会出错。

  • 資深大佬 : dilu

    用 Mysql Binlog 做回滚?当然咯,数据库没开 binlog 就没法操作了。

  • 資深大佬 : lychs1998

    不用想,99%也没有备份。

    两种选择:
    1. 承担不起就不动声色立即跑路
    2. *****

  • 資深大佬 : xiangyuecn

    @dilu 听起来就像有故事的老哥,学到了~

  • 資深大佬 : newtype0092

    rm -rf 吧,没救了[doge]

  • 資深大佬 : lxk11153

    MySQL 在数据库层面应该可以设置拒绝这种 Global Update 的操作的,建议打开禁止,一般没有什么业务需求会需要全局更新

  • 資深大佬 : PiersSoCool

    @PiersSoCool 我也想到这个, 有必要禁止一下

  • 主 資深大佬 : mebtte

    我好像干过这事,当时吓的一身冷汗,

  • 資深大佬 : fanfpy

    Wow, 收拾东西跑路吧

  • 資深大佬 : telung

    线上数据库能给你 update ?

  • 資深大佬 : leafre

    我好想也干过,还好是不重要的字段,领导帮我瞒下来了,当时慌得一笔

  • 資深大佬 : twg

    @newtype0092 用 screen 是有一次一个老哥操作线上 DB 开了事务后断网,之前的会话不能恢复也没有提交导致线上锁表(跟代码中的 for update 冲突导致),开事务是因为又一次跟你一样,update 没有写 where……

  • 資深大佬 : dilu

    @dilu 连接断开会直接回滚吧。

  • 資深大佬 : cheng6563

    update 一般感觉慢了就强行断开连接把,最好事先开事务。如果用阿里云网页版的 DMS 那就直接凉。

  • 資深大佬 : cheng6563

    mysql workbench 似乎默认禁止无主键 update

  • 資深大佬 : terence4444

    @cheng6563 傻孩子,没有开自动提交,并且 for update 然后代码里面的逻辑也对这行进行了 for update,一系列巧合造成了这个线上事故,我们的服务直接挂了一整个上午。断开后不会自动回滚的。

  • 資深大佬 : dilu

    @dilu @cheng6563 断开不会回滚?

    set global innodb_lock_wait_timeout 设置超时也可以回滚吧

  • 資深大佬 : mmdsun

    @mmdsun 害,就是没有早知道啊要是能早知道还能出事故嘛

  • 資深大佬 : dilu

    还好我们操作线上 DB 都要走主管审批,EXPLAIN 扫描行数超过一定数量还会有 DBA 二次审批

    binlog 永久留存,而且所有 alter 操作都是克隆原表后进行操作

  • 資深大佬 : CismonX

    曾经迟到了,于是 telnet 到打卡机想改个考勤,数据库 update 忘了 where 。。。于是。。。

  • 資深大佬 : hellomrjia

    这

  • 資深大佬 : xsm1890

    @hellomrjia #25 技术考勤,666

  • 資深大佬 : lxk11153

    一般来这这么问的,也都是已经没路子走了,老大哥们提的建议都很好,但都是亡羊补牢.
    晚上吃顿好的吧

  • 資深大佬 : dswyzx

    该吃吃该喝喝.

    下辈子注意点就行了.

  • 資深大佬 : namelosw

    @fanfpy 我也干过,从那以后落下一个毛病,update 打完立刻跟着就是 where.

  • 資深大佬 : afx

    update 先写 where 条件,再写 set MySQL update 忘写 where 能恢复吗?

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具