該參數是默認打開的,在數據庫啟動后立即啟動自動relay log恢復。在恢復過程中,創(chuàng)建一個新的relay log,并將IO線程初始化到SQL線程的位置。
MySQL運行過程中,如果出現(xiàn)宕機的情況,從庫啟動后必須能夠恢復到已經執(zhí)行事務的位置,該信息傳統(tǒng)上是存在文件中,那么久有可能存在不一致或者損壞的風險。從MySQL5.7開始,可以用表來存儲這些信息,并發(fā)這些表設置為InnoDB引擎,通過使用事務型存儲引擎,恢復這個信息??梢耘渲脜祄aster_info_repository=table和relay_log_info_repository=table使從庫信息存儲在表中。從庫如何從宕機的狀態(tài)恢復到正確的狀態(tài),取決于從庫是單線程還是多線程、relay_log_recover參數的值,以及master_auto_position的使用方式。
1、單線程模式的復制 1)當基于GTID模式復制的時候,并且設置了master_auto_position參數和relay_log_recover=0,使用該配置,其relay_log_info_repository和其他變量的設置都不會影響恢復。
2)當基于傳統(tǒng)模式(file position)的情況,請設置relay_log_recover=1和relay_log_info_repository=table。
2、多線程模式的復制 1)當基于GTID模式復制的時候,并且設置了master_auto_position和relay_log_recovery=0,使用該配置,其relay_log_info_reposition和其它變量的設置都不會影響恢復。
2)當基于傳統(tǒng)模式復制的時候,請設置relay_log_recovery=1、sync_relay_log=1和relay_log_info_repository=table。
本文名稱:MySQL主從復制之realy_log_recovery
鏈接分享:
http://weahome.cn/article/iecjgp.html