无代理备份并高效克隆MySQL环境

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

数据可能因操作失误、勒索软件攻击、自然灾害等原因丢失,此时迅速恢复数据对于维护业务连续性尤为关键。此外,随着互联网业务的快速扩张,您可能急需能够快速基于生产环境建立开发和测试环境,以便持续迭代和发布新版本。本方案基于快照和自定义镜像的能力,为您提供无代理备份并高效克隆MySQL环境的部署方案。

优势

本方案具备如下优势:

  • 无代理数据备份

    本方案通过使用EBS的快照能力,不占用云服务器ECS的vCPU和内存,不影响生产,不借助第三方备份,不依赖任何插件就可以完成数据备份,充分保证数据备份的有效、可靠且简单易用。

说明

阿里云快照服务是一种无代理(Agentless)的数据备份方式,可以为单个云盘或者云盘组上的数据块创建某个时刻的完整拷贝,用于数据恢复、开发测试环境搭建,或者自定义镜像的制作以进行业务批量部署。更多信息,请参见快照概述

  • 灵活高效克隆环境

    传统的手工克隆数据方式效率较低且容易出错。本方案通过创建快照和自定义镜像,可以实现MySQL应用与数据从开发环境到测试环境的高效克隆与搭建。

  • 多场景能力满足多用户群体

    本方案集成了快照和镜像的多样化能力,支持跨地域复制、应用一致性、快照加密、快照共享等,以便用户可以根据自身的需求和业务场景来配置和使用云资源。

计费说明

在环境搭建过程中,会根据使用的阿里云资源(ECS实例、快照、镜像等)的计费方式进行计费。如果您是通过实验室一键部署,创建的实验任务本身不会收费。

说明

实验室一键部署过程中使用到的阿里云资源仅支持按量付费。

备份并克隆MySQL环境

手动部署(用于生产环境)

重要

实验室部署的一键搭建能力通常用于快速验证和测试新特性,但不适合直接应用到生产环境中。在生产环境中,建议使用手动部署方式,以确保系统的安全和稳定。

手动备份并克隆MySQL环境需先购买ECS实例,并通过命令部署MySQL服务,然后通过创建快照和自定义镜像手动备份和克隆MySQL环境。

说明

在创建ECS实例、快照和镜像的过程中,建议您对各资源名称做好命名区分,以便后续查找资源。

步骤一:创建ECS实例并部署MySQL服务

  1. 创建ECS实例。ECS实例需要满足以下条件:

    • 仅支持使用CentOS 7镜像,不支持其他类型的镜像。

    • ECS实例未安装MySQL服务。

    具体操作,请参见自定义购买实例

  2. 远程连接ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  3. 部署MySQL服务。

    1. 执行以下命令,下载安装MySQL安装包。

      sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
      sudo yum -y install mysql-community-server --enablerepo=mysql80-community
    2. 执行以下命令,配置并启动MySQL。

      sudo systemctl start mysqld
      sudo systemctl enable mysqld
    3. 执行以下命令,查看MySQL是否正常启动。

      ps aux | grep mysqld

      image.png

    4. 执行以下命令,查看MySQL初始密码。

      sudo cat /var/log/mysqld.log | grep root | grep "temporary password" | awk '{print $13}'

      image.png

    5. 执行以下命令,登录MySQL。

      mysql -uroot -p

      输入上一步获取的密码,即可登录MySQL。

      image.png

      说明

      您可以执行ALTER USER 'root'@'localhost' IDENTIFIED BY '<new_password>';命令,修改MySQL的登录密码。

    6. 执行以下命令,退出MySQL。

      exit
  4. 执行以下命令,确保在创建快照之前数据已经落盘。这样做可以避免在创建快照之前还有数据在缓存中,从而保证快照的数据完整性。

    sync

步骤二:通过为系统盘快照和自定义镜像快速克隆MySQL环境

该步骤通过为系统盘创建快照并生成自定义镜像,再基于自定义镜像可以快速实现完整环境和数据的克隆。

  1. 登录ECS管理控制台

  2. 为ECS实例的系统盘创建快照。

  3. 基于已创建的快照创建自定义镜像。

    具体操作,请参见使用快照创建自定义镜像

  4. 基于已创建的自定义镜像创建一台新的ECS实例。

    具体操作,请参见使用自定义镜像创建实例

通过实验室一键部署(用于快速验证和测试新特性)

块存储实验室一键部署能力为您提供了三种实验项,让您可以更清晰地了解并熟悉基于快照的备份与快速恢复能力。

  • MySQL实例数据备份与数据恢复

    该实验项具备数据备份与恢复能力。可以通过块存储EBS的实验室一键式自动创建资源并完成备份与克隆的整个过程。

  • MySQL实例数据备份

    该实验项仅具备数据备份能力。在构建MySQL实例后,可以为您的MySQL实例创建快照备份,并基于快照创建自定义镜像。

  • MySQL实例数据恢复

    该实验项仅具备数据恢复能力。可以根据MySQL实例数据备份创建的镜像快速恢复完全相同的MySQL环境。

