Amazon Relational Database Service
用户指南 (API Version 2014-10-31)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

将数据从 MySQL 数据库快照迁移到 MariaDB 数据库实例

可使用 AWS 管理控制台、AWS CLI 或 Amazon RDS API 将 Amazon RDS MySQL 数据库快照迁移到运行 MariaDB 10.1 的新数据库实例。您必须从运行 MySQL 5.6 的 Amazon RDS 数据库实例创建数据库快照。要了解如何创建 RDS MySQL 数据库快照,请参阅创建数据库快照

在从 MySQL 迁移到 MariaDB 后,MariaDB 数据库实例将与默认数据库参数组和选项组关联。在还原数据库快照后,可以关联新数据库实例的自定义数据库参数组。但是,MariaDB 参数组具有一组不同的可配置系统变量。有关 MySQL 和 MariaDB 系统变量之间的差异的信息,请参阅 MariaDB 10.0 和 MySQL 5.6 系统变量之间的差异。要了解数据库参数组,请参阅使用数据库参数组。要了解选项组,请参阅使用选项组

MariaDB 和 MySQL 之间的不兼容性

MySQL 和 MariaDB 之间的不兼容性包括:

  • 您无法将使用 MySQL 5.7 或 MySQL 5.5 创建的数据库快照迁移到 MariaDB 10.1。

  • 如果源 MySQL 数据库使用 SHA256 密码哈希,则您需要先重置经过 SHA256 哈希处理的用户密码,然后才能连接到 MariaDB 数据库。以下代码说明如何重置经过 SHA256 哈希处理的密码:

    SET old_passwords = 0; UPDATE mysql.user SET plugin = 'mysql_native_password', Password = PASSWORD('new_password') WHERE (User, Host) = ('master_user_name', %); FLUSH PRIVILEGES;
  • 如果您的 RDS 主用户账户使用 SHA-256 密码哈希,则必须使用 rds modify-db-instance AWS CLI 命令、 ModifyDBInstance API 操作或 AWS 管理控制台重置密码。有关修改 MariaDB 数据库实例的信息,请参阅修改运行 MariaDB 数据库引擎的数据库实例

  • MariaDB 不支持内存缓存插件;不过,由内存缓存插件使用的数据将存储为 InnoDB 表。在迁移 MySQL 数据库快照后,您可以使用 SQL 访问由内存缓存插件使用的数据。有关 innodb_memcache 数据库的更多信息,请参阅 InnoDB 内存缓存插件内部信息

AWS 管理控制台

