mysql查詢復制結果,什么情況會導致MySQL主從復制延遲?
問題描述的是DBA進行DDL操作(即索引合并)后就出現了復制延遲。
這里可能的原因是:執行DDL需要一段時間,由于MySQL傳統復制是異步復制,需要等到主庫執行完成后才會將DDL語句傳輸到從庫,在從庫應用。所以出現了主從延遲,這種情況的延遲時間基本跟DDL在主庫的執行時間吻合。判斷方法:可以通過對比主從延遲時間和主庫執行DDL時間來判讀是否是這個原因。另附上MySQL傳統主從復制的原理:(1)、主庫必須開啟二進制日志
(2)、當有增刪改的語句時,會記錄到主庫的binlog中
(3)、主庫通過IO線程把binlog里面的內容傳給從庫的relay binlog(中繼日志)(這是msyql復制是異步復制的原因)
(4)、從庫的sql線程負責讀取它的relay log里的信息并應用到數據庫中