U会员test 扫二维码继续学习二维码时效为半小时

(0评价)
阿里云活动众多怎么选?最实用的阿里云优惠活动推荐
zXXWz0a2发起了问答09-15
0
回复
17
浏览

【阿里云】恭喜您注册成为阿里云会员, 点击立享新人免费云服务器 点此进入阿里云官方云小站

本方案介绍如何将网站的自建数据库迁移至云数据库 RDS,解决您随着业务增长可能会面临的数据库运维难题。数据库采用高可用架构,支持跨可用区容灾,给业务带来数据安全、可用性、性能和成本方面收益。方案提供了快速体验教程,模拟了数据库迁移所需的工作,帮助您快速上手。

体验本方案预计费用不超过3元(假设资源运行时间不超过1小时,如果调整资源规格、使用时长,或执行本方案以外的操作,可能会导致费用发生变化,请以控制台显示的实际价格和最终账单为准。)

一、背景

从开展业务的初期到业务增长期,对数据库的性能、可用性会有不同的需求,运维也会变得越来越复杂。建议您尽早将数据库迁移到云数据库 RDS 上。

数据库迁移方案背景.jpg

业务初期

在业务初期,您可能会为了控制成本选择在应用服务器上自建数据库。但随着业务增长,这种应用和数据库部署在一个服务器上的架构,会有性能、安全、扩展性方面的隐患。

业务开始增长

为了消除性能、安全、扩展性方面的隐患,您可能会选择将数据库和应用分开部署。但数据库迁移工作并不简单,并且实现高可用和读写分离也很复杂,需要大量的时间和人力成本。

业务持续增长

如果您的业务在未来会持续增长,建议您尽早将数据库迁移到云数据库上。云数据库 RDS 可以让您使用一写多读、故障自动切换、自动备份等关键特性的同时,无需关注复杂的数据库运维工作。

二、RDS 解决的问题

稳定可靠

解决可用性问题:数据云盘存储通过多副本冗余确保数据可靠性;高可用版和集群版采用主备容灾架构,最高可保障99.99?用性;集群版可启用MGR特性实现RPO=0,数据零丢失。

降本增效

解决成本和扩展性问题:计费方式灵活,Serverless实现最高70?本;支持ARM架构,体验相同,性价比更高;可按需弹性升降配,不浪费资源。

数据库“自动驾驶”

解决运维复杂问题:支持自动扩缩容、自动SQL优化、自动SQL限流等,实现数据库的自感知、自修复、自优化、自运维及自安全,减轻运维负担,减少运维成本。

三、如何迁移到 RDS

在没有过往经验的情况下,您可能仍然会担心自己不够熟悉数据库迁移,而无法完成这项工作。 这里我们提供了一个快速体验教程,模拟了一遍数据库迁移所需的工作,帮助你快速熟悉这一流程。

自建数据库迁移到云数据库

为了控制成本,本方案中所创建的资源都是尽可能使用小规格资源,体验费用预计不超过 3 元(假设您在 1 小时内完成体验并及时释放资源)。 方案架构如下:

  • 由RDS实现数据库可靠性、可用性、安全性的保障。

  • 应用部署在ECS上,通过内网(VPC)访问RDS。

  • 使用数据传输服务DTS将ECS上的自建数据库迁移至云数据库RDS,迁移过程平滑、安全、高效,应用停机时间降低到分钟级别。

数据库迁移架构.png

迁移步骤

01 准备资源
通过一键部署脚本,快速创建一个模拟环境,包含一个运行网站应用和数据库的ECS实例,以及一个迁移目标RDS实例。

02 迁移数据库
这一步骤将引导您使用数据传输服务DTS,将ECS上自建的数据迁移到RDS中。

03 验证及切换
通过这一步骤,您将了解如何验证数据库已经迁移成功,并尝试修改应用代码来完成迁移工作。

04清理资源
完成教程学习后,您可以将模拟环境的资源释放掉,避免产生额外的费用。

部署资源

一键部署资源

您可以通过一键部署模板,快速创建一个云服务器ECS实例和一个云数据库RDS实例,ECS实例上已经部署了网站以及自建数据库。本方案以WordPress网站为例。

1.单击一键部署进入ROS控制台,在顶部选择华东1(杭州)。

2.填写模板参数,包括ECS和RDS实例所在地域、可用区,以及ECS和RDS实例的账号密码,其他参数可使用默认值或按需修改。

3.查看页面右下角的资源价格,确认无误后单击创建。
等待资源栈创建,资源部署时间约为10分钟,请耐心等候,直至资源栈状态显示为创建成功。

