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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 友情提示:安装MySQL软件步骤本文暂不介绍,安装完MySQL无需着急初始化数据库和启动服务。只需确保安装的MySQL版本不低于阿里云RDS MySQL版本,同时提前新建运行MySQL服务的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版,点击管理。
image

3.点选备份恢复,而后点击下载。
image

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

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.登录阿里云管理控制台,点击账号管理,而后点击页面中的创建账号。

image

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

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

image

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

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则表明主从复制状态正常。
选择服务器钱大家可以提前领取优惠劵

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
11天前
|
关系型数据库 MySQL
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
34 5
|
12天前
|
SQL DataWorks 关系型数据库
阿里云 DataWorks 正式支持 SelectDB & Apache Doris 数据源,实现 MySQL 整库实时同步
阿里云数据库 SelectDB 版是阿里云与飞轮科技联合基于 Apache Doris 内核打造的现代化数据仓库,支持大规模实时数据上的极速查询分析。通过实时、统一、弹性、开放的核心能力,能够为企业提供高性价比、简单易用、安全稳定、低成本的实时大数据分析支持。SelectDB 具备世界领先的实时分析能力,能够实现秒级的数据实时导入与同步,在宽表、复杂多表关联、高并发点查等不同场景下,提供超越一众国际知名的同类产品的优秀性能,多次登顶 ClickBench 全球数据库分析性能排行榜。
|
16天前
|
关系型数据库 MySQL
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
25 1
|
28天前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
29天前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
25 2
|
1月前
|
网络协议 Unix Linux
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
|
29天前
|
弹性计算 JSON 关系型数据库
使用ROS模板基于ECS和RDS创建WordPress环境
使用ROS模板基于ECS和RDS创建WordPress环境
|
1月前
|
Oracle 关系型数据库 MySQL
shell获取多个oracle库mysql库所有的表
请注意,此脚本假设你有足够的权限访问所有提到的数据库。在实际部署前,请确保对脚本中的数据库凭据、主机名和端口进行适当的修改和验证。此外,处理数据库操作时,务必谨慎操作,避免因错误的脚本执行造成数据损坏或服务中断。
39 0
|
6天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
20 4
|
4天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
13 1