mysql日志 innodb事务
1、binlog 归档日志 (server所有)
sync_binlog 表示每次binlog 都同步磁盘
2、redolog (innodb存储引擎特有)
innodb_flush_log_at_trx_commit = 1 代表每次redolog都同步到磁盘
3、undolog (组成版本链) MVCC
undolog 在没有事务使用时被清除,所有长事务就会导致版本链过长从而导致文件过大
在 MySQL 5.5 及以前的版本,回滚日志是跟数据字典放在idata文件中
事务隔离级别实现
read commited 每次查询会 形成一个read-view
repeatable read 启动事务的第一次查询时会形成一个版本链
两阶段提交
redolog prepare --- binlog --- redolog commited