同步 MySQL binlog 到其他主機保存
#rsync_binlog.sh#
cat /usr/local/shell/rsync_binlog.sh
#!/bin/bash
while
true
do
rsync -az /mnt1/mysql-data/mysql-bin.* 192.168.0.106:/backup/bin &
sleep 30
done
mysql 二進制日誌有三種格式:statement、row、mixed
一般我會採用格式是mixed。這種格式兼具了基於行(row) 和基於語句(statement) 的優點。
但是在使用mysqlbinlog 查看混合模式的二進製文件時,需要用 base64 編碼顯示
--base64 -output參數用來控制 binlog 部分是否顯示出來的
一般我會採用格式是mixed。這種格式兼具了基於行(row) 和基於語句(statement) 的優點。
但是在使用mysqlbinlog 查看混合模式的二進製文件時,需要用 base64 編碼顯示
--base64 -output參數用來控制 binlog 部分是否顯示出來的
查看 row 模式的 binlog 方式如下:
mysqlbinlog --base64-output=decode-rows -v /backup/bin/mysql-bin.000021 | more
相關參數
# 參數:--start-datetime,--stop-datetime,--start-position,--stop-position,--database
接下來,您必須從保存在 mysql-bin.000021 文件中的二進制日誌中恢復數據。
運行以下命令恢復增量備份。
mysqlbinlog --base64-output=decode-rows -v /backup/bin/mysql-bin.000021 | mysql -uroot -p
or
mysqlbinlog --base64-output=decode-rows -vv /backup/bin/mysql-bin.000021 | mysql -uroot -p
##--start-position##
要補上 binlog 時,必須要先查看完整備份日誌。
日誌如下: 截斷為 39151181
cat /backup/MEB_20220918/meta/MEB_2022-09-18.12-00-02.log | more
Truncating binary log to '/backup/MEB_20220918/datadir/mysql-bin.000084':39151181
那我們就從下一個開始補
mysqlbinlog --base64-output=decode-rows -vv --start-position=39151260 /backup/bin/mysql-bin.000084 | mysql -uroot -p
沒有留言:
張貼留言