什么是binlog
binlog二进制日志记录了对MySQL数据库执行更改的所有操作,并且记录了语句发生时间、执行时长、操作数据等其它额外信息,但是它不记录SELECT、SHOW等那些不修改数据的SQL语句。
binlog是server层产生的归档日志,由执行器生成,与引擎无关,不具有crash-safe能力。
binlog格式
binlog是逻辑日志,记录的是原语。
逻辑日志与物理日志的区别可以看这篇:逻辑日志与物理日志
binlog有三种格式:
- ROW:基于数据的复制,基于行的更改,会将实际数据记录在二进制日志中。
- STATEMENT:记录数据库上执行的原生SQL语句。
- MIXED:默认采用基于STATEMENT的复制,一旦发现基于STATEMENT的无法精确的复制时,就会采用基于ROW的复制。
可以通过以下命令查看binlog格式,可通过s