将数据从 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(数据库引擎版本)。您不能更改数据库引擎版本。

    
                        从 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 内存缓存插件内部信息