百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

从自建到云端,数据库迁移全攻略

off999 2025-02-15 00:44 17 浏览 0 评论

一、引言

在数字化浪潮席卷而来的今天,数据库作为数据存储与管理的核心,其管理和运维显得尤为重要。随着业务规模的持续扩展,为了规避性能瓶颈、安全隐患和扩展性不足等问题,不少用户选择将数据库和应用分开部署。然而,这种做法不仅耗费大量时间与人力成本,还使运维变得更加复杂。那么,如何在不同发展阶段满足多数据库的多样化需求?又如何在保证数据安全、提升可用性和性能的同时,优化成本?这正是数据库迁移技术价值所在。

二、方案概述

本方案将为您详细解析如何将网站的自建数据库迁移至云数据库 RDS,有效解决数据库管理中的痛点与难题。通过云数据库 RDS,您可以实现零成本维护、高可用性以及集群秒级故障切换,确保业务的稳定运行,同时优化数据库参数与性能,并全面保障数据安全。

核心优势

  • 零成本:公网流量不收费;提供最多 2 倍于存储空间的免费备份空间;通用型数据库代理不收费;支持 Serverless。
  • 高可用,保证业务稳定性:高可用和集群系列秒级故障切换,最高保障 99.99% 可用性;基础系列自动故障恢复,承诺 99.5% 可用性;自动读写分离,实现负载均衡。
  • 参数持续优化,性能优越:持续优化参数;支持只读实例和读写分离,扩展读性能;支持慢日志分析、自动 SQL 优化;自研 AliSQL 和 AliPG 优化性能
  • 数据传输加密,阿里云自动修复:SSL 加密;TDE 加密;SQL 洞察与审计;内核 Bug 由阿里云修复

方案架构

  • 由 RDS 实现数据库可靠性、可用性、安全性的保障。
  • 应用部署在 ECS 上,通过内网(VPC)访问 RDS 。
  • 使用数据传输服务 DTS 将 ECS 上的自建数据库迁移至云数据库 RDS ,迁移过程平滑、安全、高效,应用停机时间降低到分钟级别。


本文提供快速体验教程,全面模拟数据库迁移过程,帮助您快速上手迁移操作。

自建数据库迁移到云数据库-阿里云技术解决方案即刻体验!


三、部署资源

一键部署资源

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

  1. 单击一键部署进入 ROS 控制台,在顶部选择华东 1(杭州)
  2. 填写模板参数:为方便体验,您只需关注可用区ECS 实例密码 RDS 数据库密码三个参数的选择,其它参数可使用方案默认值或按需选择。
  3. 查看页面右下角的资源价格,确认无误后单击创建

等待资源栈创建,资源部署时间约为 10 分钟,请耐心等候,直至资源栈状态显示为创建成功

查看已部署的资源

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

  1. 资源栈 > 资源栈列表中单击上一步创建的资源栈。
  2. 在顶部单击资源页签,可以查看已创建的资源及相关信息。
  1. 在顶部单击输出页签,可以查看输出关键字列表,各关键字描述具体见方案详情。

四、网站安装及浏览

安装WordPress网站

一键部署资源后,进入WordPress安装页面,完成WordPress安装。

  1. 访问资源编排管理控制台,在资源栈列表中单击刚创建的资源栈。
  2. 在资源栈顶部单击输出页签,并在输出关键字列表中找到ECSWordPressUrl参数对应的值,单击进入网站。
  1. 在WordPress安装页面,填写网站相关信息,然后单击Install WordPress。如下图所示:

浏览WordPress网站

  1. 返回资源编排管理控制台,在资源栈列表中单击刚创建的资源栈。
  2. 单击输出页签中ECSWordPressUrl参数对应的值,即可进入网站浏览。

