前提: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 ...