MySQL实例数据的备份与高效搭建

本实验项将自动:

  1. 创建ECS实例,实例名称以ECS_Instance开头。

  2. 为系统盘创建快照。

  3. 根据快照创建自定义镜像,镜像名称以MySQLImage开头。

  4. 根据自定义镜像克隆新的ECS实例,实例名称以ECS_Instance_Clone开头。

操作步骤

  1. 前往实验场景页面。

    1. 登录块存储EBS控制台

      说明

      首次登录EBS控制台时,请根据页面提示创建一个EBS服务关联角色。更多信息,请参见块存储EBS服务关联角色

    2. 在左侧导航栏选择实验室 > 实验场景

    3. 在顶部菜单栏左上角处,选择地域。

    4. 无代理ECS数据备份与高效环境搭建实验场景模板中,单击一键创建实验任务

  2. 实验场景向导页面,设置实验场景的基础信息,然后单击下一步

    参数

    说明

    实验场景

    实验室的应用场景,默认为无代理ECS备份与高效环境搭建

    实验任务名称

    已默认填写,您可以根据需要修改。

    实验项

    已默认填写,默认选择MySQL实例数据备份与数据恢复

    描述

    (非必填)设置实验任务的描述信息。

    系统已为您推荐开发环境和测试环境的ECS实例、弹性公网IP、MySQL等最佳配置参数,您无需填写,也可以根据需要重新自定义配置。

  3. (可选)在配置参数向导页面,您可以单击编辑修改实验任务的参数。

    参数

    说明

    MySQL实例-原始

    • 生产可用区:选择实例对应的可用区。

    • 系统镜像:仅支持选择CentOS 7.9。

    • 系统盘:系统默认选择系统盘类型(ESSD PL0)和云盘容量(40 GiB)。

    • CPU(Core):选择该可用区下可用的CPU规格。

    • 内存 (GiB):选择该可用区下可用的内存规格。

    • 实例密码:设置ECS实例的初始登录密码。

      重要

      系统已为您默认分配实例密码,您也可以自定义密码。请您牢记实例密码,以便后续远程连接ECS实例。

    • 实例规格:选择实例规格,不同的实例规格在性能和费用上均有不同。更多信息,请参见实例规格族

    MySQL实例-克隆

    MySQL开发环境的配置相同。

    带宽

    默认按使用流量计费,带宽峰值为100 Mbps,不支持修改。

    MySQL

    已默认配置MySQL版本数据库根账号数据库端口,不支持修改。

  4. (可选)修改对应的配置后,确认总费用后,单击保存

  5. 检查确认配置参数以及费用信息,然后单击确认

    支付完成后,系统会为您准备资源,并帮助您搭建好对应的实验场景,预计需要10~15分钟,请您耐心等待。

MySQL实例数据备份

本实验项将自动:

  1. 创建ECS实例并搭建MySQL环境,实例名称以ECS_instance开头。

  2. 为系统盘创建快照。

  3. 根据快照创建自定义镜像,镜像名称以MySQLImage开头。

操作步骤

  1. 前往实验场景页面。

    1. 登录块存储EBS控制台

      说明

      首次登录EBS控制台时,请根据页面提示创建一个EBS服务关联角色。更多信息,请参见块存储EBS服务关联角色

    2. 在左侧导航栏选择实验室 > 实验场景

    3. 在顶部菜单栏左上角处,选择地域。

    4. 无代理ECS数据备份与高效环境搭建实验场景模板中,单击一键创建实验任务

  2. 实验场景向导页面,设置实验场景的基础信息,然后单击下一步

    参数

    说明

    实验场景

    实验室的应用场景,默认为无代理ECS备份与高效环境搭建

    实验任务名称

    已默认填写,您可以根据需要修改。

    实验项

    选择MySQL实例数据备份

    描述

    (非必填)设置实验任务的描述信息。

    系统已为您推荐MySQL环境的ECS实例、弹性公网IP、MySQL等最佳配置参数,您无需填写,也可以根据需要重新自定义配置。

  3. (可选)在配置参数向导页面,您可以单击编辑修改实验任务的参数。

    参数

    说明

    MySQL实例-原始

    • 生产可用区:选择实例对应的可用区。

    • 系统镜像:仅支持选择CentOS 7.9。

    • 系统盘:系统默认选择系统盘类型(ESSD PL0)和云盘容量(40 GiB)。

    • CPU(Core):选择该可用区下可用的CPU规格。

    • 内存 (GiB):选择该可用区下可用的内存规格。

    • 实例密码:设置ECS实例的初始登录密码。

      重要

      系统已为您默认分配实例密码,您也可以自定义密码。请您牢记实例密码,以便后续远程连接ECS实例。

    • 实例规格:选择实例规格,不同的实例规格在性能和费用上均有不同。更多信息,请参见实例规格族

    带宽

    默认按使用流量计费,带宽峰值为100 Mbps,不支持修改。

    MySQL

    已默认配置MySQL版本数据库根账号数据库端口,不支持修改。

  4. (可选)修改对应的配置后,确认总费用后,单击保存

  5. 检查确认配置参数以及费用信息,然后单击确认

    支付完成后,系统会为您准备资源,并帮助您搭建好对应的实验场景,预计需要10~15分钟,请您耐心等待。

