MySQL实例的双向同步
所有文档
menu

数据传输服务 DTS

MySQL实例的双向同步

产品详情自助选购

概览

本文主要介绍通过DTS数据迁移功能进行MySQL实例间的双向同步。

需求场景

适用于异地多活或异地容灾场景,用户可使用百度智能云数据传输服务DTS,将云数据库 MySQL 实例或者自建 MySQL 数据库实例的数据,迁移到云数据库 MySQL 实例或者自建 MySQL 数据库实例中。

方案概述

前置条件

  1. 已创建源端和目标端RDS MySQL实例。
  2. binlog_format已经开启ROW模式。
  3. 双向同步任务仅支持有主键表迁移。
  4. 双向同步支持所有DML(Insert/Update/Delete)和部分DDL语法的同步。支持的DDL语句如下:

    • CREATE DATABASE、CREATE INDEX、CREATE TABLE、CREATE PROCEDURE、CREATE FUNCTION、CREATE VIEW
    • ALTER TABLE、ALTER VIEW、ALTER FUNCTION、ALTER PROCEDURE
    • DROP FUNCTION、DROP INDEX、DROP PROCEDURE、DROP TABLE、DROP VIEW
    • RENAME TABLE、TRUNCATE TABLE

为了保证双向同步链路的稳定性,所有表的DDL更新只能在其中一个同步方向进行。

迁移要求

实例要求

源端和目标端MySQL实例应为不同实例,不支持同实例间的迁移。

版本要求

建议源端和目标端数据库版本保持一致,避免可能存在的数据库兼容性问题。

迁移限制

  1. 若为增量同步任务,DTS要求源库的本地Binlog日志保存24小时以上,如为全量同步和增量同步任务,DTS要求源数据库的本地Binlog日志至少保留7天以上,以避免DTS因无法获取Binlog而导致任务失败的可能,极端情况下甚至出现数据不一致或丢失。
  2. 为保障同步数据的一致性,业务需要确保同一个主键、业务主键或唯一键的记录只在双向同步的一个节点进行更新。
  3. 不支持在源端和目标端使用触发器。

操作步骤

  1. 登录百度智能云访问控制台,购买数据迁移实例。
  2. 点击「配置任务」按钮,开始对实例进行迁移任务的配置。
  3. 根据需要填写「任务名称」;在「源库信息」和「目标库信息」中,选择不同MySQL实例作为源端和目标端。

    image.png

  4. 点击「授权白名单进入下一步」按钮,继续配置迁移类型及库表。

image.png

  1. 设置完成后,点击「保存并预检查」开始预检查,稍等片刻,页面显示任务校验成功。

image.png

  1. 点击「立即开启任务」按钮或者返回列表点击操作列「启动」按钮即可启动任务。

image.png

若正向子任务包含了结构和全量迁移,那么启动主任务时只能启动正向子任务;待正向任务运行到增量阶段,用户才可启动反向子任务。

相关产品

云数据库 RDS:专业、高性能、高可靠的关系型数据库

上一篇
获取主账号ID
下一篇
业务切换流程