目录
1、redo log - 错误日志
确保事务的持久性。防止在发生故障、脏页未写入磁盘。重启数据库会进行redo log执行重做,达到事务持久性。
2、undo log - 回滚日志
保证事务的原子性,记录事务发生之前的一个版本,用于回滚,Innodb的隔离模式就是通过mvcc + undo实现的。
3、err log - 错误日志
MySQL本身启动,停止,运行期间发生的错误信息。
4、slow query log - 慢查询日志
记录执行时间过长的sql,时间阈值可以配置,只记录执行成功。
5、general log - 普通日志
记录数据库操作明细,默认关闭,开启后会降低数据库性能。
6、bin log - 二进制日志
用于主从复制,实现主从同步。
7、relay log - 中继日志
将主库发来的bin log保存在本地,然后从库进行回放。
主从复制原理:
- 对主库的修改必须记录到主库的bin log中。
- 主库通过I/O线程把bin log里的内容传给从库relay log。
- 从库SQL线程负责读取relay log里的信息并在从库回放。