Mise à niveau du moteur de base de données MariaDB - Amazon Relational Database Service

Mise à niveau du moteur de base de données MariaDB

Lorsque Amazon RDS prend en charge une nouvelle version d'un moteur de base de données, vous pouvez mettre à niveau vos instances de bases de données vers cette nouvelle version. Il existe deux types de mises à niveau pour les instances de base de données MariaDB : les mises à niveau de version majeure et les mises à niveau de version mineure.

Les mises à niveau de version majeure peuvent contenir des modifications de base de données qui ne sont pas rétrocompatibles avec les applications existantes. En conséquence, vous devez effectuer manuellement les mises à niveau de version majeure de vos instances de base de données. Vous pouvez lancer une mise à niveau de version majeure en modifiant votre instance de base de données. Cependant, avant d'effectuer une mise à niveau de version majeure, nous vous recommandons de suivre les étapes décrites dans Vue d'ensemble de la mise à niveau.

En revanche, une mise à niveau de version mineure contient uniquement des modifications rétrocompatibles avec les applications existantes. Vous pouvez lancer manuellement une mise à niveau de version mineure en modifiant votre instance de base de données. Vous pouvez également activer l'option Mise à niveau automatique des versions mineures lorsque vous créez ou modifiez une instance de base de données. Dans ce cas, votre instance de base de données est automatiquement mise à niveau une fois que Amazon RDS a testé et approuvé la nouvelle version. Pour de plus amples informations sur la mise à niveau, veuillez consulter Mise à niveau d'une version du moteur d'une instance de base de données .

Si votre instance de base de données MariaDB utilise des réplicas en lecture, vous devez mettre à niveau tous les réplicas en lecture avant de mettre à niveau l'instance source. Si votre instance de base de données se trouve dans un déploiement Multi-AZ, les deux réplicas, enregistreur et de secours, sont mis à niveau. Votre instance de base de données peut ne pas être disponible tant que la mise à niveau n'est pas terminée.

Pour plus d'informations sur les versions MariaDB prises en charge et la gestion des versions, consultez Versions de MariaDB sur Amazon RDS.

Vue d'ensemble de la mise à niveau

Les mises à niveau de versions majeures peuvent contenir des modifications de base de données qui ne sont pas rétrocompatibles avec les applications existantes. En conséquence, Amazon RDS n'applique pas automatiquement les mises à niveau des versions majeures. Vous devez modifier manuellement votre instance de base de données. Vous devez tester soigneusement toute mise à niveau avant de l'appliquer à vos instances de production.

Sauf indication contraire, votre instance de base de données est automatiquement mise à niveau vers les nouvelles versions MariaDB mineures à mesure que celles-ci sont prises en charge par Amazon RDS. Ces correctifs sont appliqués pendant le créneau de maintenance planifié. Pour désactiver les mises à niveau automatiques de versions mineures, vous pouvez modifier une instance de base de données.

Amazon RDS prend deux snapshots DB au cours du processus de mise à niveau. Le premier instantané de base de données porte sur l'instance de base de données avant que toute modification de mise à niveau soit apportée. Si la mise à niveau ne fonctionne pas pour vos bases de données, vous pouvez restaurer cet instantané pour créer une instance de base de données exécutant l'ancienne version. Le second instantané de base de données est pris à la fin de la mise à niveau.

Note

Amazon RDS ne prend des instantanés de base de données que si vous avez défini la période de rétention des sauvegardes de votre instance de base de données sur un nombre supérieur à 0. Pour modifier la période de rétention des sauvegardes, consultez Modification d'une instance de base de données Amazon RDS.

Une fois la mise à niveau terminée, vous ne pouvez pas rétablir la version précédente du moteur de base de données. Si vous souhaitez revenir à la version précédente, restaurez le premier instantané de base de données pris pour créer une nouvelle instance de base de données.

Vous contrôlez à quel moment vous mettez à niveau votre instance de base de données vers une nouvelle version prise en charge par Amazon RDS. Ce niveau de contrôle vous aide à maintenir la compatibilité avec des versions de base de données spécifiques et à tester les nouvelles versions avec votre application avant un déploiement en production. Lorsque vous êtes prêt, vous pouvez effectuer des mises à niveau de version aux moments qui conviennent le mieux à votre planning.

Si votre instance DB utilise la réplication en lecture, vous devez mettre à niveau tous les réplicas en lecture avant de mettre à niveau l'instance source.

Si votre instance de base de données se trouve dans un déploiement multi-AZ, les deux instances de base de données principale et de secours sont mises à niveau. Les instances de base de données principales et de secours sont mises à niveau en même temps, et vous êtes confronté à une panne jusqu'à ce que la mise à niveau soit terminée. La durée de la panne varie selon votre moteur de base de données, la version du moteur et la taille de votre instance de base de données.

