MySQL OCP888题解073-slave创建新relay log文件的策略

1、原题

1.1、英文原题

1.2、答案

A、B

2、题目解析

2.1、题干解析

本题考察MySQL复制时,中继日志的生成策略。

2.2、选项解析

  1. SLAVE服务器会在复制I/O现成启动时、日志被刷新时,建立一个新的中继日志文件。所以选项A和B正确。

3、知识点

3.1、知识点1:Relay Log创建新日志文件的策略

  • 中继日志,像二进制日志一样,由一组编号的文件组成,其中包含描述数据库变化的事件,还有一个索引文件,包含所有使用过的中继日志文件的名称。中继日志文件的格式与二进制日志文件相同,可以使用mysqlbinlog读取。
  • 术语 "relay log file "一般指的是包含数据库事件的单个编号文件。术语 "relay log "统称为一组编号的中继日志文件加上索引文件。
  • 默认情况下,中继日志文件名在数据目录中具有host_name-relay-bin.nnnnn的形式,其中host_name是复制服务器主机的名称,nnnnn是一个序列号。连续的中继日志文件是使用连续的序列号创建的,从000001开始。复制器使用一个索引文件来跟踪当前使用的中继日志文件。默认的中继日志索引文件名称是数据目录下的host_name-relay-bin.index。
  • 默认的中继日志文件和中继日志索引文件的名称可以分别用 relay_log 和 relay_log_index 系统变量来覆盖。
  • slave服务器在以下条件下创建一个新的中继日志文件:
    • 每次复制的I/O线程启动时。
    • 当日志被刷新时(例如,用FLUSH LOGS或mysqladmin flush-logs)。
    • 当前中继日志文件的大小变得过大时,按以下方式确定。
      • 如果max_relay_log_size的值大于0,这就是最大的中继日志文件大小。
      • 如果max_relay_log_size的值为0,max_binlog_size决定了最大中继日志文件大小。
  • 复制SQL线程在执行完文件中的所有事件并不再需要它时,会自动删除每个中继日志文件。没有明确的机制来删除中继日志,因为复制的SQL线程会负责这样做。然而,FLUSH LOGS轮换了中继日志,这影响了复制SQL线程删除它们的时间。

官方参考文档

4、总结

  1. Relay Log(中继日志)无论是格式还是索引文件,都和二进制文件几乎一摸一样,因此也可以用mysqlbinlog读取中继日志。
  2. SLAVE服务器会在复制I/O现成启动时、日志被刷新时,建立一个新的中继日志文件。
  3. 复制SQL线程在执行完文件中的所有事件并不再需要它时,会自动删除每个中继日志文件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值