mysql binlog如何恢復(fù)數(shù)據(jù)到某一時刻
問題
誤操作將線上數(shù)據(jù)庫進行了覆蓋,且沒有完整備份
數(shù)據(jù)庫版本:mysql8.0.26
預(yù)期結(jié)果:數(shù)據(jù)恢復(fù)到 2023.12.05
1、首先 查看數(shù)據(jù)庫的binlog日志
SHOW BINARY LOGS;
2、經(jīng)查 binlog.000001并沒有數(shù)據(jù)操作
需要從binlog.000002開始還原(重放binglog)
說明:binlog.000002里有建表語句、數(shù)據(jù)插入、修改等
3、將binlog.000002
binlog.000003文件從服務(wù)器上復(fù)制到本地
4、找一臺本地mysql的環(huán)境(linux)
mysqlbinlog --no-defaults ./binlog.000001 --database=rewards | mysql -h127.0.0.1 -P3306 -uroot -p
完整重放binlog.00001中的所有操作。
5、重放binlog.000003中的部分
mysqlbinlog --no-defaults ./ --database=rewards --start-position=156 --stop-position=47183769 | mysql -h127.0.0.1 -P3306 -uroot -p
- --start-position=156
- --stop-position=47183769 這兩個值是數(shù)據(jù)從那個位置開始重放、哪個位置結(jié)束。
6、start-postion,stop-position獲取
- --start-datetime="2023-12-05 01:00:00" 操作開始時間
- --stop-datetime="2023-12-05 14:30:00" 操作結(jié)束時間
- --database=rewards 數(shù)據(jù)庫名稱
mysqlbinlog --no-defaults -v --base64-output=decode-rows --database=rewards --start-datetime="2023-12-05 01:00:00" --stop-datetime="2023-12-05 14:30:00" /var/lib/mysql/binlog.000003 > log1.txt
上述解釋為,從binlog.000003中提取數(shù)據(jù)庫rewards 2023-12-05 01:00:00到2023-12-05 14:30:00的數(shù)據(jù)變動記錄 將結(jié)果輸出到log.txt文件中
7、核對數(shù)據(jù)
核對還原的數(shù)據(jù)是否完整,沒有問題就導(dǎo)到線上。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- MySQL通過binlog實現(xiàn)恢復(fù)數(shù)據(jù)
- Python MySQL如何通過Binlog獲取變更記錄恢復(fù)數(shù)據(jù)
- MySQL通過日志恢復(fù)數(shù)據(jù)的操作步驟
- MySQL通過ibd文件恢復(fù)數(shù)據(jù)的操作過程
- MySQL開啟配置binlog及通過binlog恢復(fù)數(shù)據(jù)步驟詳析
- MySQL誤刪后使用binlog恢復(fù)數(shù)據(jù)的實現(xiàn)方法
- mysql數(shù)據(jù)損壞,如何通過ibd和frm文件批量恢復(fù)數(shù)據(jù)庫數(shù)據(jù)
- Mysql如何通過ibd文件恢復(fù)數(shù)據(jù)
- mysql如何根據(jù).frm和.ibd文件恢復(fù)數(shù)據(jù)表
- 一步步教你如何使用mysql?binlog恢復(fù)數(shù)據(jù)
- MySql恢復(fù)數(shù)據(jù)方法梳理講解
- Mysql通過ibd文件恢復(fù)數(shù)據(jù)的詳細步驟
- MySQL數(shù)據(jù)庫通過Binlog恢復(fù)數(shù)據(jù)的詳細步驟
- Mysql如何通過binlog日志恢復(fù)數(shù)據(jù)詳解
- mysql5.7使用binlog 恢復(fù)數(shù)據(jù)的方法
- MySQL通過binlog恢復(fù)數(shù)據(jù)
- mysql8.0無備份通過idb文件恢復(fù)數(shù)據(jù)的方法、idb文件修復(fù)和tablespace?id不一致處理
相關(guān)文章
MySQL數(shù)據(jù)庫基礎(chǔ)命令大全(收藏)
今天小編給大家整理一下mysql數(shù)據(jù)庫的基礎(chǔ)命令,特此分享到腳本之家平臺,供大家參考下2016-12-12MySql子查詢IN的執(zhí)行和優(yōu)化的實現(xiàn)
本文主要介紹了MySql子查詢IN的執(zhí)行和優(yōu)化的實現(xiàn),詳細的介紹了為什么IN這么慢以及如何優(yōu)化,具有一定的參考價值,感興趣的可以了解一下2021-07-07mysql從一張表查詢批量數(shù)據(jù)并插入到另一表中的完整實例
這篇文章主要給大家介紹了關(guān)于mysql從一張表查詢批量數(shù)據(jù)并插入到另一表中的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Mysql數(shù)據(jù)庫清理binlog日志命令詳解
這篇文章主要給大家介紹了Mysql數(shù)據(jù)庫清理binlog日志命令的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Mysql具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Django+mysql配置與簡單操作數(shù)據(jù)庫實例代碼
這篇文章主要介紹了Django+mysql配置與簡單操作數(shù)據(jù)庫實例,需要的朋友可以參考下2017-07-07