MySQL实例数据恢复

本实验项需要您输入MySQL实例数据备份生成镜像ID。本实验项将根据该镜像自动快速恢复完全相同的MySQL实例,实例名称以ECS_Instance_Clone开头。

操作步骤

  1. 前往实验场景页面。

    1. 登录块存储EBS控制台

      说明

      首次登录EBS控制台时,请根据页面提示创建一个EBS服务关联角色。更多信息,请参见块存储EBS服务关联角色

    2. 在左侧导航栏选择实验室 > 实验场景

    3. 在顶部菜单栏左上角处,选择地域。

    4. 无代理ECS数据备份与高效环境搭建实验场景模板中,单击一键创建实验任务

  2. 实验场景向导页面,设置实验场景的基础信息,然后单击下一步

    参数

    说明

    实验场景

    实验室的应用场景,默认为无代理ECS备份与高效环境搭建

    实验任务名称

    已默认填写,您可以根据需要修改。

    实验项

    选择MySQL实例数据恢复

    描述

    (非必填)设置实验任务的描述信息。

    系统已为您推荐ECS实例、弹性公网IP、MySQL等最佳配置参数,您无需填写,也可以根据需要重新自定义配置。

  3. (可选)在配置参数向导页面,您可以单击编辑修改实验任务的参数。

    参数

    说明

    MySQL实例-克隆

    • 生产可用区:选择实例对应的可用区。

    • 系统镜像:仅支持选择CentOS 7.9。

    • 系统盘:系统默认选择系统盘类型(ESSD PL0)和云盘容量(40 GiB)。

    • CPU(Core):选择该可用区下可用的CPU规格。

    • 内存 (GiB):选择该可用区下可用的内存规格。

    • 实例密码:设置ECS实例的初始登录密码。

      重要

      系统已为您默认分配实例密码,您也可以自定义密码。请您牢记实例密码,以便后续远程连接ECS实例。

    • 实例规格:选择实例规格,不同的实例规格在性能和费用上均有不同。更多信息,请参见实例规格族

    带宽

    默认按使用流量计费,带宽峰值为100 Mbps,不支持修改。

    MySQL

    已默认配置MySQL版本数据库根账号数据库端口,不支持修改。

  4. (可选)修改对应的配置后,确认总费用后,单击保存

  5. 检查确认配置参数以及费用信息,然后单击确认

    支付完成后,系统会为您准备资源,并帮助您搭建好对应的实验场景,预计需要10~15分钟,请您耐心等待。

验证与清理

验证方案

  1. 登录ECS管理控制台

  2. 分别在实例、快照和镜像页面查看已创建的快照、镜像和克隆的ECS实例。

    说明
    • 手动部署:请根据您的自定义名称来查看各资源。

    • 通过实验室部署:

      • MySQL实例数据的备份与高效环境搭建:查看原ECS实例名称以ECS_Instance开头,镜像名称以MySQLImage开头,克隆实例名称以ECS_Instance_Clone开头。

      • MySQL实例数据备份:查看MySQL环境的实例(以ECS_Instance开头)、快照、镜像(以MySQLImage开头)。

      • MySQL实例数据恢复:查看由镜像ID创建的MySQL实例(实例名称以ECS_Instance_Clone开头)。

  3. 远程连接新克隆的ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  4. 执行以下命令,查看MySQL服务是否正常启动。

    ps aux | grep mysqld

    如下信息表示MySQL服务已正常启动,说明MySQL环境已克隆完成。image.png

清理资源

如果您是通过实验室一键部署,测试完成后建议您及时清理相关资源,避免继续产生费用。

  1. 登录块存储EBS控制台

  2. 在左侧导航栏选择实验室 > 任务列表

  3. 在顶部菜单栏左上角处,选择地域。

  4. 在目标实验任务的操作列,单击删除。预计需要5分钟,请您耐心等待。

    您也可以选中多个实验任务,在列表底部单击批量删除

    警告

    删除实验任务时默认不会释放实验资源,如果选中是否删除资源,实验任务中的资源,例如ECS实例、数据库实例等均会被释放,请您谨慎操作。

  5. 登录ECS管理控制台

  6. 删除自定义镜像以及快照资源。

    具体操作,请参见删除自定义镜像