前言:MySQL进行主主复制或主从复制的时候会在配置文件制定的目录下面产生相应的relay log,本文档总结这些相关参数的定义及解释。

1、什么是relay log

The relay log, like the binary log, consists of a set of numbered files containing events that describe database changes, and an index file that contains the names of all used relay log files.

The term “relay log file” generally denotes an individual numbered file containing database events. The term “relay log” collectively denotes the set of numbered relay log files plus the index file.

Relay log files have the same format as binary log files and can be read using mysqlbinlog .

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

2、relay log的相关参数

mysql> show variables like '%relay%';+---------------------------+----------------------------------------------+

| Variable_name | Value |

+---------------------------+----------------------------------------------+

| max_relay_log_size | 0 |

| relay_log | /data01/mysql_dir/data/mysql-relay-bin |

| relay_log_basename | /data01/mysql_dir/data/mysql-relay-bin |

| relay_log_index | /data01/mysql_dir/data/mysql-relay-bin.index |

| relay_log_info_file | /data01/mysql_dir/data/mysql-relay-bin.info |

| relay_log_info_repository | TABLE |

| relay_log_purge | ON |

| relay_log_recovery | ON |

| relay_log_space_limit | 0 |

| sync_relay_log | 10000 |

| sync_relay_log_info | 10000 |

+---------------------------+----------------------------------------------+

11 rows in set (0.00 sec)

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

2.2  relay_log:定义relay_log的位置和名称,如果值为空,则默认位置在数据文件的目录,文件名为host_name-relay-bin.nnnnnn(By default, relay log file names have the form host_name-relay-bin.nnnnnn in the data directory);

2.3 relay_log_index:同relay_log,定义relay_log的位置和名称;

2.4 relay_log_info_file:设置relay-log.info的位置和名称(relay-log.info记录MASTER的binary_log的恢复位置和relay_log的位置),也可以配置记录到mysql库中的slave_relay_log_info表中;

2.5 relay_log_purge:是否自动清空不再需要中继日志时。默认值为1(启用)。

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

This variable also interacts with relay-log-purge, which controls purging of logs when they are no longer needed. Enabling the --relay-log-recovery option when relay-log-purge is disabled risks reading the relay log from files that were not purged, leading to data inconsistency, and is therefore not crash-safe.

2.7 relay_log_space_limit:防止中继日志写满磁盘,这里设置中继日志最大限额。但此设置存在主库崩溃,从库中继日志不全的情况,不到万不得已,不推荐使用;

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

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

参考:

http://www.linuxidc.com/Linux/2014-11/109032.htm

http://dev.mysql.com/doc/refman/5.7/en/slave-logs-relaylog.html

http://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html

mysql relay log 配置_mysql relay log参数汇总相关推荐

  1. mysql my.cnf 配置_MySQL——my.cnf参数设置说明

    [mysqld] server-id=513306# Mysql唯一标识,一个集群中唯一: port=3306# 服务端口,默认3306 user=mysql # 启动用户,建议用户mysql bin ...

  2. mysql.ini环境配置_MySQL配置文件mysql.ini参数详解

    my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数. my.ini分为两块:Client Section和Server Section. ...

  3. mysql服务实例配置_MySQL多实例配置(一)

    MySQL数据库的集中化运维,能够通过在一台MySQL数据库服务器上,部署多个MySQL实例.该功能是通过mysqld_multi来实现.mysqld_multi用于管理多个mysqld的服务进程,这 ...

  4. mysql服务实例配置_MySQL多实例配置

    MySQL的多实例配置 ​在一台物理机中需要多个测试环境,那么就需要用到了搭建数据库的多个实例,多个实例的意思就是运行多份程序,实例与实例之间没有影响.要注意监听的端口需要不同. 环境:CentOS7 ...

  5. mysql主从复制时间配置_MySQL主从复制配置

    环境 CentOS 7.5 Docker 1.13.1 MySQL 8.0.16 基于以上环境启动三个mysql容器,一个为master,二个为slave master和slave使用的mysql版本 ...

  6. 老男孩mysql参数配置_MySQL启动相关参数解析

    1.basedir = /usr/local/mysql 代表MySQL安装路径 2.datadir = /usr/local/mysql/data 代表MySQL的数据文件路径 3.port = 3 ...

  7. mysql 半同步 配置_Mysql 半同步复制配置

    以下是配置和监控半同步复制: 1. 半同步复制功能以plugin的方式接入MySQL,需要在主库与从库两端同时开启半同步的支持,具体配置如下: On the master mysql> INST ...

  8. mysql 提高电脑配置_Mysql配置优化浅谈

    Mysql配置优化浅谈安装MySQL后,配置文件my.cnf在MySQL 安装目录/share/mysql目录中,该目录中还包含多个配置文件可供参考,有my-large.cnf ,my-huge.cn ...

  9. mysql my.conf 配置_Mysql my.conf配置说明

    MySQL配置文件my.cnf 例子最详细翻译,可以保存做笔记用. #BEGIN CONFIG INFO #DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大 ...

最新文章

  1. python培训学校-培训Python学校哪家好?推荐老男孩IT培训机构
  2. Windows 下安装mysql
  3. Java黑皮书课后题第5章:*5.44(计算机体系结构:比特级的操作)一个short型值用16位比特存储。编写程序,提示用户输入一个short型的整数,然后显示这个整数的16比特形式,下面是运行示例
  4. 轻知 | 为什么全球只有13组根域名服务器?
  5. 百度图表echart使用心得
  6. Ubuntu 14.04安装 skype
  7. Unity使用Newtonsoft.Json插件实现XML与JSON数据的互转
  8. 声学混响中说的RT60是什么意思?
  9. 分解正整数 正序分解
  10. 洛谷 P3371 【模板】单源最短路径(弱化版)【最短路】【spfa】
  11. Auto CAD 2013的故障解决方法
  12. idea编辑器简介下载
  13. 全国最大高速公路信息管理系统开通
  14. 源代码审计之——工具源代码审计
  15. 习题1.3从五色球中取三色球的取法
  16. 基于安卓的英语学习软件的设计与实现
  17. python小学生教材-之前纳入小学教材的Python,现在真能学会了!
  18. 帆软:2018年中国企业数据化应用分析报告
  19. AirPods开启运动蓝牙耳机之旅,好用的运动蓝牙耳机
  20. 池化技术-数据库连接池

热门文章

  1. mac 2k显示器字体发虚_精准色彩体验-优派VP2785-2K
  2. python给内置函数重命名_python – 以Pandas Groupby函数重命名列名
  3. dos 退出mysql_【转】MySQL 一闪退出解决_MySQL
  4. C++之操作符重载探究(七):==运算符重载
  5. python hstack_python运筹优化(六):多变量规划问题geatpy实践
  6. python ant_('python,-ANT--编程字典',)
  7. system流怎么判断为空_面试时被问到单例模式,怎么回答才能让面试官眼前一亮?...
  8. python爬虫百度图片_python实现爬取百度图片的方法示例
  9. PeriodicWave
  10. shell 执行脚本