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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章