binlog_format主要有三種格式:statement、row、mixed
binlog_format=statement
master寫入執(zhí)行的SQL語(yǔ)句到binlog中,從庫(kù)讀取這些SQL語(yǔ)句并執(zhí)行,這種基于SQL語(yǔ)句的復(fù)制方式是MySQL最早支持的復(fù)制方式。
binlog_format=mixed
可以將master的binlog_format配置成同時(shí)使用基于statement和row兩者的組合格式,它記錄日志取決于修改的類型,選擇合適的格式來記錄該修改。默認(rèn)情況下使用statement格式記錄日志,特定情況下轉(zhuǎn)換成基于row格式記錄。
binlog_format=row
MySQL5.7.7版本之后,把binlog_format的默認(rèn)值修改為了row,master將修改表的event寫入binlog中,并且master將該binlog發(fā)送給slave,slave重放binlog中的event?;趓ow格式復(fù)制時(shí)最安全的復(fù)制,slave需要的行鎖更少。缺點(diǎn)就是在row格式下binlog會(huì)記錄更多的數(shù)據(jù),因?yàn)槎际莈vent。但是在row格式下可以打開binlog_rows_query_log_events參數(shù),binlog在記錄events的同時(shí),也會(huì)記錄原始的SQL語(yǔ)句,方便以后的查詢和審計(jì)。
復(fù)制過程中建議使用row格式,其他格式可能會(huì)造成主從數(shù)據(jù)不一致的情況。
當(dāng)前名稱:主從復(fù)制之binlog_format
本文鏈接:
http://weahome.cn/article/ihcgsh.html