专栏名称: 阿里开发者
阿里巴巴官方技术号,关于阿里的技术创新均将呈现于此
目录
相关文章推荐
新闻广角  ·  不要去!不要去!确认1人身亡 ·  22 小时前  
新闻广角  ·  致癌!致癌!致癌!春节别吃 ·  4 天前  
51好读  ›  专栏  ›  阿里开发者

手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨

阿里开发者  · 公众号  ·  · 2024-06-17 19:06

正文

阿里妹导读


阿里云瑶池数据库来开课啦!自建数据库迁移至云数据库 RDS原来只要一步操作就能搞定! 点击阅读 原文完成实验就可获得一本日历哦~

简述

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

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

如果您的业务在未来会持续增长,建议您将数据库迁移到云数据库上。云数据库 RDS 可以让您使用一写多读、故障自动切换、自动备份等关键特性的同时,无需关注复杂的数据库运维工作。云数据库 RDS采用高可用架构,支持跨可用区容灾,可以给业务带来数据安全、可用性、性能和成本方面收益。

在没有过往经验的情况下,您可能会担心自己不够熟悉数据库迁移,而无法完成这项工作。阿里云云起实验室为您提供了一个快速体验环境,模拟了一遍数据库迁移所需的工作,帮助你快速熟悉这一流程。6月19日,阿里云数据库专家也将开设直播,带你陪跑数据库迁云全流程,对过程中你可能遇到的操作、选型、成本等问题进行一一解答。

实验地址: https://developer.aliyun.com/adc/scenario/311000460018

创建实验资源

说明

本实验将快速为您创建一个云服务器ECS实例和一个云数据库RDS实例,ECS实例上已经部署了网站以及自建数据库。本实验以WordPress网站为例。

  1. 签署同意服务协议并授权云起实验室创建、读取及释放实操相关资源权限后,进入创建资源。创建资源需要5分钟左右的时间,请您耐心等待。
  2. 云产品资源 列表,您可以查看本场景涉及的云产品资源信息。

安全设置

资源创建完成后,为了保护您阿里云主账号上资源的安全,请您重置云服务器ECS的登录密码、设置安全组端口和重置云数据库RDS的数据库密码。

  1. 重置云服务器ECS的登录密码。

    1. 云产品资源 列表的 ECS云服务器 区域,单击 管理

  1. 实例详情 页签的 基本信息 区域,单击 重置密码

  1. 重置实例密码 对话框中,设置 新密码 确认密码 重置密码的方式 选择 在线重置密码 配置SSH密码登录策略 选择 开启 ,单击 确认修改

返回如下结果,表示ECS实例root用户的登录密码重置成功。

4. 设置安全组端口。

    1. 云产品资源 列表的 安全 区域,单击 管理

5. 在 访问规则 区域的 入方向 中,添加 SSH(22) HTTP(80) HTTPS(443) MySQL(3306) 端口。

重要

添加端口时,授权对象建议选择您的本机IP地址。

6. 重置云数据库RDS的高权限账号的密码。

    1. 云产品资源 列表的 云数据库RDS实例 区域,单击 管理

7. 在左侧导航栏中,单击 账号管理

8. 在 用户账号 页签,单击高权限账号右侧 操作 列下的 重置密码

9. 在 重置密码 对话框中,设置 新密码 确认新密码 ,单击 确定

配置MySQL

资源创建完成后,ECS实例上会安装LNMP环境,但是还需要您自己创建WordPress网站和DTS数据传输时所用的数据库账号和密码。

  1. 云产品资源列表 ECS云服务器区域 ,单击 远程连接

  1. 登录实例 对话框中,输入 用户自定义密码 ,单击 确定

  1. 执行如下命令,创建WordPress网站所用数据库账号和密码。

警告

  • 您需要将命令中的WordPressuser密码修改为用户自定义密码。建议使用复杂密码以增加安全性,包含大小写字母、数字和特殊字符的组合。

  • 在本实验中,授权数据库账号权限较大,您可根据实际情况进行修改。

mysql -e "CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'WordPressuser密码';"mysql -e "GRANT ALL PRIVILEGES ON wordpressdb.* TO 'wordpressuser'@'localhost';"mysql -e "FLUSH PRIVILEGES;"

  1. 执行如下命令,创建DTS数据传输所用数据库账号和密码。

警告

  • 您需要将命令中的dtssync1密码修改为用户自定义密码。

  • 在本实验中,授权数据库账号权限较大,您可根据实际情况进行修改。

