MySQL Replication的相关文件
2016-07-21 13:31 abce 阅读(650) 评论(0) 编辑 收藏 举报1.master.info文件
位于slave端的数据目录下,存储slave连接到master的相关信息,如,master主机地址、连接用户、密码、端口、已经获取的日志信息。
复制过程中修改、删除master.info文件,不会中断复制。如果stop slave,然后start slave,可以正常启动起来,因为mysql已经记住了信息;但是当重启mysql时,在start slave,这时重启失败,会提示你change master to
2.relay log
mysql-relay-bin.xxxxxn文件用于存放Slave端的I/O线程从Master端所读取到的Binary Log信息,然后由Slave端的SQL线程从该relay log中读取并解析相应的日志信息,转化成Master所执行的SQL语句,然后在Slave 端应用。
3.relay-log.info文件
类似master.info,存放通过slave的i/o线程写入到本地的relay log的相关信息。供slave端的sql线程以及某些管理操作随时能够获取当前复制的相关信息。
一般情况主从切换后,需要reset slave,清除relay-log.info。
4.mysql-bin.index
记录磁盘上二进制日志文件。MySQL依赖这个文件,除非在这个文件里有记录,否则MySQL识别不了二进制日志文件。
5.mysql-relay-bin-index
中继日志的索引文件
5.6中默认仍然是使用master.info和relay_log.info。同时也引入了新特性:crash-safe slave,可以将复制信息写入到mysql数据库中的表中。
(1)变量master-info-repository 设置为file的时候,还是使用master.info文件;设置为table的时候,就会将master信息写入mysql.slave_master_info表中。
(2)变量relay-log-info-repository 设置为file的时候,还是使用relay-log.info文件;设置为table的时候,就会将信息写入mysql.slave_relay_log_info表中。
这两个表都是myisam引擎表,建议将其修改innodb引擎表:
mysql> stop slave; mysql> alter table mysql.slave_master_info engine=innodb; mysql> alter table mysql.slave_relay_log_info engine=innodb; mysql> start slave;