

# 升级 MariaDB 数据库引擎
<a name="USER_UpgradeDBInstance.MariaDB"></a>

如果 Amazon RDS 支持数据库引擎的新版本，您可以将您的数据库实例升级到新版本。MariaDB 数据库实例具有两种升级：主要版本升级和次要版本升级。

*主要版本升级*会包含不与现有应用程序向后兼容的数据库更改。因此，您必须手动为数据库实例执行主要版本升级。您可以通过修改数据库实例来启动主要版本升级。但是，执行主要版本升级之前，建议您按照[RDS for MariaDB 的主要版本升级](USER_UpgradeDBInstance.MariaDB.Major.md)中的说明操作。

相比之下，*次要版本升级*仅包括与现有应用程序向后兼容的更改。您可以通过修改数据库实例来手动启动次要版本升级。您也可以在创建或修改数据库实例时启用**自动次要版本升级**选项。这样做意味着数据库实例在 Amazon RDS 测试并批准新版本后会自动升级。有关执行升级的信息，请参阅 [升级数据库实例 引擎版本](USER_UpgradeDBInstance.Upgrading.md)。

如果 MariaDB 数据库实例正在使用只读副本，则必须在升级源实例之前升级所有只读副本。如果数据库实例在多可用区部署中，则同时升级写入器和备用副本。在升级完成之前，数据库实例可能无法使用。

有关 MariaDB 支持的版本以及版本管理的更多信息，请参阅 [Amazon RDS 上的 MariaDB 版本](MariaDB.Concepts.VersionMgmt.md)。

数据库引擎升级需要停机。停机持续时间因数据库实例的大小而异。

Amazon RDS 还支持升级推出策略，以管理跨多个数据库资源和 Amazon Web Services 账户的自动次要版本升级。有关更多信息，请参阅 [使用 Amazon Organizations 升级推出策略自动升级次要版本](RDS.Maintenance.AMVU.UpgradeRollout.md)。

**提示**  
您可以使用蓝绿部署，显著减少数据库实例升级所需的停机时间。有关更多信息，请参阅 [使用 Amazon RDS 蓝绿部署进行数据库更新](blue-green-deployments.md)。

**Topics**
+ [MariaDB 升级的注意事项](#USER_UpgradeDBInstance.MariaDB.Considerations)
+ [查找有效的升级目标](#USER_UpgradeDBInstance.MariaDB.FindingTargets)
+ [MariaDB 版本号](USER_UpgradeDBInstance.MariaDB.VersionID.md)
+ [RDS for MariaDB 中的 RDS 版本号](USER_UpgradeDBInstance.MariaDB.rds.version.md)
+ [RDS for MariaDB 的主要版本升级](USER_UpgradeDBInstance.MariaDB.Major.md)
+ [升级 MariaDB 数据库实例](#USER_UpgradeDBInstance.MariaDB.Upgrading)
+ [RDS for MariaDB 的自动次要版本升级](USER_UpgradeDBInstance.MariaDB.Minor.md)
+ [使用只读副本在升级 RDS for MariaDB 数据库时减少停机时间](USER_UpgradeDBInstance.MariaDB.ReducedDowntime.md)
+ [使用事件监控 RDS for MariaDB 数据库引擎升级](USER_UpgradeDBInstance.MariaDB.Monitoring.md)

## MariaDB 升级的注意事项
<a name="USER_UpgradeDBInstance.MariaDB.Considerations"></a>

在升级流程期间，Amazon RDS 会创建两个或更多数据库快照。在进行任何升级更改*之前*，Amazon RDS 最多会拍摄两个数据库实例快照。如果无法完成数据库的升级，那么，就可以还原这些快照之一，来创建一个运行旧版本的数据库实例。升级完成后，Amazon RDS 会为数据库实例拍摄另一个快照。无论 Amazon Backup 是否管理数据库实例的备份，Amazon RDS 都会拍摄这些快照。

**注意**  
如果您将数据库实例的备份保留期设置为大于 0 的数字，则 Amazon RDS 只需创建数据库快照。要更改您的备份保留期，请参阅 [修改 Amazon RDS 数据库实例](Overview.DBInstance.Modifying.md)。

升级完成后，您无法恢复为数据库引擎的以前版本。如果要返回以前版本，则还原创建的第一个数据库快照以新建数据库实例。

您可以控制何时将数据库实例升级到 Amazon RDS 支持的新版本。此级别的控制可帮助您保留与特定数据库版本的兼容性，并在生产中部署前使用应用程序测试新版本。在您准备好后，可在与时间表最搭配的时间执行版本升级。

如果数据库实例使用只读副本，则必须先升级所有只读副本，然后再升级源实例。

如果数据库实例在多可用区部署中，则同时升级主数据库实例和备用数据库实例。主副本和备用数据库实例将同时升级，而您会遇到中断，直到升级完成。中断时间因数据库引擎、引擎版本和数据库实例大小而异。

## 查找有效的升级目标
<a name="USER_UpgradeDBInstance.MariaDB.FindingTargets"></a>

使用 Amazon Web Services 管理控制台 升级数据库实例时，它会显示数据库实例的有效升级目标。您还可以运行以下 Amazon CLI 命令来标识数据库实例的有效升级目标：

对于 Linux、macOS 或 Unix：

```
aws rds describe-db-engine-versions \
  --engine mariadb \
  --engine-version version_number \
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
```

对于：Windows

```
aws rds describe-db-engine-versions ^
  --engine mariadb ^
  --engine-version version_number ^
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
```

例如，要标识 MariaDB 版本 10.5.17 数据库实例的有效升级目标，请运行以下 Amazon CLI 命令：

对于 Linux、macOS 或 Unix：

```
aws rds describe-db-engine-versions \
  --engine mariadb \
  --engine-version 10.5.17 \
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
```

对于：Windows

```
aws rds describe-db-engine-versions ^
  --engine mariadb ^
  --engine-version 10.5.17 ^
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
```

## 升级 MariaDB 数据库实例
<a name="USER_UpgradeDBInstance.MariaDB.Upgrading"></a>

有关手动或自动升级 MariaDB 数据库实例的信息，请参阅[升级数据库实例 引擎版本](USER_UpgradeDBInstance.Upgrading.md)。