zoukankan      html  css  js  c++  java
  • 17.2.2 Replication Relay and Status Logs 复制relay 和状态日志

    17.2.2 Replication Relay and Status Logs 复制relay 和状态日志

    17.2.2.1 The Slave Relay Log
    17.2.2.2 Slave Status Logs

    在复制过程中, slave server 创建几个日志,保留binary log events 从master到slave,

    记录关于当前状态和位置信息 关于relay log, 这里有3类日志,在这里列出:

    relay log 有从master 读取的binary log 和 slave I/O thread 写入的events组成,

    relay log 中的events 被SQL thread 执行。

    master info 记录了 状态和当前配置信息用于slave连接到master 的内容。

    这个log 保留关于master 的host name,登录认证,和位置标明slave 从master 的binary log读取信息的程度。

    在MySQL 5.6之前,log 总是一个文件(master.info) ,但是在MySQL 5.6以后,

    log 可以被写入到mysql.slave_master_info table代替文件,通过启动带 –master-info-repository=TABLE.

    relay log 信息 保留状态信息关于slave relay log的执行点。

    MySQL 5.6之前, log总是一个文件(relay-log.info),但是在MySQL 5.6以后,

    这个log 可以写入到mysql.slave_relay_log_info table代替文件 通过设置 –relay-log-info-repository=TABLE.

    Crash-safe 复制, 为了复制能crash-safe 当使用表来记录状态和relay 信息,

    这些表必须是事务表。

    在MySQL 5.6.6开始,这些表是InnoDB表。

    因此, 为了保证在slave上crash safety,你必须运行slave带–relay-log-recovery,

    此外还要设置 –relay-log-info-repository为表

    relay_log_info_repository = TABLE
    master_info_repository = TABLE
    relay_log_recovery = 1

    MySQL 5.6.6之前, 如果mysqld 无法初始化复制记录到表,slave拒绝启动。

    在MySQL 5.6.6之后,会给出一个警告, 但是slave会继续运行。

    在MySQL 5.6.5和更早的版本中, slave_master_info and slave_relay_log_info表默认使用

    MyISAM, 这意味着 在你开始复制前 需要改变表的存储引擎:

    ALTER TABLE mysql.slave_master_info ENGINE=InnoDB;
    ALTER TABLE mysql.slave_relay_log_info ENGINE=InnoDB;

    注意:

    不要试图手动更新或者插入记录到slave_master_info or slave_relay_log_info table,

    这么做会导致异常行为。

  • 相关阅读:
    jQuery的动画以及扩展功能
    yii2 redirect重定向
    nvaicat mysql ssh 跳板机(堡垒机???)连接服务器
    Linux下Redis的安装
    深入理解PHP的运行模式
    thinkphp5 如何监听sql?
    thinkphp5 如何使用查询事件?
    layui laydate is not defined
    CSS 实现图片灰度效果 兼容各种浏览器
    PHP基础学习----函数
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351315.html
Copyright © 2011-2022 走看看