RDS主库、ECS自建mysql GTID 主从

这里困扰了自己很久,写下来望有缘人看到节约一点时间

现在公司的线上用的mysql数据库,是购买的阿里云的RDS for mysql 服务,由于有服务需要读取mysql的bin-log,并且基于RDS的只读实例的bin-log不保证正确,所以自己搭建ECS从库,注意从库必须配置

binlog-format=ROW #为别的服务提供binlog
server_id=999 #避免server_id 跟master相同

gtid-mode=ON #开启gtid模式
log-slave-updates #这里作为中转需要此参数,如需深入了解,情况官档
enforce-gtid-consistency = ON #强制GTID的一致性

1、通过RDS数据备份,拉取全量备份
wget -c ‘<数据备份文件内网网下载地址>‘ -O full.tar.gz

2、用阿里提供的解压脚本(rds_backup_extract.sh)解压下载好的文件 full.tar.gz

3、用 innobackupex --defaults-file=/etc/my.cnf --apply-log /data_of_mysql 恢复

4、指定datadir,重启mysql,修改用户密码;

5、报这个错时,Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in the MySQL error log.
删除如下五个表,并重启mysql

use mysql
drop table slave_master_info;
drop table slave_relay_log_info;
drop table slave_worker_info;
drop table innodb_index_stats;
drop table innodb_table_stats;

6、根据 xtrabackup_slave_info中的第一行,设定 SET GLOBAL gtid_purged=‘‘

7、设定master信息,
change master to master_host=‘RDS_URL‘,
master_port=3306,
master_user=‘mysql_username‘,
master_password=‘Passwd‘,
master_auto_position=1;

原文地址:http://blog.51cto.com/liqilong2010/2169927

时间: 2024-07-31 23:49:22

RDS主库、ECS自建mysql GTID 主从的相关文章

阿里云RDS与ECS自建库搭建主从复制

前言 最近尝试在阿里云RDS与ECS自建库之间搭建主从复制,主要是想用于备份数据,所以对于同步一致性要求不是很高.模拟了几次,遇到的一些坑记录在这里,使用的是基于GTID的主从服务,关于GTID: MySQL GTID是在传统的mysql主从复制的基础之上演化而来的产物,即通过UUID加上事务ID的方式来确保每一个事物的唯一性.这样的操作方式使得我们不再需要关心所谓的log_file和log_Pos,只是简单的告诉从库,从哪个服务器上去找主库就OK了.简化了主从的搭建以及failover的过程,

RDS mysql 与ECS自建mysql做主从备份

由于公司要组建一个数据中心,简而言之就是把各个地方的数据都同步到一个地方,做BI建模和数据分析. 一般来说这种需求是由hadoop来实现的,但由于预算不够..所以,来个low点的办法吧 以下主要是讲rds与mysql主从的搭建 通常来讲,mysql主从分为binlog主从,gtid模式的主从,我这篇主要是讲GTID的主从部署模式(当然里面也是需要binlog的) 1.在ECS上搭建mysql(这块不需要说多少了吧,配置好第三方yum源,直接yum installvim /etc/my.cnf [

基于阿里云RDS创建ECS自建从库

使用阿里云ECS自建RDS MySQL从库 友情提示:安装MySQL软件步骤本文暂不介绍,安装完MySQL无需着急初始化数据库和启动服务.只需确保安装的MySQL版本不低于阿里云RDS MySQL版本,同时提前新建运行MySQL服务的mysql系统用户.出于安全,部分内容已打马赛克.采用何种模式做主从由RDS MySQL版本决定.本文主要使用RDS MySQL 5.6版作为样例说明,使用新的GTID模式做主从.5.5版配置主从更加简单,前15步操作一样,没有16.17步操作,18步使用binlo

使用阿里云ECS自建RDS MySQL从库

友情提示:安装MySQL软件步骤本文暂不介绍,安装完MySQL无需着急初始化数据库和启动服务.只需确保安装的MySQL版本不低于阿里云RDS MySQL版本,同时提前新建运行MySQL服务的mysql系统用户.出于安全,部分内容已打马赛克.采用何种模式做主从由RDS MySQL版本决定.本文主要使用RDS MySQL 5.6版作为样例说明,使用新的GTID模式做主从.5.5版配置主从更加简单,前15步操作一样,没有16.17步操作,18步使用binlog文件和位置的传统模式做主从,修改对应SQL

配置ECS上自建MySQL作为RDS从库过程中踩到的坑

环境: RDS版本:阿里云的5.6 ECS自建MySQL5.6.34(官方版本) 通过将阿里云rds的自动全量备份下载到ECS上,按照官方的步骤解压--> aploy-log ---> mv 到mysql的datadir 并启动mysql. 然后执行 reset slave all; reset master; change master to master_host='rm-xxxxxxxxx.mysql.rds.aliyuncs.com', master_user='rpl', maste

MySQL GTID (一)

MySQL GTID 系列之一 一.GTID相关概念 GTID:全局事务标识符,MySQL5.6版本开始在主从复制中推出的重量级特性. 每提交一个事务,当前执行线程都会拿到一个给定复制环境中唯一的GTID, GTID的格式如下: GTID = source_id:sequence_id sourceid:主服务器的唯一标识,通常用server_uuid来表示. sequence_id:事务提交时由系统顺序分配的序列号,在Binlog中是递增且连续有序. show master status \G

【转】MySQL数据库主从同步管理

MYSQL主从同步架构是目前使用最多的数据库架构之一,尤其是负载比较大的网站,因此对于主从同步的管理也就显得非常重要,新手往往在出现主从同步错误的时候不知道如何入手,这篇文章就是根据自己的经验来详细叙述mysql主从的管理. MYSQL主从同步的作用 (1) 数据分布 (2) 负载平衡(load balancing) (3) 备份 (4) 高可用性(high availability)和容错 MYSQL主从同步的原理 关于MYSQL的主从同步,最主要的是要了解MYSQL的主从同步是如何工作的也即

如何快速解决MySQL 1032 主从错误

3分钟解决MySQL 1032主从错误 Part1:写在最前1032错误----现在生产库中好多数据,在从库误删了,生产库更新后找不到了,现在主从不同步了,再跳过错误也没用,因为没这条,再更新还会报错 解决方案 Part1:临时方案 mysql> stop slave;Query OK, 0 rowsaffected (0.00 sec) mysql> set global sql_slave_skip_counter=1;Query OK, 0 rowsaffected (0.00 sec)

MySQL数据库主从同步配置

Mysql主从安装配置 环境: 主从服务器上的MySQL数据库版本同为5.1.34 主机IP:192.168.0.1 从机IP:192.168.0.2 一. MySQL主服务器配置 1.编辑配置文件/etc/my.cnf # 确保有如下行 server-id = 1 log-bin=mysql-bin binlog-do-db=mysql  #需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可 binlog-ignore-db=mysql  #不需要备份的数据库名,如果备份多个数据库,