Si vous utilisez un groupe de paramètres personnalisé et que vous effectuez une mise à niveau de version majeure, vous devez spécifier un groupe de paramètres par défaut pour la nouvelle version du moteur de base de données ou créer votre propre groupe de paramètres personnalisé pour la nouvelle version du moteur de base de données. L'association du nouveau groupe de paramètres avec l'instance de base de données exige un redémarrage de la base de données initié par le client après la mise à niveau. Le statut du groupe de paramètres de l'instance indique pending-reboot si l'instance doit être redémarrée pour que les modifications du groupe de paramètres soient appliquées. Il est possible d'afficher le statut du groupe de paramètres d'une instance dans la console AWS ou en utilisant un appel « describe » tel que describe-db-instances.

Mise à niveau d'une instance de base de données MariaDB

Pour plus d'informations sur la mise à niveau manuelle ou automatique d'une instance de base de données MariaDB, consultez la section Mise à niveau d'une version du moteur d'une instance de base de données .

Mises à niveau automatiques des versions mineures pour MariaDB

Si vous activez l'option Mise à niveau automatique des versions mineures au moment de créer ou modifier une instance de base de données, votre instance de base de données peut être mise à niveau automatiquement.

Pour certaines versions majeures de RDS pour MariaDB dans certaines régions AWS, RDS désigne une version mineure comme version de mise à niveau automatique. Une fois qu'une version mineure a été testée et approuvée par Amazon RDS, la mise à niveau de la version mineure se produit automatiquement pendant votre fenêtre de maintenance. RDS ne définit pas automatiquement les dernières versions mineures publiées comme version de mise à niveau automatique. Avant de désigner une publication de version récente comme version de mise à niveau automatique, RDS prend en compte plusieurs critères, à savoir :

  • Problèmes de sécurité connus

  • Bogues dans la version de la communauté MySQL

  • Stabilité globale du parc depuis la publication de la version mineure

Vous pouvez utiliser la commande AWS CLI et le script suivants pour déterminer la version cible de mise à niveau mineure automatique actuelle pour une version mineure MariaDB spécifiée dans une région AWS spécifique.

aws rds describe-db-engine-versions --output=table --engine mariadb --engine-version minor-version --region region

Par exemple, la commande AWS CLI suivante détermine la cible de mise à niveau mineure automatique pour MariaDB minor version 5.7.19 dans la région AWS USA Est (Ohio) (us-east-2).

aws rds describe-db-engine-versions --output=table --engine mysql --engine-version 10.2.21 --region us-east-2

Votre sortie est similaire à ce qui suit.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | DescribeDBEngineVersions | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ || DBEngineVersions || |+---------------------------+-----------------------------+-------------------------+----------+----------------+------------+--------------------------------------+-----------------------+| || DBEngineDescription | DBEngineVersionDescription | DBParameterGroupFamily | Engine | EngineVersion | Status | SupportsLogExportsToCloudwatchLogs | SupportsReadReplica || |+---------------------------+-----------------------------+-------------------------+----------+----------------+------------+--------------------------------------+-----------------------+| || MariaDb Community Edition| MariaDB 10.2.11 | mariadb10.2 | mariadb | 10.2.11 | available | True | True || |+---------------------------+-----------------------------+-------------------------+----------+----------------+------------+--------------------------------------+-----------------------+| ||| ExportableLogTypes ||| ||+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|| ||| audit ||| ||| error ||| ||| general ||| ||| slowquery ||| ||+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|| ||| ValidUpgradeTarget ||| ||+-----------------------------+----------------------------------------+-----------------------+------------------------------------+-----------------------------------------------------+|| ||| AutoUpgrade | Description | Engine | EngineVersion | IsMajorVersionUpgrade ||| ||+-----------------------------+----------------------------------------+-----------------------+------------------------------------+-----------------------------------------------------+|| ||| False | MariaDB 10.2.12 | mariadb | 10.2.12 | False ||| ||| False | MariaDB 10.2.15 | mariadb | 10.2.15 | False ||| ||| True | MariaDB 10.2.21 | mariadb | 10.2.21 | False ||| ||| False | MariaDB 10.3.8 | mariadb | 10.3.8 | True ||| ||| False | MariaDB 10.3.13 | mariadb | 10.3.13 | True ||| ||| False | MariaDB 10.3.20 | mariadb | 10.3.20 | True ||| ||| False | MariaDB 10.3.23 | mariadb | 10.3.23 | True ||| ||+-----------------------------+----------------------------------------+-----------------------+------------------------------------+-----------------------------------------------------+||

Dans cet exemple, la valeur de AutoUpgrade est True pour MariaDB version 10.2.21. Ainsi, la cible de mise à niveau mineure automatique est MariaDB version 10.2.21, comme mis en évidence dans la sortie.

Une instance de base de données MariaDB est automatiquement mise à niveau pendant votre fenêtre de maintenance si les critères suivants sont réunis :

  • L'option Mise à niveau automatique des versions mineures est activée pour l'instance de base de données.

  • L'instance de base de données exécute une version mineure du moteur de base de données qui est inférieure à la version mineure de la mise à niveau automatique actuelle.

Pour plus d'informations, consultez Mise à niveau automatique de la version mineure du moteur.