異步復制
MySQL復制默認是異步復制,Master將事件寫入binlog,提交事務,自身並不知道slave是否接收是否處理;
缺點:不能保證所有事務都被所有slave接收。
同步復制
Master提交事務,直到事務在所有slave都已提交,才會返回客戶端事務執行完畢信息;
缺點:完成一個事務可能造成延遲。
半同步復制
當Master上開啟半同步復制功能時,至少有一個slave開啟其功能。當Master向slave提交事務,且事務已寫入relay-log中並刷新到磁盤上,slave才會告知Master已收到;若Master提交事務受到阻塞,出現等待超時,在一定時間內Master 沒被告知已收到,此時Master自動轉換為異步復制機制;
注:半同步復制功能要在Master和slave上開啟才會起作用,只開啟一邊,依然是異步復制。
