MySQL二进制日志

1.版本冲突

[root@ops logs]# mysqlbinlog --base64-output=decode-rows -v -v mysql-bin.000007

问题:ERROR: Error in Log_event::read_log_event(): 'Sanity check failed', data_len: 53, event_type: 30

[root@ops logs]# mysqlbinlog -V
mysqlbinlog Ver 3.3 for unknown-linux-gnu at x86_64
[root@ops logs]# /usr/local/mysql/bin/mysqlbinlog -V
/usr/local/mysql/bin/mysqlbinlog Ver 3.4 for Linux at x86_64

解决:cp /usr/local/mysql/bin/mysqlbinlog   /usr/bin/mysqlbinlog

2.ROW模式下查看原始SQL

在row模式下,可以通过mysqlbinlog --base64-output=decode-rows –v查看最底层的insert数据模块,也可以通过命令行show binlog events in 'mysql-bin.000216';来实时查看最原始的insert sql记录。

# vim my.cnf

[mysqld]

binlog_format=row  # binlog 日志格式

binlog_rows_query_log_events = 1  # 将原始的操作sql记录写入事件中   

3.日志增长过快问题

binlog_row_image默认值是full,现在改为binlog_row_image=minimal 

4.row模式下注意事项

#如果想查看row模式下的语句,使用参数--base64-output=decode-rows

mysqlbinlog  --base64-output=decode-rows -v -v /usr/local/mysql/logs/mysql-bin.000010 --start-position="1666"  --stop-position="1899" 

#恢复数据时不可以使用参数--base64-output=decode-rows,这与STATEMENT一致

mysqlbinlog  /usr/local/mysql/logs/mysql-bin.000010 --start-position="1666"  --stop-position="1899"  | mysql -u root -p bptest

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值