管理只读实例延迟复制

最后更新时间:2021-08-30 19:30:34

    本文为您介绍如何通过 MySQL 控制台设置只读实例延迟复制和启动/停止复制。您可通过设置延迟复制(即只读实例与主实例间的延迟)以及在延迟期间选择启动恢复到指定时间或 GTID(全局事务标识),来实现高效回档数据和故障快速回溯。

    • 延迟复制:支持用户设置只读实例与主实例间的延迟复制时间。
    • 启动/停止复制:支持用户手动启动或停止只读实例与主实例间的数据同步。

    延迟复制说明

    • 只读实例开启延时复制后,只读实例会被剔除出只读组且权重设置为0,同时触发只读实例被剔除的告警。此时使用只读组 VIP 地址访问时,流量不会转发到被剔除的只读实例上,仅能使用只读实例的 VIP 地址进行访问。
    • 若只读组开启了延迟剔除功能,当只读实例关闭延时复制后,仅只读实例的延迟时间小于只读组的延迟阈值时,才会恢复只读实例的权重,权重恢复的同时,会触发只读实例剔除恢复的告警。
    • 启动数据复制至指定位置期间,不能同时进行重启、调整配置、版本升级、升级内核小版本操作。

    开启延迟复制

    说明:

    只读实例“延迟复制”默认为“不开启”,开启后会显示延迟复制时间。

    1. 登录 MySQL 控制台,在实例列表,单击实例 ID 或“操作”列的【管理】,进入实例详情页。
    2. 在实例详情页的“延迟复制”处,单击【开启】。
    3. 在弹出的对话框,设置延迟时间后,单击【确定】。
      说明:

      延迟时间范围值为:1秒 - 3600 * 24 * 3秒。

    修改延迟复制

    1. 登录 MySQL 控制台,在实例列表,单击实例 ID,进入实例详情页。
    2. 在实例详情页的“延迟复制”处,单击【修改】。
    3. 在弹出的对话框,设置延迟时间后,单击【确定】。

    关闭延迟复制

    1. 登录 MySQL 控制台,在实例列表,单击实例 ID,进入实例详情页。
    2. 在实例详情页的“延迟复制”处,单击【关闭】。
    3. 在弹出的对话框,确认无误后,单击【确定】。
      说明:

      关闭延迟复制,则延迟复制时间将为0秒,即只读实例与主实例之间将恢复数据的实时同步。

    启动数据复制

    说明:

    只读实例“复制状态”默认为“正常”,若用户设置了延迟复制,且在延迟复制的时间段内误删除数据,可通过误操作时的位置与 GTID,将只读实例复制到二进制日志文件位置或 GTID 之前,进而实现快速恢复数据的功能。

    1. 登录 MySQL 控制台,在实例列表,单击实例 ID,进入实例详情页。
    2. 在实例详情页下方的“复制状态”处,单击【启动】。
    3. 在弹出的对话框,选择启动方式等,单击【确定】。
      • 正常启动:启动复制后,只读实例恢复与主实例的数据同步。
      • 启动复制到指定位置:支持启动到具体时间点和对应 GTID,恢复到具体时间点或对应 GTID 后,只读实例后续将会停止复制直至切换为正常启动方式,才会继续进行复制。
        • 时间:可选时间范围为停止复制时间到主库当前时间的时间段。
        • GTID:可选范围为只读实例未完成应用的二进制日志之后的所有日志。实例 server_uuid 长度是规定的且均为36位,GTID 格式须为server_uuid::transaction_id
          注意:

          • 若输入的二进制日志位置已在只读实例应用或者大于主实例的位点,会导致启动复制失败。
          • 启动复制时,若有二进制日志存在断点,会导致启动复制失败。
          • 避免因延迟只读实例停止复制过程,导致只读实例磁盘空间超用,只读实例磁盘容量小于5GB时,暂停只读实例的 IO 线程。

    停止数据复制

    说明:

    • 仅开启了延迟复制功能,才允许操作停止复制功能,反之则“停止”按钮为不可用状态。
    • 停止复制后同时停止 io/sql 线程。
    1. 登录 MySQL 控制台,在实例列表,单击实例 ID,进入实例详情页。
    2. 在实例详情页下方的“复制状态”处,单击【停止】。
    3. 在弹出的对话框,确认无误后,单击【确定】。

    热点问题

    如何获取 GTID?

    建议您通过执行 flush log 命令获取 binlog 文件,来定位误操作时的位置和 GTID。

    如何查看延迟时间?

    您可通过 控制台 的实例详情页,查看只读实例与主实例的延迟时间。

    如何查看启动复制到指定位置的任务信息?

    您可通过 控制台 的任务列表页,查看任务的进度和详情等。