在 my.cnf 中的一个配置
-
log_bin=bin.log #以bin开头的,在datadir中以 bin000001, bin00002 ... 显示
为什么在MySQL中要搞两份日志
-
binlog 在MySQL层产生
-
redo 在INNODB层产生
-
如果MySQL只有一个INNODB,其实只有redo日志是可以的(类似Oracle),但是MySQL还有其他存储引擎,如果不使用binlog,意味着每个存储引擎都要实现一次binlog所提供的功能,诸如复制恢复等等。
-
一次事物提交,既要写binlog,又要写redo log
1、查看当前 binlog 状态
mysql> show master status;
+------------+----------+--------------+------------------+--------------------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------+----------+--------------+------------------+--------------------------------------------+
|