mysql binlog 实际如何使用

binlog恢复数据,binlog输出的是加密过的

img


查了原因,需要修改隔离机制
然后使用-v --base64-output=DECODE-ROWS 强制输出,提示mysqlbinlog: [ERROR] unknown variable 'default-character-set=utf8mb4'.
查了原因,需要修改conf文件,设置编码

疑问:生产中去修改隔离机制和conf这两种操作,从而来恢复数据,不是很合理吧,有实际操作过的吗

一般来说,生产上数据库不会只有一个节点,应该是有Master-Slave主从机制的,同时在从节点上进行数据的备份,通过备份来恢复数据。mysqlbinlog一般用于定位故障的时候,查看具体的SQL是怎么样的,结合应用程序的日志来定位问题。如下:

at 363331291

#220518 15:29:12 server id 5510 end_log_pos 363331545 CRC32 0x462f6cce Update_rows: table id 99 flags: STMT_END_F

UPDATE ttttt.xxxx

WHERE

@1=435

@2=82

@3=1646623595

@4=1646623483

@5=1652772552

SET

@1=435

@2=82

@3=1646623595

@4=1646623483

@5=1652858952

at 363331545

可以看到时间点、事务ID、具体的SQL语句