First, the binary log records all the log records related to the MySQL database, including InnoDB, MyISAM, Heap (except memory), and other storage engine logs. The InnoDB storage engine's redo log records the transaction log for the engine itself.
Second, the contents of the record are different. Whether the user formats the binary log file as statement or row, or mixed, it records the specific operation of a transaction, that is, the log is a logical log. The redo log for the InnoDB storage engine is a physical case of changes to each page. This is basically because of the MySQL server and the engine independent implementation of the results of it.
In addition, the write time is different. The binary log file is written only once after the transaction commits, that is, the disk is written only once, regardless of how large the transaction is. While the transaction is in progress, there are constant redo log entries (redo entry) that are written to the redo log file.
The relationship between the two determines that after MySQL server crash, only using the InnoDB Log,bin-log is useless, for Oracle, the nature of the Bin-log content is the same as before checkpoint content. So Bin-log accidentally deleted also does not matter, will not affect recovery, but innodb_log is not, may lead to the situation can not recovery.
The relationship between MySQL Bin-log and Innodb_log