17.2.2.1 The Slave Relay Log  Slave中继日志

中继日志, 像binary log,有一组文件组成包含events 描述数据库的修改,和一个index文件包含所有使用过的relay log文件的名字

术语"relay log file"通常表示一个但都数字文件包含数据库events.

Relay log 文件有相同的格式和binary log 文件可以使用mysqlbinlog读取

默认情况下,relay log 文件名格式为host_name-relay-bin.nnnnnn 在数据目录,

host_name  是slave server host的名字  nnnnnn 是一个序列号。

slave 使用一个index file 来跟踪 relay log files 当前在使用的

默认的 relay log index file 名字是 host_name-relay-bin.index在数据目录下

默认的relay log 文件和relay log index 名字可以覆盖

如果一个slave 使用默认的基于主机名的relay log file names,

改变一个slave的host name 在复制已经被设置后会导致复制失败由于打开relay log文件失败,不能找到目标日志

如果你预期 一个slave的host name 可能将来被改变,你可以避免这个问题通过使用

 --relay-log and --relay-log-index options  来指定relay log文件名 当你在初始化设置slave的时候

这样会让名字于server hostname 无关

如果你遇到的问题在复制已经开始,一种方式是停止server,谋划旧的日志到新的relay log index file,

然后重启slave 在一个Unix 系统,可以这么做:

shell> cat new_relay_log_name.index >> old_relay_log_name.index
shell> mv old_relay_log_name.index new_relay_log_name.index A slave server creates a new relay log file under the following conditions: 一个slave server 创建一个新的relay log 在下面的条件: 1. 每次 I/O thread 启动 2. 当日志被刷新,比如 FLUSH LOGS or mysqladmin flush-logs. 3.当当前的relay logfile的大小变的太大, mysql> show variables like '%max_relay_log_size%';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| max_relay_log_size | 0 |
+--------------------+-------+
1 row in set (0.00 sec) 1.如果 max_relay_log_size 值是大于0, 那是最大的relay log file size 2.如果值为0,max_binlog_size 决定了relay log files的最大值 mysql> show variables like '%max_binlog_size%';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| max_binlog_size | 536870912 |
+-----------------+-----------+
1 row in set (0.00 sec) mysql> exit
Bye
Vsftp:/data01/mysql# cat /etc/my.cnf | grep max_binlog_size
max_binlog_size = 512M
Vsftp:/data01/mysql# SQL thread 自动删除每个relay log文件一旦他已经执行了所有的events 不再被需要。 这里没有机制对于删除relay log 因为SQL thread 做这个事情

17.2.2.1 The Slave Relay Log Slave中继日志的更多相关文章

  1. ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

    salve复制线程停止,尝试start slave 时报ERROR 1872错误mysql> system perror 1872 MySQL error code 1872 (ER_SLAVE ...

  2. Slave failed to initialize relay log info structure from the repository

    现象 查看slave 服务状态 show slave status\G; 错误 Last_Errno: 1872 Last_Error: Slave failed to initialize rela ...

  3. 【故障处理】ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

    今天在使用冷备份文件重做从库时遇到一个报错,值得研究一下. 版本:MySQL5.6.27 一.报错现象 dba:(none)> start slave; ERROR (HY000): Slave ...

  4. Slave SQL_THREAD如何重放Relay log

    复制的介绍: 根据日志定义的模式不一样,可以分为:Statement(SBR)模式,Row(RBR)格式或者是MIXED格式,记录最小的单位是一个Event,binlog日志前4个字节是一个magic ...

  5. mysql5.7启动slave报错 ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

    原因:检查my.cnf,原来没指定relay_log,mysql默认产生的relay_log名被该server上的另一个mysql slave占用了. 解决方法:1.在my.cnf中添加 relay_ ...

  6. MySQL复制报错(Slave failed to initialize relay log info structure from the repository)

    机器重启以后,主从出现了问题,具体报错信息: Slave failed to initialize relay log info structure from the repository 解决方案: ...

  7. my32_ error 1872 Slave failed to initialize relay log info structure from the repository

    重启了实例后,slave进程无法开启 Last_SQL_Errno: Last_SQL_Error: Slave failed to initialize relay log info structu ...

  8. mysql报错1872: Slave failed to initialize relay log info structure from the repository

    ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository 在一台主机上增加 ...

  9. mysql 主从关系ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

    连接 amoeba-mysql出现Could not create a validated object, cause: ValidateObject failed mysql> start s ...

随机推荐

  1. c#进程间通讯方案之IPC通道

    转载:http://www.cnphp.info/csharp-ipc-channel-remoting.html 最近一直纠结与使用多进程还是多线程来构建程序.多线程的方法似乎不错,但是一个进程可承 ...

  2. android中使用Intent在activity之间传递数据

    android中intent传递数据的简单使用: 1.使用intent传递数据: 首先将需要传递的数据放入到intent中 Intent intent = new Intent(MainActivit ...

  3. group by java实现

    public static void abc(List list,String... sortName) throws Exception{ Map<String,List<Object& ...

  4. 保留关键字 (Transact-SQL)

    https://msdn.microsoft.com/zh-cn/library/ms189822(v=sql.120).aspx Microsoft SQL Server 将保留关键字用于定义.操作 ...

  5. 加载jar文件输出class和method

    package file import java.util.jar.JarEntry import java.util.jar.JarFile import org.junit.Test; class ...

  6. BCEC手动验证业务方法

    在每次割接或业务调整后手动执行并做好业务验证工作 一.研发区利用ansible手动执行巡检程序: 步骤1:登陆 10.254.3.4/opt/ansible 步骤2:手动执行 sh compute_c ...

  7. Qt 之 QtScript

    前言 前面学习中,很多地方都用到了C++和JavaScript相互通信.今天就学习QtScript模块吧. Qt 包含完全集成的 ECMA 标准脚本引擎.Qt Script 集成了 QObject,为 ...

  8. php安装中的错误

    http://www.cnblogs.com/kristain/articles/3809243.html     借鉴php安装错误 2013-01-04 19:16:49 分类: 系统运维 环境: ...

  9. css3动画使用技巧之—JQ配合css3实现轮播之animation-delay应用

    <!DOCTYPE html> <html> <head> <title>css3动画使用技巧之—JQ配合css3实现轮播之animation-dela ...

  10. php设计模式笔记:单例模式

    php设计模式笔记:单例模式 意图: 保证一个类仅有一个实例,并且提供一个全局访问点 单例模式有三个特点: 1.一个类只有一个实例2.它必须自行创建这个实例3.必须自行向整个系统提供这个实例 主要实现 ...