五、迁移数据库

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

  1. 登录DMS数据管理服务。
  2. 在顶部菜单栏选择集成与开发(DTS) > 数据传输(DTS) > 数据迁移
  3. 单击创建任务
  4. 配置源库及目标库信息。(具体配置请点击方案详情
  5. 单击测试连接以进行下一步,系统会自动为ECS添加DTS安全组,为RDS添加DTS服务器IP至白名单,以允许DTS访问ECS和RDS。如果有失败信息,参考对应的错误提示进行修改即可。
  6. 配置迁移任务。(具体配置方法请点击方案详情
  7. 预检查通过率达到100%后,单击下一步购买。选择数据迁移实例的链路规格(本案例以small规格为例),阅读并选中《数据传输(按量付费)服务条款》,单击购买并启动
  8. 迁移任务正式开始。

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

六、方案验证

通过查看RDS实例中的数据,验证数据迁移结果

  1. 登录RDS实例

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

b. 在弹出的DMS页面中,填写RDS高权限数据库账号和密码,然后单击登录

  1. 全量数据验证

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

3. 增量数据验证

a. 在SQLConsole窗口,双击wp_comments表名,再单击执行,查看wp_comments表的数据。

b. 前往资源编排管理控制台,在资源栈列表中单击之前创建的资源栈。

c. 在资源栈顶部单击输出页签,并在输出关键字列表中找到ECSWordPressUrl参数对应的值,单击进入网站,往下浏览找到如下图,点击进入评论区。

d. 在网站中新增一条评论或多条评论,如下图

e. 再次查看RDS实例中wp_comments表的数据,执行查询语句可以看到增加的评论,说明增量数据已迁移成功。

通过切换数据库连接并访问网站,验证RDS服务可用性

  1. 从自建数据库切换到RDS

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

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

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

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

【说明:如果提示用户名或密码不正确,可能是因为密码错误或者操作系统未完全启动,请确认输入的用户名和密码,或者稍后再尝试登录。】

(2) 打开配置文件。

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

(3) 按i进入插入模式。

(4) 修改数据库连接配置:

  • 修改数据库账号:将wordpressuser改为RDS高权限账号dbuser
  • 修改数据库密码:将password修改为您自定义的密码。
  • 修改数据库连接地址:将localhost修改为RDS内网连接地址(可以直接复制资源栈输出页签中RDSInternalAddress关键字对应的值)。
  1. Esc键退出插入模式。
  2. 输入:wq,并按Enter键退出vim编辑器。

【说明:以上仅为本示例教程的切换步骤,关于生产环境的切换和回滚方案,请参见业务切换流程。】

  1. 验证切换后的服务可用性

a. 返回资源编排管理控制台,在资源栈列表中单击刚创建的资源栈。

b. 单击输出页签中ECSWordPressUrl参数对应的值,进入网站浏览,可观察到网站与切换前保持一致。如下图:

c. 在网站新增一条评论,再次查看RDS实例中wp_comments表的数据,执行查询语句可以看到增加的评论。


想必你通过阅读,已经学会如何将网站的自建数据库迁移至云数据库 RDS现在邀请你体验【自建数据库迁移到云数据库-阿里云技术解决方案

相关推荐

Python 打包为 Android 的 APK 文件,环境配置技术要点

现在可以用Flet或PyMe开发python应用程序app,并且打包为安卓APK文件。这对很多梦想用python开发手机应用的小伙伴提供了希望和通道。然而,打包安卓Android也...

Python虚拟环境搭建全指南,轻松解决包冲突

大家好,我是科雷!在Python开发中,虚拟环境是隔离项目依赖的重要工具,能避免不同项目间的包版本冲突。本文将详解Python内置的venv模块和第三方工具virtualenv的核心功能,带你快速掌...

这款 Python 打包exe工具太香了。图形化操作从此告别命令行

不用记命令,点鼠标就能把Python代码变成能直接打开的程序,这款工具把打包步骤从查教程的1小时压缩到3分钟选脚本的时候点“浏览”找文件,不用自己打路径,就像在电脑里找照片一样简单。设计这个功能,是因...

Python的wget库:一键下载网络资源的高效工具

大家好,我是科雷!在Python的网络资源获取工具中,wget库以其简洁高效的特点深受开发者喜爱。它能快速下载网页、图片、视频等各类网络资源,无需复杂的代码编写。本文将带你掌握wget库的核心功能及实...

UV 迄今最快、最好的 Python 包管理器

一个极速的Python包和项目管理器,用Rust编写。亮点一个可以取代pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv等工具的单一工具。比...

Python M3U8下载器v1.2.1:高效解析,轻松获取流媒体资源

在流媒体内容获取场景中,PythonM3U8下载器v1.2.1以轻量化架构与强兼容性,成为开发者与普通用户获取M3U8格式视频的高效工具,解决了传统下载工具解析慢、易中断的痛点。其核心优势集中在...

丢掉Excel,手把手教你用Python做可视化,还能调节动画丝滑度

Pine发自凹非寺量子位|公众号QbitAI数据可视化动画还在用Excel做?现在一个简单的Python包就能分分钟搞定!而且生成的动画也足够丝滑,效果是酱紫的:这是一位专攻Python语言...

18.4K Star!本地部署 AI 写作助手,离线也能写文章

软件介绍:LocalLLaVA是一个本地部署的多模态AI写作助手,支持图像理解与文本生成结合,用户可以上传图片并让AI根据图片内容生成描述、文案、故事等,适合内容创作者、自媒体人使用。特点:...

将安卓手机打造成你的 Python 开发利器

优质文章,第一时间送达!作者|王翔来源|清风Python超神利器…相信多数安卓用户都使用过Qpython这款移动端的Python编辑器吧?之前我也研究过一阵子这个工具,但因为一次简单的爬虫让我...

银河麒麟系统离线安装pip和paramiko

######参考网址:https://blog.csdn.net/chrnhao/article/details/138717281将python库下载到本地安装—Pypi官网wheel版本选择详...

统信UOS服务器操作系统离线安装postgresql数据库

原文链接:统信UOS服务器离线安装postgresql数据库Hello,大家好啊!今天给大家带来一篇关于在统信UOS服务器操作系统上离线安装PostgreSQL数据库的文章。PostgreSQL是一款...

关于Linux下Docker内网离线安装的一些笔记

写在前面博文为内网离线安装docker教程安装前提是你需要有一台最小化安装的Linux机器,可以是虚机如果不是最小化,可能需要手动下载一些依赖理解不足小伙伴帮忙指正我所渴求的,無非是將心中脫穎...

抖音上好看的小姐姐,Python给你都下载了

阅读文本大概需要15分钟。1目标场景相信大家平时刷抖音短视频的时候,看到颜值高的小姐姐,都有随手点赞关注的习惯。如果一条条去刷确实很耗时间,如果Python能帮忙筛选出颜值高的小姐姐那就...

全网最简单易懂!495页Python漫画教程,高清PDF版免费下载

全网最简单易懂!495页Python漫画教程,高清PDF版免费下载今天给那些在学习Python路上有挫折的朋友分享一份《看漫画学Python》,不同的是本书采用漫画的形式,用简单易懂的语言和图片详细解...

Python爬虫-面向知乎的答案提取和图片下载

需求描述:爬取知乎的答案,爬取并下载一个问题下所有回答中的图片。实现平台:开发工具PyCharm2017,语言版本Python3.6,Chrome谷歌浏览器。基本原理:1.发送请求,获取网页HTML源...

取消回复欢迎 发表评论: