mysqlbinlog 時的亂碼問題

1、有關增量備份的配置
my.ini 裏

# Binary Logging.
// # log-bin 如果只去掉 # 就默認在 datadir 這個路徑裏存 binlog 文件
log-bin = D:/iweb/binlog/mylogbin

重啓mysql,成功則
這裏寫圖片描述

2、查看 logbin 文件
在 mysql 的bin目錄下

mysqlbinlog D:\iweb\binlog\mylogbin.000002

P.S.
問題:這裏,我第一次打印出來的除了 create 和 drop 都是亂碼

# at 4
#170810  7:04:34 server id 1  end_log_pos 123 CRC32 0xb10dce65  Start: binlog v 4, server v 5.7.9-log created 170810  7:04:34 at startup
# Warning: this binlog is either in use or was not closed properly.
ROLLBACK/*!*/;
BINLOG '
ApWLWQ8BAAAAdwAAAHsAAAABAAQANS43LjktbG9nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAClYtZEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQA
AWXODbE=
'/*!*/;

原因:

隔離級別太低了,我的默認隔離級別是READ-COMMITTED,所以導致binlog記錄的必須都是row模式,解析出來的是亂碼,強行用-v顯示出來也是row模式,所以我將隔離級別升級爲REPEATABLE-READ的話,就會有row格式也會有statement格式了。

http://blog.csdn.net/mchdba/article/details/50300035

解決方法:

transaction_isolation = REPEATABLE-READ
binlog_format=MIXED

結果:

3、恢復到 binlog 的某一位置 \ 時間

mysqlbinlog --start-position="401" --stop-position="956" d:\iweb\binlog\mylogbin.000004 | mysql -uroot -p
// --start-time | --stop-time
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章