1. redo log是 InnoDB引擎特有的,binlog 是 mysql server层 实现的,顾所有引擎可以共享使用
2. redo log是 物理日志,比如记录的是 : '在 xx 数据页上 xx 偏移量上 对 xx 个字节做了怎样的修改,以及修改后的值 ' ; binlog 是 逻辑日志, 记录的是SQL语句的原始逻辑。
3. redo log 是循环写入的,空间有限,需要结合 write pos 和 check point 配合完成日志的写入; binlog 是追加写入到文件的(默认大小是1GB ), 写到一定大小会切换到下一个文件中去,并且不会覆盖之前的日志内容。
4. redo log 负责的是服务器宕机之后数据的自动恢复; binlog 可以作为主从复制和数据恢复使用, binlog 没有自动 crash-safe 的能力。