日常運維工作中,DBA們如果一不小心,導致MySQL數據誤刪除,可就真要哭了。被刪除的數據要怎么恢復呢?別怕,**小編給你支招這幾個(gè)方法,幫你輕松解決數據誤刪除難題。**
> 內容提要
> 1. 用delete語(yǔ)句
> 2. 使用drop、truncate刪除表以及drop刪除庫
> 3. 使用rm 刪除實(shí)例
> 4. 小結
恢復方式:使用binlog,利用Flashback工具恢復,Flashback的原理是修改binlog拿到原庫里回放,這個(gè)方案的前提是binlog_format=row 并且binlog_row_image=full
單個(gè)事務(wù)的處理:
1.insert 對應的 write_row event 改成delete_row event
2.delete 對應的 delete_row event 改成write_row event
3.update binlog中記錄了修改前和修改后的值,對掉位置就可以了
多個(gè)事務(wù)的處理注意調整事務(wù)的順序,說(shuō)完事后處理,下面說(shuō)說(shuō)事前預防:
1.將sql_safe_updates設置為on,這樣delete和update中無(wú)where子句的語(yǔ)句就會(huì )報錯,生產(chǎn)如果要執行整表刪除可以用truncate或者where 1=1。
2.上線(xiàn),必須做sql審計,至少也要在測試環(huán)境完成驗證。
恢復方式:
全量備份+binlog恢復,這里無(wú)法使用Flashback工具,原因是drop table、truncate table 即使用的是binlog_format=row但在binlog中記錄還是statement格式
恢復技巧: 因為使用mysqlbinlog無(wú)法指定表恢復,可以將全量恢復出的臨時(shí)庫做為主庫的備庫,然后指定表恢復,可以加快恢復速度?;謴头绞剑菏褂醚舆t復制的備庫,5.6以后的功能通過(guò)change master to master_delay=N,N的單位是秒。
change master to master_delay=N
少誤操作的建議——賬號分離:
1.業(yè)務(wù)賬號,默認只給select update insert權限,delete權限需要按表申請,DDL通過(guò)運維平臺完成,如有自動(dòng)建表的需求,可以指定分create table的權限。
2.開(kāi)發(fā)同事和dba只給只讀權限,變更操作通過(guò)運維平臺完成,如果需要更高權限,再單獨申請。
3.刪除表的時(shí)候遵循修先改表名再刪除的方式操作,表名統一命名前綴,并放到指定的臨時(shí)庫里,刪除操作由平臺自動(dòng)統一完成。
這個(gè)就只能靠我們的HA了,如果系統層面誤操作,把我們的集群主機干掉了,那就得靠我們的跨機房HA了。
以上是對誤刪除數據恢復的總結,作為dba我們也要時(shí)刻關(guān)注業(yè)務(wù),雖然被誤刪除的數據一定要找回來(lái),但恢復業(yè)務(wù)不一定要恢復全部數據。
舉個(gè)例子,我們誤操作的是一張日志表,只寫(xiě)不讀那就不影響業(yè)務(wù),給我們恢復的時(shí)間就比較寬裕,不恢復那是肯定不行滴!又或者是我們進(jìn)行了drop table,交易要寫(xiě)這張表,幾乎不讀,那先恢復個(gè)表結構。這些要日常積累業(yè)務(wù)知識,并迅速與開(kāi)發(fā)確認,確保自己做出的決策能恢復業(yè)務(wù)且不影響業(yè)務(wù)完整性。
每次誤操作都是血的教訓,在沒(méi)有想清楚sql執行的結果之前,先不要敲下回車(chē)鍵哦!數據是公司的生命線(xiàn),我們做為數據庫管理員,要守好公司的生命線(xiàn)。
最后,作為dba,技術(shù)原理要精通,庫對應的業(yè)務(wù)也要了解哦,這樣遇到問(wèn)題的時(shí)候我們才能找到更全面更合理的解決方案~
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站