WordPress网站安装

此时WordPress网站还不能访问,您需要进入WordPress安装页面,完成WordPress安装。

1.访问资源编排管理控制台,在资源栈列表中单击刚创建的资源栈。

2.在资源栈顶部单击输出页签,并在输出关键字列表中找到ECSWordPressUrl参数对应的值,单击进入网页。

3.在WordPress安装页面,填写网站相关信息,然后单击Install WordPress。

请记住设置的网站管理员用户名和密码,用于登录网站管理页面。

查看已部署的资源

在资源页面,您可以查看上述步骤所生成的ECS实例、RDS实例、WordPress网站访问地址等。

1.在资源栈 > 资源栈列表中单击上一步创建的资源栈。

2.在顶部单击资源页签,可以查看已创建的资源及相关信息。

3.在顶部单击输出页签,可以查看输出关键字列表,各关键字描述如下表所示。

参数值 说明 示例值
ECSWordPressUrl WordPress访问地址 系统自动生成
ECSInstanceUser ECS实例登录账号和密码 USERNAME: root
PASSWORD: 用户自定义
WPUserForSQL ECS自建MySQL数据库账号和密码,该账号用于数据库SQL操作。 USERNAME: wordpressuser
PASSWORD: password
WPUserForDTS ECS自建MySQL数据库账号和密码,该账号用于数据库(源库)在DTS中运行数据迁移任务。 USERNAME: dtssync1
PASSWORD: P@ssw0rd
RDSUserDTS RDS数据库高权限账号和密码,用于数据库(目标库)在DTS中运行数据迁移任务。 USERNAME: dbuser
PASSWORD: 用户自定义

迁移数据库

现在,您可以使用DTS数据传输服务,配置源库和目标库信息,开始迁移数据库的库表结构、全量数据和增量数据。

1.登录DMS数据管理服务。

2.在顶部菜单栏选择集成与开发(DTS) > 数据传输(DTS) > 数据迁移。

3.单击创建任务。

4.配置源库及目标库信息。

4.1 源库

  • 数据库类型:MySQL
  • 接入方式:ECS 自建数据库
  • 实例地区:本示例中选择华东1(杭州)
  • 是否跨阿里云账号:不跨账号
  • ECS 实例 ID:选择网站所在的ECS实例。
  • 端口:3306
  • 数据库账号和密码:输入前面创建的自建数据库账号和密码。本示例为dtssync1和P@ssw0rd。
  • 连接方式:非加密连接

4.2 目标库

  • 数据库类型:MySQL
  • 接入方式:云实例
  • 实例地区:本示例中选择华东1(杭州)
  • RDS 实例 ID:选择前面创建的RDS实例。
  • 数据库账号和密码:输入前面创建的RDS实例账号和密码。本示例为dbuser和您自定义的密码。
  • 连接方式:非加密连接

5.单击测试连接以进行下一步,会自动为ECS添加DTS安全组、为RDS添加DTS服务器IP至白名单,以允许DTS访问ECS和RDS。
如果有失败信息,参考对应的错误提示进行修改即可。

6.配置迁移任务。

  • 勾选库表结构迁移、全量迁移、增量迁移。
  • 在源库对象框中选择要迁移的wordpressdb库,再单击向右小箭头.png将其移动至已选择对象框,然后单击下一步高级配置。
  • 勾选全量校验和增量校验、结构校验,然后单击下一步保存任务并预检查。

7.预检查通过率达到100?,单击下一步购买。选择数据迁移实例的链路规格(本案例以small规格为例),阅读并选中《数据传输(按量付费)服务条款》,单击购买并启动。

8.迁移任务正式开始。
单击迁移任务ID可以查看具体进度。当您看到如下界面,表示存量数据已迁移完成,增量数据会实时同步。此时您可以进入下一步,验证RDS里的数据。

验证及切换

验证RDS里的数据

您可以登录到云数据库RDS实例,查询RDS中是否具备了全量数据,并在网站新增加一条评论,验证该新评论是否从自建数据库同步到RDS。

1.登录RDS实例

  • 单击资源栈顶部资源按钮,然后单击Database资源ID进入RDS控制台,单击登录数据库。

  • 在弹出的DMS页面中,填写RDS高权限数据库账号和密码,然后单击登录。
    本示例中,RDS高权限数据库账号为dbuser,密码为您自定义的密码。
    如果报错“您暂未获取当前数据库实例的登录权限”,请单击点此申请,并由主账号完成审批。

