中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL誤刪數據該怎么辦

發布時間:2021-09-16 11:10:09 來源:億速云 閱讀:164 作者:chen 欄目:大數據

這篇文章主要介紹“MySQL誤刪數據該怎么辦”,在日常操作中,相信很多人在MySQL誤刪數據該怎么辦問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MySQL誤刪數據該怎么辦”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

首先看下mysql誤刪數據排名最前的幾種是:

1.誤刪文件

2.誤刪庫、表

3.錯誤全表刪除 / 更新

4.升級操作失誤

都來看看你命中過幾個,hoho。

簡單說下我親手造的一個大事故吧。

那大概是一個春暖花開的季節,我的內心是激動澎湃的,因為已經安排了休假計劃。在這前幾天,已經把一個新項目的數據庫環境都部署好了,包括自動化備份

等我美美的出去玩的時候,悲劇發生了,業務要求進行數據回滾,但發現備份文件不可用,原因是 備份時指定的字符集和表字符集不一致。我勒個擦,原來該項目采用新的字符集,但是我沒有認真檢查確認并修改備份腳本,結果導致備份失效。最后,因為這個事,當季度績效結果被降檔,boss也為此背鍋~

好吧,回到正題,先說幾點我平時預防誤操作導致文件/數據丟失不成熟的建議:

1.欲刪除文件時,將rm命令改成mv,可在系統層面將rm命令做個alias(或參考  Windows / Mac OSX做法,刪除文件時先進回收站)。

刪除數據庫、表時,不要用drop命令,而是rename到一個專用歸檔庫里;

2.刪除表中數據時,不要直接用delete或truncate命令,尤其是truncate命令,目前不支持事務,無法回滾。

3.用delete命令刪除數據時,應當先顯式開啟事務,這樣誤操作時,還有機會進行回滾。

4.要大批量刪除數據時,可以將這些數據insert...select到一個新表,確認無誤后再刪除。或者反其道行之,把要保留的數據寫到新表,然后將表重命名對掉。

5.執行重要命令之前,先準備好相關命令,再三確認無誤才之行,對于新鳥而言,最好請你的boss坐你旁邊鎮場幾次,否則極有可能會連累大家~

以上幾條,也是我自己奉行的原則。總之,要時刻保持對線上生產環境的敬畏之心。雖說現在大部分操作可以靠平臺來完成了,但平臺也不是萬能的,不也發生過平臺本身的缺陷造成數據丟失、代碼回滾、部署失誤等事故嘛,我就不點名了。

做好備份,不管是物理備份還是邏輯備份!

做好備份,不管是物理備份還是邏輯備份!

做好備份,不管是物理備份還是邏輯備份!

重要的事情說三遍都不嫌多。

說完預防措施,我們再說萬一發生誤操作時,怎么以最快速度進行補救。 我們分別列舉幾種常見的情況:

1.執行DROP DATABASE / DROP TABLE命令誤刪庫表,如果碰巧采用共享表空間模式的話,還有恢復的機會。如果沒有,請直接從備份文件恢復吧。神馬,你連備份文件都沒有?那麻煩退出DBA屆吧,一個連備份都懶得做的人,不配成為DBA的。

2.接上,采用共享表空間模式下,誤刪后立刻殺掉(kill -9)mysql相關進程(mysqld_safe、mysqld),然后嘗試從ibdataX文件中恢復數據。

3.誤刪除正在運行中的MySQL表ibd或ibdataX文件。請立即申請對該實例進行維護,當然,不是指把實例關閉,而是把業務暫停,或者把該實例從線上環境摘除,不再寫入新數據,然后利用linux系統的proc文件特點,把該ibd文件從內存中拷出來,再進行恢復,因為此時mysqld實例在內存中是保持打開該文件的,切記這時不要把mysqld實例關閉了。

4.接上,把復制出來的ibdataX或ibd文件拷貝回datadir后,重啟mysqld進入recovery模式,innodb_force_recovery 選項從 0 - 6 逐級測試,直至能備份出(整個實例或單表的)所有數據后,再重建實例(或單表),恢復數據。

5.未開啟事務模式下,執行delete誤刪數據。意識到后立即將mysqld(以及mysqld_safe)進程殺掉(kill -9),不要任何猶豫,然后再用工具將表空間數據讀取出來。因為執行delete刪除后,實際數據并沒被物理清除,只是先打上deleted-mark標簽,后續再統一清理,因此還有時間差。

5.執行truncate誤清整表。如果沒使用共享表空間模式的話,基本別想了,走備份恢復+binlog吧。

6.執行不帶where條件的update,或者update錯數據。也別費勁了,走備份恢復+binlog吧。

到此,關于“MySQL誤刪數據該怎么辦”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

科尔| 廊坊市| 镶黄旗| 龙南县| 汉中市| 茶陵县| 资溪县| 昭苏县| 荣成市| 襄汾县| 咸丰县| 外汇| 舟山市| 银川市| 南昌县| 翼城县| 陆河县| 蓝田县| 和林格尔县| 嘉祥县| 宜宾市| 沽源县| 鄂托克前旗| 福贡县| 南开区| 阳曲县| 高雄市| 阿克苏市| 五大连池市| 拉孜县| 南部县| 阆中市| 田林县| 沙坪坝区| 武冈市| 龙泉市| 屯门区| 天等县| 鄂托克旗| 社会| 长汀县|