MySQL 中继日志

MySQL 中继日志

什么是中继日志

  • log日志的内容并应用到从服务器,从而使从服务器和主服务器的数据保持一致
  • 理解:relay log很多方面都跟binary log差不多。
  • 区别是:从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件,然后SQL线程会读取relay-log日志的内容并应用到从服务器,从而使从服务器和主服务器的数据保持一致

relay log参数说明

  • max_relay_log_size
    relay log 允许的最大值,如果该值为0,则默认值为 max_binlog_size (1G);
    如果不为0,则 max_relay_log_size 则为最大的relay_log文件大小;

  • relay_log
    定义 relay_log 的位置和名称,如果值为空,则默认位置在数据文件的目录;

  • relay_log_index
    定义 relay_log 索引的位置和名称,记录有几个 relay_log 文件,默认为2个

  • relay_log_info_file
    定义 relay-log.info 的位置和名称
    relay-log.info 记录 master 主库的 binary_log 的恢复位置和 从库 relay_log 的位置;

  • relay_log_purge
    是否自动清空中继日志,默认值为1(启用);

  • relay_log_recovery
    当slave从库宕机后,假如relay-log损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的relay-log,并且重新从master上获取日志,这样就保证了relay-log的完整性。默认情况下该功能是关闭的,将relay_log_recovery的值设置为 1时,可在slave从库上开启该功能,建议开启;

  • sync_relay_log
    当设置为1时,slave的I/O线程每次接收到master发送过来的binlog日志都要写入系统缓冲区,然后刷入relay log中继日志里,这样是最安全的,因为在崩溃的时候,你最多会丢失一个事务,但会造成磁盘的大量I/O;
    当设置为0时,并不是马上就刷入中继日志里,而是由操作系统决定何时来写入,虽然安全性降低了,但减少了大量的磁盘I/O操作。这个值默认是0,可动态修改;

  • sync_relay_log_info
    这个参数和 sync_relay_log 参数一样。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芳华汉服

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值