使用 RDS for MySQL 配置到自建数据库的主从复制

简介: 场景 出于数据容灾、ETL、异地数据访问等目的,可能需要基于 RDS for MySQL 实例,搭建到自己线下MySQL实例的主从复制。这篇文章将给出简单的操作步骤,供大家参考。由于要使用GTID特性,因此要求MySQL版本>=5.6. 前提条件 操作步骤 配置主实例 登录 RDS 控制台

场景

出于数据容灾、ETL、异地数据访问等目的,可能需要基于 RDS for MySQL 实例,搭建到自己线下MySQL实例的主从复制。这篇文章将给出简单的操作步骤,供大家参考。由于要使用GTID特性,因此要求MySQL版本>=5.6.

前提条件

操作步骤

配置主实例

  1. 登录 RDS 控制台,选择目标实例。
  2. 配置从实例读取数据使用的只读账号和授权数据库。
  3. 将从实例的 IP 地址加入主实例的 IP 白名单中

    如果从实例是部署在同一地域的 ECS 上,仅需配置该 ECS 的内网地址即可。
    
  4. 登录主实例
  5. 查询主实例的 server-id

    # show variables like '%server_id%';
    
    系统返回如下信息:
    
    +-------------------------+-----------------+
    | Variable_name           | Value           |
    +-------------------------+-----------------+
    | server_id               | 2657086497      |
    | server_id_bits          | 32              |
    +-------------------------+-----------------+

配置从实例

  1. 安装 MySQL 从实例。

    MySQL 安装包和安装方法请参见 MySQL 官方安装文档

  2. 停止从实例 mysql 服务。

    # service mysql stop
  3. 修改从实例 mysql 配置文件。

    1. 打开从实例 MySQL 配置文件。
    # vim /etc/my.cnf
    1. 配置从实例的 server-id 和要同步的数据库。
    server-id               =  123456789              //服务 ID,主从实例 server-id 需不同。
    log_bin                 =  /var/log/mysql/mysql-bin.log
    expire_logs_days        =  10
    max_binlog_size         =  100M
    replicate-do-db         =  exampledb                //需要同步的数据库
    replicate-ignore-db     =  mysql                  //不需要同步的数据库
    replicate-ignore-db     =  information_schema     //不需要同步的数据库
    replicate-ignore-db     =  performance_schema     //不需要同步的数据库
    1. 配置 GTID 同步模式,binlog 格式为 row,以兼容主实例。
    #GTID
    gtid_mode=on
    enforce_gtid_consistency=on
    binlog_format=row                             //设置 binlog 为 row
    log-slave-updates=1
    1. 执行如下命令,查看 binlog 配置结果。
    # show variables like '%binlog_format%';

    系统返回如下信息:

    +-------------------------+-----------------+
    | Variable_name           | Value           |
    +-------------------------+-----------------+
    | binlog_format           | ROW             |
    +-------------------------+-----------------+
  4. 将主实例数据全量同步到从实例。

    本例以 mysqldump 工具为例。

    # mysqldump -uname -hmasterhost.mysql.rds.aliyuncs.com -p --databases exampledb > exampledb.sql
    # mysqldump -uname -p < exampledb.sql
  5. 登录数据库,设置同步选项。

    mysql>change master to master_host = 'masterhost.mysql.rds.aliyuncs.com', master_port = 3306, master_user = 'catest', master_password='masterpassword', master_auto_position = 1;
  6. 启动从实例。

    mysql>slave start;
  7. 检查同步结果。

    mysql>show slave statue\G

    查看系统返回信息中 Slave_IO_RunningSlave_SQL_Running 的状态是否为 Yes,如下所示。

     Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
阿里云RDS云数据库全解析:产品功能、收费标准与活动参考
与云服务器ECS一样,关系型数据库RDS也是很多用户上云必买的热门云产品之一,阿里云的云数据库RDS主要包含RDS MySQL、RDS SQL Server、RDS PostgreSQL、RDS MariaDB等几个关系型数据库,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,帮助您解决数据库运维的烦恼。本文为大家介绍阿里云的云数据库 RDS主要产品及计费方式、收费标准以及活动等相关情况,以供参考。
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
780 152
|
3月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
3月前
|
SQL 关系型数据库 MySQL
Mysql数据恢复—Mysql数据库delete删除后数据恢复案例
本地服务器,操作系统为windows server。服务器上部署mysql单实例,innodb引擎,独立表空间。未进行数据库备份,未开启binlog。 人为误操作使用Delete命令删除数据时未添加where子句,导致全表数据被删除。删除后未对该表进行任何操作。需要恢复误删除的数据。 在本案例中的mysql数据库未进行备份,也未开启binlog日志,无法直接还原数据库。
|
SQL Java 数据库连接
MySQL---数据库从入门走向大神系列(十五)-Apache的DBUtils框架使用
MySQL---数据库从入门走向大神系列(十五)-Apache的DBUtils框架使用
417 0
MySQL---数据库从入门走向大神系列(十五)-Apache的DBUtils框架使用
|
SQL 关系型数据库 MySQL
MySQL---数据库从入门走向大神系列(六)-事务处理与事务隔离(锁机制)
MySQL---数据库从入门走向大神系列(六)-事务处理与事务隔离(锁机制)
261 0
MySQL---数据库从入门走向大神系列(六)-事务处理与事务隔离(锁机制)
|
存储 SQL 关系型数据库
MySQL---数据库从入门走向大神系列(五)-存储过程
MySQL---数据库从入门走向大神系列(五)-存储过程
265 0
MySQL---数据库从入门走向大神系列(五)-存储过程
|
数据库
MySQL---数据库从入门走向大神系列(四)-子查询、表与表之间的关系(3)
MySQL---数据库从入门走向大神系列(四)-子查询、表与表之间的关系
313 0
MySQL---数据库从入门走向大神系列(四)-子查询、表与表之间的关系(3)
|
SQL 关系型数据库 MySQL
MySQL---数据库从入门走向大神系列(二)-用Java对MySQL进行增删改查
MySQL---数据库从入门走向大神系列(二)-用Java对MySQL进行增删改查
317 0
MySQL---数据库从入门走向大神系列(二)-用Java对MySQL进行增删改查
|
数据库
MySQL---数据库从入门走向大神系列(一)-基础入门(2)
MySQL---数据库从入门走向大神系列(一)-基础入门(2)
220 0
MySQL---数据库从入门走向大神系列(一)-基础入门(2)

推荐镜像

更多