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. Android 在子线程中更新UI

    今天在做练习时,在一个新开启的线程中调用“Toast.makeText(MainActivity.this, "登陆成功",Toast.LENGTH_SHORT).show();” ...

  2. mvc给html扩展方法:

    mvc给html扩展方法: 注意:扩展方法和所在的类都必须是 public static如果在页面直接使用新扩展的方法,需要web.config里把Web.Helper名称命名空间加上,页面才能访问到 ...

  3. Android设计模式系列

    http://www.cnblogs.com/qianxudetianxia/category/312863.html Android设计模式系列(12)--SDK源码之生成器模式(建造者模式) 摘要 ...

  4. iOS 计算两个日期之间的天数问题

    //获取当前时间若干年.月.日之后的时间 + (NSDate *)dateWithFromDate:(NSDate *)date years:(NSInteger)years months:(NSIn ...

  5. HDU 4708 Rotation Lock Puzzle(模拟)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4708 题目大意:给定一个方形矩阵,边长为3-10的奇数.每一圈的数字可以沿着顺时针方向和逆时针方向旋转 ...

  6. HDU 1619 Unidirectional TSP(单向TSP + 路径打印)

    Unidirectional TSP Problem Description Problems that require minimum paths through some domain appea ...

  7. Linux的前世今生

    Linux的起源 说到Linux[/ˈlɪnəks/],想必大家也会自然而然地想到他的创始人——被称为“Linux之父”的林纳斯·托瓦兹(Linus Torvalds).其实,在Linux出现之前,还 ...

  8. 九度OJ 1453 Greedy Tino -- 动态规划

    题目地址:http://ac.jobdu.com/problem.php?pid=1453 题目描述: Tino wrote a long long story. BUT! in Chinese... ...

  9. shell脚本修复MySQL主从同步

    发布:thebaby   来源:net     [大 中 小] 分享一例shell脚本,用于修改mysql的主从同步问题,有需要的朋友参考下吧. 一个可以修改mysql主从同步的shell脚本. 例子 ...

  10. oracle 查看表的定义

    select t.table_name 表名, c.comments 字段名称, t.column_name 字段编码, t.data_type || '(' || to_char(t.data_le ...