理解MySQL主从复制之realy_log_recovery

理解MySQL主从复制之realy_log_recovery

参数含义:当slave重启之后会根据slave_relay_log_info重新创建一个文件,SQL线程会根据这个文件进行恢复复制,IO线程会读取SQL线程的POS点,根据这个POS点向主库申请拉取数据

该参数是默认打开的,在数据库启动后立即启动自动relay log恢复。在恢复过程中,创建一个新的relay log,并将IO线程初始化到SQL线程的位置。

MySQL运行过程中,如果出现宕机的情况,从库启动后必须能够恢复到已经执行事务的位置,该信息传统上是存在文件中,那么久有可能存在不一致或者损坏的风险。从MySQL5.7开始,可以用表来存储这些信息,并发这些表设置为InnoDB引擎,通过使用事务型存储引擎,恢复这个信息。可以配置参数master_info_repository=table和relay_log_info_repository=table使从库信息存储在表中。从库如何从宕机的状态恢复到正确的状态,取决于从库是单线程还是多线程、relay_log_recover参数的值,以及master_auto_position的使用方式。

1、单线程模式的复制

1)当基于GTID模式复制的时候,并且设置了master_auto_position参数和relay_log_recover=0,使用该配置,其relay_log_info_repository和其他变量的设置都不会影响恢复。

2)当基于传统模式(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)当基于传统模式复制的时候,请设置relay_log_recovery=1、sync_relay_log=1和relay_log_info_repository=table。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值