RDS数据库和ECS自建数据库主从复制,数据同步

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 设置阿里云RDS和ECS上自建的数据库达成主从分离。

原理和需求就不多说了 直接说实现步骤。

1.登录RDS,增加账号并于账号赋予数据库相应权限,

  1. image

2.登录需要复制的数据库,执行 show master status 查看file和postion的值
image

3.配置你要复制到的从库数据访问权限(数据安全性-添加白名单,就是把你从库的服务器ip添加到白名单)
image
导出一份数据主库数据 导入到从库上,保持主从库的数据库名称和表及数据一致。
4.登录从库服务器,以centos 7为例,设置 vim /etc/my.cnf 文件

log-error=/var/log/mysqld.log
pid-file=/var/lib/mysql/mysqld.pid
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
group_concat_max_len=2000000

server_id=211 #服务器id,不要和主库重复
read_only = 1
replicate-do-db = yiside_bi #需要同步的数据库

replicate-ignore-db = mysql #不需要同步的数据库

replicate-ignore-db = information_schema #不需要同步的数据库

replicate-ignore-db = performance_schema #不需要同步的数据库

binlog_format = ROW
log-bin = mysql-bin #开启二进制日志功能,binlog数据位置
log-bin-index = mysql-bin.index
relay-log = relay-log #relay-log日志记录的是从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件#然后SQL线程会读取relay-log日志的内容并应用到从服务器
relay_log_index = relay-log.index
gtid_mode=on

enforce_gtid_consistency=on #只记录对基于GTID的复制安全
log-slave-updates = 1 #允许下端接入slave
max_allowed_packet=16M
5.重新启动mysql , service mysqld start (启动方法有很多,只要能重新启动就行)

  1. 登录从库 创建用户
    change master to MASTER_HOST='rm-2ze1lm67a...', #主库地址

master_user='yiside_bi', #设置的授权的主库账户
master_password='Yiside_bi', #设置的授权的主库密码
MASTER_LOG_FILE='mysql-bin.000783', #主库的file
MASTER_LOG_POS=636125; #主库的postion
7.命令行登录mysql,mysqld -uroot -p 数据密码

  1. 执行start slave;启动
    9.在执行show slave statusG; 查看状态
  2. Slave_IO_Running: Yes

        Slave_SQL_Running: Yes
        表示设置成功
        
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
27天前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
105 6
|
1天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
13 4
|
25天前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
58 3
Mysql(4)—数据库索引
|
27天前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
64 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
10天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
49 2
|
13天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
56 4
|
19天前
|
存储 关系型数据库 MySQL
如何在MySQL中创建数据库?
【10月更文挑战第16天】如何在MySQL中创建数据库?
|
23天前
|
SQL Oracle 关系型数据库
安装最新 MySQL 8.0 数据库(教学用)
安装最新 MySQL 8.0 数据库(教学用)
96 4
|
21天前
|
存储 SQL 关系型数据库
【入门级教程】MySQL:从零开始的数据库之旅
本教程面向零基础用户,采用通俗易懂的语言和丰富的示例,帮助你快速掌握MySQL的基础知识和操作技巧。内容涵盖SQL语言基础(SELECT、INSERT、UPDATE、DELETE等常用语句)、使用索引提高查询效率、存储过程等。适合学生、开发者及数据库爱好者。
36 0
【入门级教程】MySQL:从零开始的数据库之旅
|
24天前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
20 2