1.什么是binlog
1)binlog是二級制文件,是記錄mysql所有操作的文件,存儲在磁盤上。
2)binlog有三種模式:statment(語句),row(行),Mixed(混合)
2.binlog的作用
數(shù)據(jù)的實時備份,主從(master/cluster)復(fù)制
3.binlog實踐
離線數(shù)據(jù)分析
4.binlog面試相關(guān)
1)什么是binlog異步復(fù)制,binlog全同步,binlog半同步?
異步復(fù)制:主庫寫binlog文件,同步給從庫cluster,只需要告訴dump子線程去發(fā)送binlog日志,然后主庫繼續(xù)下面的操作。不能保證binlog同步到所有的從庫上節(jié)點上。
全同步:主庫提交事務(wù)之后,所有的從庫必須執(zhí)行完所有的事務(wù),主庫才能繼續(xù)后面的操作,這樣影響主庫事務(wù)執(zhí)行的時長,影響性能。
半同步:主庫提交事務(wù)后,只需要等待一個從庫接收flush binlog->retry binlog文件。主庫接收到任一個從庫的反饋,不需要全部從庫的,這樣節(jié)省了時間。