开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

使用阿里云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语句即可,这里就不多加说明了。

1.阿里云使用了开源的Percona Xtrabackup工具对RDS MySQL做全量物理备份。使用阿里云ECS自建从库仍然需要使用该工具导入全量备份数据。为了解决安装时遇到的包依赖问题,推荐使用yum安装Percona Xtrabackup,建议安装最新版

wget https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm
rpm -ivh percona-release-0.1-4.noarch.rpm
yum -y install percona-xtrabackup-24


2.登录阿里云管理控制台,点击左侧边栏的云数据库RDS版,点击管理

wKioL1d1yBPy50Z7AALg-eYXCN8930.png


3.点选备份恢复,而后点击下载 
wKiom1d1yCjQTe4dAAPy5R0g5nw097.png


4.点击复制内网地址。若打算作为从库的ECS主机和RDS不在同一个区域则点击复制外网地址 
wKioL1d1yDyR09BvAAGtElfWzP4307.png


5.登录ECS下载备份,备份地址URL含有特殊关键字符,直接使用wget工具下载报403错误,需要使用英文单引号括起来。若备份较大可以使用screen工具后台运行下载任务。

wget -c '备份地址URL' -O full.tar.gz


6.下载阿里备份专属解压脚本。

wget 'http://oss.aliyuncs.com/aliyunecs/rds_backup_extract.sh?spm=5176.775973700.0.0.n9b8wj&file=rds_backup_extract.sh' -O rds_backup_extract.sh


7.解压备份至指定目录。

bash rds_backup_extract.sh -f full.tar.gz -C 目录


8.应用日志,目录为第7步指定目录,当运行结果最后一行显示completed OK!,则表明操作成功。

innobackupex --apply-log 目录


9.将解压文件backup-my.cnf所有内容添加至对应MySQL配置文件my.cnf中,若配置冲突,使用backup-my.cnf内容替换my.cnf同名参数值。目录为第7步指定目录。

cat 目录/backup-my.cnf


10.拷贝或移动完成应用日志操作的已解压备份至MySQL数据目录,需my.cnf添加datadir参数指定,--copy-back参数为拷贝,--move-back参数为移动。目录为第7步指定目录,若第7部指定的目录即为MySQL数据目录,则无需此步操作。

innobackupex --defaults-file=/etc/my.cnf --move-back 目录


11.修改MySQL数据目录权限并启动MySQL。

chown -R mysql:mysql 数据目录
/etc/init.d/mysqld start


12.登录阿里云管理控制台,点击账号管理,而后点击页面中的创建账号 
wKiom1d1yFbj_63vAAMo-3_uHHs491.png


13.按照提示填写相关内容,复制账号只需只读权限即可,填写完后,点击确定按钮。

wKioL1d1yQqAzyuoAAMI4olIzLI034.png


14.点击数据安全性,选择修改 

wKioL1d1yTCz92nyAAIjD9fJDHc658.png


15.添加ECS从机的IP地址至组内白名单,IP地址使用英文逗号分隔。 
wKiom1d1yUCCO9y0AADg7Ck67dI653.png


16.登录MySQL终端,清理复制关系表数据。

RESET MASTER;
RESET SLAVE;
TRUNCATE TABLE mysql.slave_relay_log_info;
TRUNCATE TABLE mysql.slave_master_info;
TRUNCATE TABLE mysql.slave_worker_info;


17.从库配置文件my.cnf添加以下内容或者替换已有参数后重启。/etc/init.d/mysqld restart重启服务开启GTID模式。

master-info-repository=file
relay-log-info_repository=file
binlog-format=ROW
gtid-mode=on
enforce-gtid-consistency=true


18.读取第7步指定目录下的xtrabackup_slave_info文件内容,文件1、2行依次对应以下4行SQL语句中的第2、3行,文件第1行无需修改,原样执行。文件第2行,添加内容修改为第3行SQL语句样式。登录MySQL终端依次执行SQL语句。

STOP SLAVE;
SET GLOBAL gtid_purged='49dde677-5827-11e5-8c5c-288023a0e898:1-21409262, 59bc2959-5827-11e5-8c5c-288023a0e9ac:1-8910790';
CHANGE MASTER TO MASTER_HOST='RDS访问地址', MASTER_PORT=3306, MASTER_USER='复制账号', MASTER_PASSWORD='密码', MASTER_AUTO_POSITION=1;
START SLAVE;


19.MySQL终端查询主从复制状态。

SHOW SLAVE STATUS \G

Slave_IO_RunningSlave_SQL_Running两行值都为Yes则表明主从复制状态正常。





      本文转自dongsong1117 51CTO博客,原文链接http://blog.51cto.com/dongsong/1794789:,如需转载请自行联系原作者




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

相关文章
使用阿里云ECS自建RDS MySQL从库
友情提示:安装MySQL软件步骤本文暂不介绍,安装完MySQL无需着急初始化数据库和启动服务。只需确保安装的MySQL版本不低于阿里云RDS MySQL版本,同时提前新建运行MySQL服务的mysql系统用户。
2485 0
学习报告-动手实战-最佳应用实践之使用RDS MySQL和ECS搭建个人博客
- ECS真实操作环境 - Wordpress安装及部署 - Wordpress
185 0
动手实战-最佳应用实践之使用RDS MySQL和ECS搭建个人博客
场景体验完成,简单描述以下实验过程,可以看到wordpress安装配置非常简单。
85 0
RDS MySQL 云原生架构实践
作者:王颜培(感仰) 内容简要: 一、阿里云RDS MySQL简介 二、云原生架构之路 三、后续规划
587 0
RDS for MySQL Online DDL 使用
RDS for MySQL Online DDL 使用   Online DDL 的限制 Online DDL 建议的选项 异常处理 RDS for MySQL 5.6 支持 Online DDL 特性。
5961 0
手动恢复RDS MySQL数据库
有时难免需要恢复数据库到之前某个制定时间点(例如由于SQL误操作并且已经commit导致)。在阿里云控制台,RDS有两种恢复方法,一种是覆盖性恢复,可以为理解通过全量备份覆盖当前数据库,只能选取某个全量备份进行操作;一种是通过创建临时库,可以制定近7天内任意时间点。显然,选择后者相对能将影响降到最.
6062 0
云数据库RDS中的MySQL数据库备份
RDS使用mysqldump对 MySQL 数据库进行逻辑全量备份,使用开源软件Xtrabackup进行物理全量备份,是实例级别的备份。本文主要从原理的角度来介绍MySQL数据库的备份和恢复,让用户更加了解RDS的备份恢复机制。
3685 0
RDS MySQL空间优化最佳实践
在前三期介绍了RDS for MySQL参数优化,锁问题以及延迟优化最佳实践之后,本期将介绍存储空间相关的最佳实践。
8895 0
MySQL · 参数优化 ·RDS MySQL参数调优最佳实践
前言 很多时候,RDS用户经常会问如何调优RDS MySQL的参数,为了回答这个问题,写一篇blog来进行解释: 哪一些参数不能修改,那一些参数可以修改; 这些提供修改的参数是不是已经是最佳设置,如何才能利用好这些参数; 哪些参数可以改 细心的用户在购买RDS的时候都会看到,不同规格能够提
5924 0
21114
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载