使用阿里云ECS自建RDS MySQL从库
来源:互联网 发布:如何使用万方数据库 编辑:程序博客网 时间:2024/05/22 12:51
友情提示:安装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.rpmrpm -ivh percona-release-0.1-4.noarch.rpmyum -y install percona-xtrabackup-24
2.登录阿里云管理控制台,点击左侧边栏的云数据库RDS版
,点击管理
。
3.点选备份恢复
,而后点击下载
。
4.点击复制内网地址
。若打算作为从库的ECS主机和RDS不在同一个区域则点击复制外网地址
。
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.登录阿里云管理控制台,点击账号管理
,而后点击页面中的创建账号
。
13.按照提示填写相关内容,复制账号只需只读权限即可,填写完后,点击确定
按钮。
14.点击数据安全性
,选择修改
。
15.添加ECS从机的IP地址至组内白名单
,IP地址使用英文逗号分隔。
16.登录MySQL终端,清理复制关系表数据。
TRUNCATE TABLE mysql.slave_relay_log_info;TRUNCATE TABLE mysql.slave_master_info;
17.从库配置文件my.cnf
添加以下内容或者替换已有参数后重启。/etc/init.d/mysqld restart
重启服务开启GTID模式。
master-info-repository=filerelay-log-info_repository=filebinlog-format=ROWgtid-mode=onenforce-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
则表明主从复制状态正常。
- 使用阿里云ECS自建RDS MySQL从库
- 阿里云RDS与ECS服务器数据库做主从 [精]
- 阿里云(ECS+RDS)部署PHP+MySQL网站初探
- 从运维的角度分析使用阿里云数据库RDS的必要性--你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库
- 阿里云DMS添加ECS自建数据库
- 阿里云RDS数据库从库搭建
- 记一次从阿里云的rds恢复备份数据到自建数据库
- 【阿里云RDS】从本地MySQL迁移到RDS for MySQL
- 阿里云ECS服务切换云数据库RDS
- 阿里云ECS+RDS+OCS低成本提升系统性能
- 关于阿里云ECS与数据库SQL SERVER RDS
- 阿里云ECS使用
- 阿里云ECS服务器自建数据库的一些坑
- 阿里云 ECS 安装 MySQL
- 从自建服务器到选择阿里云
- 【阿里云】 RDS 数据库与 ECS 服务器协同工作 初体验
- 阿里云ECS服务器之tomcat安装,并部署测试war,测试RDS
- 阿里云产品 ECS、RDS、CDN、OCS、OSS、ACE、SLB介绍
- soap-ws 获取wsdl中所有方法 (三)
- Twitter开源软件列表
- 【matlab】如何产生特定格式的随机数,并保存结果
- 打印全排列数字
- Android 监听器2
- 使用阿里云ECS自建RDS MySQL从库
- laravel发送邮件
- AJAX编程技巧:在页面上中如何将受到的xml文件显示为表格的形式?
- java学习3
- 【2016 Esri全球用户大会主题看点】_可视化&分析APP—Insights for ArcGIS
- iOS 键盘
- OAUTH协议简介
- CSS :hover 伪类
- 集合中的子集(三种方法)