mysql日誌恢復 Mysql之日誌恢復

2021-10-25 14:37:12 字數 999 閱讀 2979

對於mysql,每一步操作都會有相應記錄,如insert,update,delete ,drop ,alter等相關ddl或dml操作。有時難免會出錯,但在出錯時如何恢復以復原資料。

例如,現在有這些資料:

但被我truncate了。需要緊急恢復。

首先,確保開啟了binlog輸出

然後,找到當前日誌檔案,使用show master status 如:

之後,拷出日誌檔案,

可以使用:show binlog events in 'binlog.000001',檢視相半區間,也可以使用binlog來查詢

之後,flush logs[可產生新的日誌檔案],reset master【刪除所有的日誌檔案】

然後,使用mysqlbinlog --vv --base64-output=decode-rows,找出要恢復的操作區間:

最後,使用mysqlbinlog 恢復,如:mysqlbinlog  --start-position=10468 --stop-position=10680  /tmp/binlog01 | mysql -uroot -p123456.

結束。方法二:

當然也可以使用mysql,首先使用mysqlbinlog匯出要恢復的資料,然後使用mysql匯入。

也可參見:

利用Mysql日誌恢復Mysql資料

背景 因業務需求在下午四點備份了資料庫檔案 back1600.sql 後來在五點半的時候誤執行了back1600.sql,導致在16 00到17 30之間所有操作過的資料全部還原到四點以前 後來在網上查詢了各種資料,最後找到了解決辦法 利用mysqlbinlog恢復mysql資料 1 確保mysql...

mysql備份恢復 mysql之備份與恢復

工作中,我們經常會遇到資料庫的備份與恢復場景 目錄1 mysql的備份與恢復 2 mysql的匯入與匯出 1 mysql的備份與恢復 mysql的備份命令是mysqldump,mysql之備份 mysqldump u user h host port p db table.file u 後面接資料庫...

mysql刪除binlog日誌及日誌恢復資料的方法

基本上大家裝mysql,都會開啟binlog功能,開啟這個功能的好處是,日後方便恢復資料,而壞處是日誌檔案增長速度快,很快佔會佔滿磁碟空間,所以我們要定期或手工來刪除過大的日誌檔案。刪除日誌檔案的方法大概有如下幾中 一 設定日誌保留時長expire logs days自動刪除 檢視當前日誌儲存天數 ...