将数据从 MySQL 数据库快照迁移到 MariaDB 数据库实例 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

您可使用 Amazon Web Services Management Console、Amazon CLI 或 Amazon RDS API 将 RDS for MySQL 数据库快照迁移到运行 MariaDB 的新数据库实例。您必须使用从运行 MySQL 5.6 或 5.7 的 Amazon RDS 数据库实例创建的数据库快照。要了解如何创建 RDS for MySQL 数据库快照,请参阅 为单可用区数据库实例创建数据库快照

迁移快照不会影响从中拍摄快照的原始数据库实例。您可以先测试和验证新数据库实例,然后再将流量转移到该数据库实例以替代原始数据库实例。

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

执行迁移

您可以使用 Amazon Web Services Management Console、Amazon CLI 或 RDS API 将 RDS for MySQL 数据库快照迁移到新的 MariaDB 数据库实例。

将 MySQL 数据库快照迁移到 MariaDB 数据库实例
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择快照,然后选择您希望迁移的 MySQL 数据库快照。

  3. 对于 Actions(操作),请选择 Migrate snapshot(迁移快照)。随后将显示 Migrate database(迁移数据库)页。

  4. 对于迁移到数据库引擎,选择 mariadb

    Amazon RDS 将自动选择 DB engine version(数据库引擎版本)。您不能更改数据库引擎版本。

    Amazon RDS 控制台中用于从 MySQL 迁移到 MariaDB 的迁移数据库页面。
  5. 对于其余部分,请指定数据库实例设置。有关每项设置的信息,请参阅 数据库实例的设置

  6. 选择 Migrate

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

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

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

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

对于 Linux、macOS 或 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

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

MariaDB 和 MySQL 之间的不兼容性

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

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

  • 如果源 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 密码哈希,请确保使用 Amazon Web Services Management Console、modify-db-instance Amazon CLI 命令或 ModifyDBInstance RDS API 操作重置密码。有关修改数据库实例的信息,请参阅修改 Amazon RDS 数据库实例

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