日志分类
undolog和redolog只有数据库为innoDB时才存在这两个日志
其他的日志只需要MySql服务打开就有这个功能
数据一致性
redolog,涉及到2阶段提交,其实binlog和redolog是可以同时存在的,试想一下,如果redolog写入成功,在写入binlog的时候断电了,那么从库就无法实现同步,自然就无法保证数据的一致性,为了保证数据的一致性就出现了两阶段提交的概念。
执行流程
两阶段提交
数据首先存储在redolog中为prepare状态,然后执行binlog如果binlog执行之前出现故障,当前主库恢复后,发现数据是prepare状态,就认为这条操作是无效的。
如果在binlog提交后修改状态时出现 故障,恢复时,检测redolog和binlog中都存在这条数据,就会重新提交为commit状态