用Mysqlbinlog備份BinLog檔案

2022-02-20 10:21:21 字數 1617 閱讀 8885

預設情況下, mysqlbinlog讀取二進位制檔案【binlog】並以文字的方式呈現【text format】.mysqlbinlog可以直接地從本地讀取log,也可以讀取遠端的log【--read-from-remote-server】,預設是直接輸出,當然也可以儲存到指定的輸出檔案中。如:

1.顯示有哪些log檔案:

show binary logs;如:

2.load指定的檔案,如 mysqlbinlog --read-from-remote-server --host=host_name --user=user_name --password=user_password --raw  binlog.000002 binlog.000003 [多個用空格分開] 【如果要dump到指定位置,需要加 --result-file=/var/log/】

也可以dump從某檔案開始的所有binlog檔案,如

mysqlbinlog --read-from-remote-server --host=host_name --user=user_name --password=user_password --raw --to-last-log binlog.000002[會load 自000002之後的所有log檔案]

這時如果你想不間斷的load binlog檔案,即保持連線不斷地從server上拷貝新的log檔案。

mysqlbinlog --read-from-remote-server --host=host_name --user=user_name --password=password --raw --to-last-log binlog.000002 --stop-never

也可以使用mysqldump來建立乙個dump檔案【作為當前serverdata的乙個快照】。在生成快照時,要使用--all-databases[如果要dump所有庫],--events[事件],

--routines 同時要--master-data=2[在binlog中包含座標位置]。如

mysqldump --host=host_name--all-databases --events --routines --master-data=2>dump_file
一旦資料丟失,你可以使用dump檔案來恢復,如 mysql --host=host_name -uroot -p < dump_file然後可以使用備份的binlog檔案找回丟失資料【重做備份之後的資料】

假設資料的binlog的位置為: file=binlog.001002  pos=27284

mysqlbinlog --start-position=27284 binlog.001002 binlog.001003 binlog.001004 [這只是輸出]

要想重做需使用change master to 語句。也請參考:

還原error:

mysql binlog備份初探

備份mysql的binlog檔案,可以配合分庫或全庫的備份檔案實現基於時間點的資料恢復.在工作過程中,遇到兩種情況 1.不執行flush logs命令 缺點 對於不進行頻繁寫入和更新的業務,備份後,浪費磁碟空間.優點 對於一天只生成乙個binlog檔案的業務,恢復資料比較容易,只需要解壓乙個binl...

用mysqlbinlog恢復MySQL資料庫

如果mysql 伺服器 啟用了二進位制日誌,你可以使用mysql binlog工具來恢復從指定的時間點開始 例如,從你最後一次備份 直到現在或另乙個指定的時間點的資料。關於啟用二進位制日誌的資訊,參見5.11.3節,二進位制日誌 對於 mysql binlog的詳細資訊,參見mysql手冊8.6節,...

Mysql用B 樹與B 樹

b tree優勢 使用索引查詢的時候計算機要先將資料結構讀取到主存中,由於b tree的所有非葉子節點不存資料只存key,因此與b tree相比,使用b tree每次就能將更多的節點讀取到主存中,也就能做更少的i o操作。b tree優勢 b tree由於每個節點都存資料,因此每個資料所在的層數是不...