2.验证全量数据
在SQLConsole窗口,在左侧双击目标数据库名称wordpressdb,可以看到自建数据库所有库、表数据已经完成迁移。

3.验证增量数据

  • 在SQLConsole窗口,双击wp_comments表名,再单击执行,查看wp_comments表的数据。
  • 在浏览器输入WordPress网站IP,在网站上增加一条评论。
  • 再次查看RDS实例中wp_comments表的数据,可以看到增加的评论,说明增量数据已迁移成功。
从自建数据库切换到RDS

为避免数据丢失,建议先停止写入数据,然后再将应用程序的数据库连接配置修改为云数据库RDS的连接地址。

1.停止写入数据到源数据库。

2.修改WordPress配置文件中的数据库连接配置。

  • 在资源列表中单击WebServer资源ID进入ECS控制台,点击远程连接使用ECS账户登录。本示例中,ECS账号为root,密码为用户自定义密码。
  • 打开配置文件。

sudo vim /usr/share/nginx/html/wp-config.php

  • 按i进入插入模式。

  • 修改数据库连接配置:
    将数据库账号和密码修改为RDS实例的数据库账号和密码,本示例中,将wordpressuser改为dbuser,将password改为您自定义的密码。
    将localhost修改为RDS实例内网地址。
    在资源列表中点击Database资源ID进入RDS控制台,在基本信息 > 网络类型 > 查看连接详情中找到RDS数据库内网地址。

  • 按Esc键退出插入模式。

  • 输入:wq,并按Enter键退出vim编辑器。

清理资源

完成教程后,建议及时释放不需要的资源,包括DTS数据迁移任务和ECS实例等,

1.释放DTS任务

  • 登录DMS数据管理服务。
  • 在顶部菜单栏选择集成与开发(DTS) > 数据传输(DTS) > 数据迁移。
  • 选择DTS任务所在地域,找到目标任务。
  • 在操作列单击image.png,然后单击释放任务。

2.释放一键部署创建的所有资源。

  • 访问资源编排管理控制台,找到对应资源栈,单击删除。

  • 完成确认操作。

四、迁移前后对比

对比项 ECS 自建数据库 使用云数据库 RDS
成本 公网流量收费;备份数据占用空间;无现成数据库代理用于读写分离;无现成Serverless方案 公网流量不收费;提供最多2倍于存储空间的免费备份空间;通用型数据库代理不收费;支持Serverless
稳定 无现成高可用;无现成负载均衡 高可用和集群系列秒级故障切换,最高保障99.99?用性;基础系列自动故障恢复,承诺99.5?用性;自动读写分离,实现负载均衡
性能 无现成的参数调优;无现成读写分离;性能排查复杂;无内核优化 持续优化参数;支持只读实例和读写分离,扩展读性能;支持慢日志分析、自动SQL优化;自研AliSQL和AliPG优化性能
安全 无现成的连接链路加密;无现成的TDE加密;审计困难,无SQL审计;内核Bug需要自行修复 SSL加密;TDE加密;SQL洞察与审计;内核Bug由阿里云修复

官网相关地址直达:
1.更多阿里云方案查询:https://www.aliyun.com
2.阿里云服务器ECS相关活动:https://www.aliyun.com/daily-act/ecs/activity_selection
3.云小站(代金券发布平台):https://www.aliyun.com/minisite/goods

云小站代金券图.png
找好主机网 云山河阿里推荐码 永灿云阿里帮助网 搜。最快服务器 七哥服务器优惠网 了解阿里云 柯南鉴定只推好服务器 聚时尚SSL证书 今夕地服务器优惠网 技术员阿里云推荐 多趣服务器优惠 爱丢网 艾米云惠阿里云阿里优惠活动 阿里云优惠网 阿里云帮助网 阿里IPC服务器ECS优惠 uuhb服务器官网 tomwan服务器官网 ok好轻量级服务器 mieyun服务器 https://ucourse.unipus.cn/classroom/74/thread/28226 https://ucourse.unipus.cn/classroom/74/thread/28106.htm https://ucourse.unipus.cn/classroom/74/thread/27232 https://ucourse.unipus.cn/classroom/74/thread/26897 https://ucourse.unipus.cn/classroom/74/thread/27880.htm https://ucourse.unipus.cn/classroom/74/thread/27322 https://ucourse.unipus.cn/classroom/74/thread/27049.htm https://ucourse.unipus.cn/classroom/74/thread/28114 https://ucourse.unipus.cn/classroom/74/thread/27003 https://ucourse.unipus.cn/classroom/74/thread/28271
发表回复
你还没有登录,请先 登录或 注册!