mysql -e "CREATE USER dtssync1 IDENTIFIED BY 'dtssync1密码';"mysql -e "GRANT ALL ON *.* TO 'dtssync1'@'%';"mysql -e "FLUSH PRIVILEGES;"mysql -e "SET GLOBAL binlog_format = 'ROW';"

WordPress网站安装

资源创建完成后,ECS实例上已下载WordPress安装包,您还需要手动安装并配置WordPress,然后进入WordPress安装页面,完成WordPress安装。

  1. 执行如下命令,进入到WordPress安装包的目录。

cd /usr/share/nginx/html

  1. 执行如下命令,解压WordPress安装包。

tar -xzvf 6.5.3.tar.gz

  1. 执行如下命令,将WordPress文件夹重命名并授权。

mv WordPress-6.5.3  wordpress




    
cp -R wordpress/* .

  1. 执行如下命令,复制配置文件。

cp wp-config-sample.php wp-config.php

  1. 执行如下命令,修改WordPress配置文件中的数据库信息。

说明

您需要将命令中的WordPressuser密码修改为用户自定义密码。

sed -i "s/database_name_here/wordpressdb/" wp-config.phpsed -i "s/username_here/wordpressuser/" wp-config.phpsed -i "s/password_here/WordPressuser密码/" wp-config.phpsed -i "s/localhost/localhost/" wp-config.php

  1. 执行如下命令,重启Nginx和PHP服务。

systemctl restart nginxsystemctl restart php-fpm

  1. 在浏览器地址栏中,输入http://ECS实例公网IP,访问WordPress网站。

说明

您可在 云产品资源 列表查看ECS实例公网IP。

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

说明

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

迁移数据库

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

  1. 云产品资源 列表的 云数据库RDS实例 区域,单击 管理

  1. 在左侧导航栏中,单击 数据迁移及同步

  1. 选择 数据迁移 页签,单击 创建迁移任务

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

说明

如果您是首次使用数据传输服务DTS,会弹出未授权DTS的错误弹窗,您需要单击前往RAM授权,根据页面提示完成授权,即可正常使用DTS。

  1. 源库信息。

    1. 数据库类型:MySQL。
    2. 接入方式:ECS自建数据库。
    3. 实例地区:本示例中选择华东1(杭州)。
    4. 是否跨阿里云账号:不跨账号。
    5. ECS实例ID:选择网站所在的ECS实例。
    6. 端口:3306。
    7. 数据库账号和密码:输入前面创建的DTS数据传输所用的数据库账号和密码。本示例为dtssync1和用户自定义密码。
    8. 连接方式:非加密连接。

  1. 目标库信息。

    1. 数据库账号和密码:输入RDS实例的高权限账号和密码。本示例为 dbuser 和用户自定义密码。
    2. 连接方式:非加密连接。

  1. 单击 测试连接以进行下一步 ,会自动为ECS添加DTS安全组、为RDS添加DTS服务器IP至白名单,以允许DTS访问ECS和RDS。

说明

如果有失败信息,参考对应的错误提示进行修改即可。

  1. 配置任务对象。

    1. 勾选 库表结构迁移 全量迁移 增量迁移

  1. 源库对象 框中选择要迁移的wordpressdb库,再单击 图标将其移动至 已选择对象框 ,然后单击 下一步保存任务并预检查

  1. 高级配置 区域,勾选 全量校验 增量校验 结构校验 ,然后单击 下一步保存任务并预检查

  1. 预检查 页面, 预检查通过率 达到100%后,单击 下一步购买

  1. 在购买页面,选择数据迁移实例的链路规格(本案例以small规格为例),阅读并选中 《数据传输(按量付费)服务条款》 ,单击 购买并启动

  1. 迁移任务正式开始。

数据迁移 页面,单击迁移任务ID,可以查看具体进度。

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

验证RDS数据

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

  1. 登录RDS实例。

    1. 云产品资源 列表的 云数据库RDS实例区域 ,单击 登录

  1. 登录实例 对话框中,填写RDS高权限数据库账号和密码,然后单击 登录

说明

本示例中,RDS高权限数据库账号为dbuser,密码为用户自定义密码。

如果报错“您暂未获取当前数据库实例的登录权限”,请单击 点此申请 ,并由主账号完成审批。

  1. 验证全量数据。

在SQLConsole窗口,在左侧选择 数据库实例>已登录实例>test for database migration实例 ,双击目标数据库名称wordpressdb,可以看到自建数据库所有库、表数据已经完成迁移。

说明

如果找不到wordpressdb库,请右键单击RDS实例ID,选择 刷新/同步数据字典







请到「今天看啥」查看全文