设为首页 收藏本站
查看: 915|回复: 0

[经验分享] 使用阿里云ECS自建RDS MySQL从库

[复制链接]

尚未签到

发表于 2018-10-1 06:35:04 | 显示全部楼层 |阅读模式
  友情提示:安装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版,点击管理。
   DSC0000.png
  
  3.点选备份恢复,而后点击下载。
DSC0001.png

  
  4.点击复制内网地址。若打算作为从库的ECS主机和RDS不在同一个区域则点击复制外网地址。
DSC0002.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.登录阿里云管理控制台,点击账号管理,而后点击页面中的创建账号。
DSC0003.png

  
  13.按照提示填写相关内容,复制账号只需只读权限即可,填写完后,点击确定按钮。
   DSC0004.png
  
  14.点击数据安全性,选择修改。
DSC0005.png

  
  15.添加ECS从机的IP地址至组内白名单,IP地址使用英文逗号分隔。
DSC0006.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_Running和Slave_SQL_Running两行值都为Yes则表明主从复制状态正常。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-606859-1-1.html 上篇帖子: Mysql交换分区 下篇帖子: mysql读写分离中间件atlas的性能测试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表