在ECS上轻松搭建RDS的从实例-阿里云开发者社区

开发者社区> 卓见架构狮> 正文

在ECS上轻松搭建RDS的从实例

简介: 由于一些特殊的原因,某燃气公司线下ECS上需要在ECS上搭建一套从库,需要同步RDS数据库的数据(mysql5.7版本)。实现RDS for mysql与线下ECS上自建数据库数据实时同步,阿里云官方推荐使用DTS方式进行。原因有两个:
+关注继续查看

场景

由于一些特殊的原因,某燃气公司线下ECS上需要在ECS上搭建一套从库,需要同步RDS数据库的数据(mysql5.7版本)。

实现RDS for mysql与线下ECS上自建数据库数据实时同步,阿里云官方推荐使用DTS方式进行。原因有两个:

1、mysql-bin正常情况下,RDS在本地只保存18个小时

2、当RDS实例切换时,会影响自建ECS数据同步(这个经过测试可以排除)

一方面考虑到使用DTS工具会产生不少的费用(长期使用),另一方面,在数据库中一个地区对应一个库,后续业务无法事先规划好库名,此时如果使用dts可能需要购买多个通道,进行配置,比较费时费力且费钱。基于这两个原因的考虑,某燃气公司决定使用搭建主从复制方式来实现数据同步。以下是搭建RDS与ECS主从复制过程

操作步骤

配置RDS主实例

  1. 登录 RDS 控制台,选择目标实例。

    .    配置从实例读取数据使用的只读账号和授权数据库。
    .    将ECS的从实例的 IP 地址加入主实例的 IP 白名单中
    .    登录主实例
    .    查询主实例的 server-id。
    
# show variables like 'server_id';

系统返回如下信息:
+-------------------------+-----------------+
| Variable_name           | Value           |
+-------------------------+-----------------+
| server_id               |678888899909      |
| server_id_bits          | 32              |
+-------------------------+-----------------+

配置ECS上从实例

  1. 安装 MySQL 从实例。
    MySQL 安装包和安装方法,这里略,这里建议安装percona版本的mysql。

停止从实例 mysql 服务。

.    修改从实例 mysql 配置文件。

1)打开从实例 MySQL 配置文件。
vim /etc/my.cnf

.    配置从实例的 server-id 和要同步的数据库。
server-id               =  123456789              
log_bin=/data/dbdata/mysql-bin 
expire_logs_days        =  7
max_binlog_size         =  100M
replicate-ignore-db     =  mysql                  #不需要同步的数据库
replicate-ignore-db     =  information_schema     #不需要同步的数据库
replicate-ignore-db     =  performance_schema     #不需要同步的数据库
replicate-ignore-db     =  sys     #不需要同步的数据库
  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             |
+-------------------------+-----------------+
  1. 将主实例数据全量同步到从实例。
    方式一:通过dts进行数据实时同步

方式二:通过mysqldump进行导出数据库及导入数据
注:这里大家应该比较熟悉,就不详细介绍

.    登录数据库,设置同步选项。
mysql>change master to master_host = 'rds服务地扯', master_port = 3306, master_user = 'root', master_password='masterpassword', master_auto_position = 1;
  1. 启动从实例。
mysql>slave start;
  1. 检查同步结果。
mysql>show slave status\G
查看系统返回信息中 Slave_IO_Running 和 Slave_SQL_Running 的状态是否为 Yes,如下所示。
 Slave_IO_Running: Yes
 Slave_SQL_Running: Yes

注: Slave_IO_Running、Slave_SQL_Running两个参数均为yes,表示IO进程及SQL进程都正常,表示配置RDS主从实例成功。

邮件告警功能

由于mysql-binlog在RDS上正常情况下只保存18个小时,此时必须要对从库及主库状态进行控制,防止从库没有应用日志,RDS主库上的日志就已经删除,这节内容会在下一篇文章中描述。下面会配合lepus监控软件实现邮件告警的功能。

via 卓见云技术服务团队

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
8667 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2852 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
2300 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
12313 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
3751 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
21751 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
6636 0
+关注
卓见架构狮
卓见云专注云计算/大数据方向,致力成为领先的DT应用及技术服务提供商。
4
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载