为了账号安全,请及时绑定邮箱和手机立即绑定

阿里云RDS Mysql 5.6 ECS自建从库(不锁表,不重启)

标签:
MySQL

注意:你的备份的时间应该在你的binlog保存时间范围内

环境: 
主库: 阿里云RDS Mysql 5.6从库: ECS机器上自建从库  Centos 7.4
  • setp 1 在阿里云RDS后台建立只读权限账号

  • setp 2 使用RDS自带的备份功能,进行物理备份,并恢复到ECS机器

参考链接:
备份: https://help.aliyun.com/document_detail/26206.html恢复: https://help.aliyun.com/knowledge_detail/41817.html
  • setp 3 修改/etc/my.cnf

[mysqld]
datadir=/opt/mysql-data ## 指定数据文件,根据setp 2的恢复操作basedir=/opt/mysqlinnodb_checksum_algorithm=innodb
innodb_data_file_path=ibdata1:200M:autoextend
innodb_log_files_in_group=2innodb_log_file_size=572864000innodb_undo_directory=.
innodb_undo_tablespaces=0server-id               =  723456789   ## 这里只需要跟主库不一样就行了  log_bin                 =  /opt/mysql-binlog/mysql-bin.log
expire_logs_days        =  7max_binlog_size         =  100M
replicate-do-db         =  test     ## 此处为需要同步的库replicate-ignore-db     =  mysql   ## 此处为不需要同步的库gtid_mode=on
enforce_gtid_consistency=on
binlog_format=row                                     ## 阿里云RDS开启ROW(默认就是)relay_log=/opt/mysql-relay-data/relay.log
log-slave-updates=1
  • setp 4 启动mysql

可能会遇到的问题:
[ERROR] Error creating master info: Error removing old repository.
[ERROR] Failed to create or recover replication info repository.
解决:use mysqldrop table mysql.innodb_index_stats;
 drop table mysql.innodb_table_stats;
 drop table mysql.slave_master_info;
 drop table mysql.slave_relay_log_info;
 drop table mysql.slave_worker_info;
source /opt/mysql/share/mysql_system_tables.sql
  • setp 5 查看备份的gtid

在具体的数据目录(就是你恢复备份的文件夹)
/opt/mysql-data/xtrabackup_info
找到以下这行,取最后一条 c619dfe7-04aa-11e8-dbf4-6c92bf3fe77d:1-325898712,
e3f32949-04ac-11s8-bbw5-0425c5dcs34b:1-207283


binlog_pos = filename 'mysql-bin.001477', position 87871098, GTID of the last change 'c619dfe7-04aa-11e8-dbf4-6c92bf3fe77d:1-325898712,
e3f32949-04ac-11s8-bbw5-0425c5dcs34b:1-207283'
  • setp 6 配置从库

进入mysql
reset slave;
reset master;
change master to master_auto_position=1;
SET @@GLOBAL.GTID_PURGED='c619dfe7-04aa-11e8-dbf4-6c92bf3fe77d:1-325898712,
e3f32949-04ac-11s8-bbw5-0425c5dcs34b:1-207283';
change master to master_host = 'RDS地址' ,master_port = 3306, master_user = 'RDS用户',master_password='RDS密码';

启动slave



作者:运维小吴
链接:https://www.jianshu.com/p/e4345207e82b


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消