區(qū)別:異步復制是master將事件寫入binlog,提交事務,自身并不知道slave是否接收是否處理,不能保證所有事務都被所有slave接收。同步復制是master提交事務,直到事務在所有slave都已提交,才會返回客戶端事務執(zhí)行完畢信息。
相關(guān)學習推薦:mysql教程(視頻)
異步復制
mysql復制默認是異步復制,master將事件寫入binlog,提交事務,自身并不知道slave是否接收是否處理;
缺點:不能保證所有事務都被所有slave接收。
同步復制
master提交事務,直到事務在所有slave都已提交,才會返回客戶端事務執(zhí)行完畢信息;
缺點:完成一個事務可能造成延遲。
半同步復制
當master上開啟半同步復制功能時,至少有一個slave開啟其功能。當master向slave提交事務,且事務已寫入relay-log中并刷新到磁盤上,slave才會告知master已收到;若master提交事務受到阻塞,出現(xiàn)等待超時,在一定時間內(nèi)master 沒被告知已收到,此時master自動轉(zhuǎn)換為異步復制機制;
注:半同步復制功能要在master和slave上開啟才會起作用,只開啟一邊,依然是異步復制。
本文來自php中文網(wǎng)mysql圖文教程頻道,歡迎學習!