4人参与 • 2025-12-09 • Mysql
relay log 是 mysql 主从复制架构中的核心日志之一,仅存在于从库(replica/slave)上。它的作用是保存主库(master)传来的二进制日志(binlog)事件,供从库 sql 线程解析和执行,实现主从数据同步。
主库产生 binlog
从库 io 线程读取 binlog
relay-log.000001)。从库 sql 线程读取 relay log 并执行
流程图:
主库 binlog → 从库 io 线程 → 从库 relay log → 从库 sql 线程 → 应用到从库数据
relay-log.000001、relay-log.000002 等。relay-log.index),记录所有 relay log 文件的列表。relay_log:指定 relay log 文件的前缀和路径。relay_log_index:指定索引文件路径。relay_log_purge:是否自动清理已执行的 relay log(默认开启)。max_relay_log_size:单个 relay log 文件最大大小,超过后自动切分新文件。relay_log_space_limit:限制 relay log 总空间,防止磁盘被占满。relay_log_purge=on),释放磁盘空间。| 方面 | binlog(主库) | relay log(从库) |
|---|---|---|
| 产生位置 | 主库 | 从库 |
| 作用 | 记录本地数据变更事件 | 保存主库 binlog 事件并应用 |
| 主要用途 | 复制、恢复、审计等 | 主从同步 |
| 是否可读 | 可读 | 可读 |
| 是否自动清理 | 需手动/自动 | 默认自动 |
relay log 占用空间过大
relay log 损坏
reset slave 清除所有 relay log,重新同步。主从延迟
磁盘空间被 relay log 占满
relay_log_space_limit,及时处理异常。合理设置 relay log 大小和空间限制
max_relay_log_size 和 relay_log_space_limit。监控 sql 线程延迟和状态
show slave status\g 查看 seconds_behind_master、relay_log_space 等指标。定期检查 relay log 清理情况
relay_log_purge=on,防止空间膨胀。异常恢复
reset slave 或 purge relay logs 清理后重新同步。高可用场景
sql/rpl_slave.cc、sql/log_event.cc 等文件。max_relay_log_size 设置的阈值时,会自动切分生成新文件。relay-log.index)记录所有当前存在的 relay log 文件,sql 线程根据索引顺序读取并执行。reset slave 命令清除所有 relay log 文件和索引,从当前主库位置重新开始同步。relay_log_space_limit,限制 relay log 最大占用空间,防止磁盘被占满。show slave status\g 查看:
seconds_behind_master:主从延迟秒数。relay_log_space:当前 relay log 占用空间。relay_master_log_file 和 exec_master_log_pos:主库 binlog 应用进度。start slave until sql_after_mts_gaps 或 gtid 模式恢复。relay_log 参数指定,便于磁盘分区和运维管理。relay_log_purge=on,sql 线程应用后自动清理旧文件。purge relay logs 命令,但需谨慎,避免数据不一致。slave_parallel_workers,根据业务并发量调整。relay log 文件过多,清理不及时
purge relay logs 或 reset slave。主从延迟持续增加
relay log 损坏或丢失
磁盘空间不足
relay log 是 mysql 主从复制中的关键组件,负责缓存和应用主库变更事件,保障数据一致性和高可用。合理配置和监控 relay log,有助于提升主从复制的稳定性和性能。
到此这篇关于mysql中relaylog中继日志的使用的文章就介绍到这了,更多相关mysql relaylog中继日志内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论