久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

執行update語句沒有添加where條件會怎么樣

162次閱讀
沒有評論

共計 1076 個字符,預計需要花費 3 分鐘才能閱讀完成。

今天就跟大家聊聊有關執行 update 語句沒有添加 where 條件會怎么樣,可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

過年也不能安穩啊,最近幾天大家都沒心工作了,工作量也少。但是一些同事高興過度了,執行 update 語句竟然沒有添加 where 條件!

What?竟然這么牛 X,日天了。這樣的同事長的帥嗎?

微信群里,一連串的反映,我看了都要崩潰。還好,這次事故是發生在測試環境!

但是測試環境也不能亂操作不是,你把測試環境搞壞了,測試團隊還怎么進行!這個鍋誰來背?

雖然,同事在操作上有些問題,但這個鍋不能全扣他頭上,我給大家的權限太大了也是一個問題。所以,我先恢復事故現場,然后又配置了一點安全限制,update、delete 相關操作,沒有 where 條件,不能執行 SQL。

為了演示我的恢復操作,我先給大家簡化一下我的數據表。

假設里面現在有 10 萬條數據。現在需要將 id 等于 88 的用戶的地址改為“上海”,但是 update 時沒有添加 where 條件。

事故發生后,我們現在開始恢復,在線上的話,應該比較復雜,要先進行鎖表,以免數據再次被污染。鎖表,就是查看正在寫哪個二進制日志文件。

分析二進制日志 mysql-bin.000024,并且在其中找到相關記錄,在更新時是 address= 上海,我們可以在日志中過濾出來。

過濾內容如下:

可以看見里面記錄了每一行的變化,這也是 binglog 格式要一定是 row 才行的原因。其中 @1,@2,@3,@4 分別對應表中 id,name,sex,address 字段。相信大家看到這里有點明白了吧,我們只需要將相關記錄轉換為 sql 語句,重新導入數據庫即可完成數據恢復。

關于過濾處理成 SQL 語句的內容,我就補貼了。我是通過 shell 來實現的,你們也可以使用 binlog2sql 工具,這個工具現在回滾更加方便。

過濾完了之后,我們在導入數據。解鎖表。

完美,現在數據全部都恢復回來了。

但是權限問題,還要加以限制。于是我在 MySQL 的配置文件中加入了 safe-updates 配置。這樣,再有不加條件的更新和刪除操作,都會失敗。提示:ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column。

看完上述內容,你們對執行 update 語句沒有添加 where 條件會怎么樣有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注丸趣 TV 行業資訊頻道,感謝大家的支持。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-03發表,共計1076字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 武邑县| 鄂温| 峡江县| 四会市| 广西| 茂名市| 鲁甸县| 怀安县| 上高县| 洪江市| 蕉岭县| 贵定县| 会同县| 尼勒克县| 温泉县| 广饶县| 九龙城区| 囊谦县| 襄垣县| 永胜县| 金昌市| 牡丹江市| 宿州市| 增城市| 江永县| 隆昌县| 漳平市| 隆子县| 松溪县| 陆良县| 东兰县| 固阳县| 文山县| 隆德县| 会同县| 自贡市| 汉川市| 化州市| 高平市| 祁东县| 漳州市|