将 MySQL 数据库快照迁移到 MariaDB 数据库实例

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择 Snapshots

  3. 选择 Migrate Snapshot

  4. 对于 Migrate to DB Engine,选择 MariaDB

  5. Migrate Database 页面上,提供 RDS 启动 MariaDB 数据库实例所需的其他信息。

    • DB Instance Class:选择具有数据库所需的存储和容量的数据库实例类,例如 db.r3.large。对于任何需要快速且一致的 I/O 性能的生产应用程序,我们推荐预配置 IOPS 存储。有关更多信息,请参阅 用于提高性能的 Amazon RDS 预配置 IOPS 存储。MariaDB 10.1 不支持上一代数据库实例类。有关更多信息,请参阅 数据库实例类

    • DB Snapshot ID:键入数据库快照标识符的名称。

      数据库快照标识符具有以下限制:

      • 它必须包含 1 到 255 个字母数字字符或连字符。

      • 字符必须是字母。

      • 它不能以连字符结束或包含两个连续连字符。

      如果从共享的手动数据库快照还原,则数据库快照标识符必须为共享的数据库快照的 Amazon 资源名称 (ARN)。

    • DB Instance Identifier:键入数据库实例的名称,该名称对于数据库实例将驻留在的 AWS 区域中的账户是唯一的。此标识符将在数据库实例中实例的终端节点地址中使用。

      数据库实例标识符具有以下限制:

      • 它必须包含 1 到 63 个字母数字字符或连字符。

      • 它的第一个字符必须是字母。

      • 它不能以连字符结束或包含两个连续连字符。

      • 它对于您在 AWS 区域中的 AWS 账户的所有数据库实例必须是唯一的。

    • VPC:如果您已经有 VPC,则可以通过选择您的 VPC 标识符 (例如 vpc-a464d1c1) 将该 VPC 用于 MariaDB 数据库实例。有关 VPC 的更多信息,请参阅 Amazon Virtual Private Cloud (VPCs) 和 Amazon RDS

      否则,可以通过选择 Create a new VPC,让 Amazon RDS 为您创建 VPC。

      无法在 EC2 Classic 网络中创建 MariaDB 实例。

    • Subnet Group:如果您已经有子网组,则可以通过选择您的子网组标识符 (例如 gs-subnet-group1),将该子网组用于 MariaDB 数据库实例。

      否则,可以通过选择 Create a new subnet group,让 Amazon RDS 为您创建子网组。

    • Publicly Accessible:选择 No 可指定数据库实例中的实例只能由 VPC 内的资源访问。选择 Yes 可指定数据库实例中的实例可以由公用网络上的资源访问。默认值为 Yes

    • Availability Zone:选择 Availability Zone 可托管 MariaDB 数据库实例的主实例。要让 Amazon RDS 为您选择 Availability Zone,请选择 No Preference

    • Database Port:键入在连接到数据库实例中的实例时使用的默认端口。默认为 3306

      您可能位于企业防火墙后面,该防火墙不允许访问默认端口 (例如,MySQL 默认端口 3306)。在此情况下,请提供企业防火墙允许的端口值。

    • Enable Encryption:对于要进行静态加密的新 MariaDB 数据库实例,选择 Yes。如果选择 Yes,则您需要选择一个 AWS KMS 加密密钥作为 Master Key 值。

    • Auto Minor Version Upgrade:如果您希望在次要 MySQL 数据库引擎版本升级可用时,让 MariaDB 数据库实例自动接收这些升级,请选择 YesAuto Minor Version Upgrade 选项仅适用于升级到 MariaDB 数据库实例的 MySQL 次要引擎版本。它不适用于应用于维持系统稳定性的常规修补程序。

  6. 选择 Migrate

     从 MySQL 迁移到 MariaDB

CLI

要将数据从 MySQL 数据库快照迁移到 MariaDB 数据库实例,请结合以下参数使用 AWS CLI restore-db-instance-from-db-snapshot 命令:

  • --db-instance-identifier - 要从数据库快照创建的数据库实例的名称。

  • --db-snapshot-identifier - 要从中还原的数据库快照的标识符。

  • --engine - 要用于新实例的数据库引擎。

针对 Linux、OS X 或 Unix:

aws rds restore-db-instance-from-db-snapshot \ --db-instance-identifier newmariadbinstance \ --db-snapshot-identifier mysqlsnapshot \ --engine mariadb

对于 Windows:

aws rds restore-db-instance-from-db-snapshot \ --db-instance-identifier newmariadbinstance ^ --db-snapshot-identifier mysqlsnapshot ^ --engine mariadb

API

要将数据从 MySQL 数据库快照迁移到 MariaDB 数据库实例,请调用 Amazon RDS API 操作 RestoreDBInstanceFromDBSnapshot

https://rds.us-west-2.amazonaws.com/ ?Action=RestoreDBInstanceFromDBSnapshot &DBInstanceIdentifier= newmariadbinstance &DBSnapshotIdentifier= mysqlsnapshot &Engine= mariadb &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2013-09-09 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140428/us-west-2/rds/aws4_request &X-Amz-Date=20140428T232655Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=78ac761e8c8f54a8c0727f4e67ad0a766fbb0024510b9aa34ea6d1f7df52fe92

相关主题