17.2.2.1 The Slave Relay Log Slave中继日志
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中继日志的更多相关文章
- 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 ...
- 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 ...
- 【故障处理】ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
今天在使用冷备份文件重做从库时遇到一个报错,值得研究一下. 版本:MySQL5.6.27 一.报错现象 dba:(none)> start slave; ERROR (HY000): Slave ...
- Slave SQL_THREAD如何重放Relay log
复制的介绍: 根据日志定义的模式不一样,可以分为:Statement(SBR)模式,Row(RBR)格式或者是MIXED格式,记录最小的单位是一个Event,binlog日志前4个字节是一个magic ...
- 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_ ...
- MySQL复制报错(Slave failed to initialize relay log info structure from the repository)
机器重启以后,主从出现了问题,具体报错信息: Slave failed to initialize relay log info structure from the repository 解决方案: ...
- 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 ...
- 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 在一台主机上增加 ...
- 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 ...
随机推荐
- java 静态方法
在使用java的时候,你会发现,有些对象,需要new ,有些则不需要时,比如Math类 ); 如果你查看源码就会大致的发现,里面的属性和方法都是静态的: public static double si ...
- json 转对象
架包: import com.alibaba.fastjson.JSON; String arryStr="[{\"Name\": \"A\", \& ...
- java基础加强
一.泛型 Generic 1.集合泛型: 在没有泛型之前,集合中存入的数据,类型就会丢失掉,在取出数据时,需要做强制类型转换,就有转换失败的风险,而这种风险,在编译阶段是没有办法检查出来的 引入泛型后 ...
- Android Toast 设置到屏幕中间,自定义Toast的实现方法,及其说明
http://blog.csdn.net/wangfayinn/article/details/8065763 Android Toast用于在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失. ...
- MVC小系列(十一)【Html.BeginForm与Ajax.BeginForm】
Html.BeginForm与Ajax.BeginForm都是mvc的表单元素,前者是普通的表单提交,而后者是支持异步的表单提交,直接用mvc自带的Ajax.BeginForm就可以很容易完成一个异步 ...
- linux下源码安装软件
在linux下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包 ...
- Oracle hextoraw和rawtohex
Oracle hextoraw和rawtohex [日期:2012-07-17] 来源:Linux社区 作者:adrain_001 [字体:大 中 小] HEXTORAW 语法: HEXT ...
- Autolayout的在storyboard警告和错误
警告 控件的frame不匹配所添加的约束, 比如比如约束控件的宽度为100, 而控件现在的宽度是110 错误 缺乏必要的约束, 比如只约束了宽度和高度, 没有约束具体的位置 两个约束冲突, 比如 1个 ...
- javascript 去除字符串中重复字符
/** * 去除字符串中重复的字符,以下提供2种方法, * removeRepeat()为自己所想: * removeRepeat2()参考网上思路补充的 * removeRepeat3()敬请期待· ...
- Linux下Docker安装
1 在 CentOS 6.4 上安装 docker docker当前官方只支持Ubuntu,所以在 CentOS 安装Docker比较麻烦(Issue #172). docker官方文档说要求 ...