mysql binlog输出文件是不明确的?

时间:2014-02-12 08:18:11

标签: mysql mysqlbinlog binlog

我用

mysqlbinlog -f -v --base64-output=DECODE-ROWS mysql-bin.00001 > res.000001

我的表有一个列是varbinary。所以像这样res.000001

### UPDATE db.tbl
### WHERE
###   @1=967540772
###   @2='\x10\x00c\x01\x00%...'
### SET
###   @1=967540772
###   @2='\x10\x001\x00\x00,...'

我发现binlog会将不可见字符转换为十六进制(例如"\n", "\r"),将直接打印普通字符(例如"%", "a")。有些不对劲。如果此列为"\x10",则binlog将输出"\x10"(我们称之为案例1),如果此列是这些十六进制也是"0x10"的字符,则binlog将输出"\x10" TOO (我们称之为案例2)。所以我不能说出这些字符串之间的区别。

在案例1中,我认为binlog应该输出"\x10"以逃避反斜杠。这是mysql binlog的错误吗?

0 个答案:

没有答案