利用binlog恢復mysql資料庫資料

2021-09-01 02:36:33 字數 1040 閱讀 2001

前提:mysql資料庫開啟了binlog日誌 

通過  show variables like 'log_%'; 檢視是否開啟binlog日誌。

操作步驟:

在資料庫中執行

show master status;

檢視當前資料庫對應的binlog檔案

再執行show binlog events in 'binlog.000010';

檢視binlog日誌記錄,查詢到相應的pos節點

執行 /usr/local/mysql/bin/mysqlbinlog --start-position=7171 --stop-position=7546 --database=mydatabase --skip-gtids /var/lib/mysql/binlog.000010 | mysql -uroot -p資料庫密碼 mydatabase

指定結束點之前的資料恢復   只有--stop-position=7546 無--start-position=7171

指定區間恢復 --start-position=7171 --stop-position=7546

指定時間區間恢復 --start-datatime="2018-11-01 11:11:11"  --stop-datatime="2018-11-11 11:11:11"

ps:通過binlog恢復的根本原理就是按照指定區間的sql操作重新執行一遍,因此其間有建立表的語句的話,可能回合當前資料庫表衝突,需要略過

另外: 

重新整理binlog日誌,產生新的binlog日誌檔案    flush logs; 每次mysqld服務重啟時,會自動執行此命令,重新整理binlog日誌。

Mysql利用bin log進行資料恢復

mysql利用bin log進行資料恢復 線上的資料都很重要,但也會難免有時候有誤刪除的操作,這時候要在第一時間進行資料恢復。首先,要確保mysql開啟了binlog日誌功能,在 etc my.cnf檔案裡的 mysqld 區塊新增 log bin mysql bin。然後重啟mysql服務。將備份...

MySQL資料庫利用binlog資料恢復

以mysql為例。binlog是二進位制日誌檔案,使用者記錄使用者對資料庫的操作,各個從庫的同步也是通過binlog,是非常重要的資料庫日誌檔案,其他的關係型資料庫的資料恢復也是大同小異的,例如oracle資料庫可以通過它的歸檔日誌進行恢復。我們該如何資料恢復?具體如何恢復資料,要看使用的哪種備份方...

MySQL利用binlog來恢復資料庫

1.根據binlog解析出所有ring資料庫的所有sql mysql localhost mysqlbinlog no defaults database ring start datetime 2005 04 20 9 55 00 stop datetim 2009 04 08 08 05 00 ...