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 base 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 instructions décrites dans Mises à niveau des versions majeures pour MariaDB.

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.

Note

Les mises à niveau du moteur de base de données nécessitent un temps d'arrêt. La durée du temps d'arrêt varie en fonction de la taille de votre instance de base de données.

Présentation de la mise à niveau

Lorsque vous utilisez AWS Management Console pour mettre à niveau une instance de base de données, les cibles de mise à niveau valides pour l'instance de base de données sont affichées. Vous pouvez également utiliser la commande AWS CLI suivante pour identifier les cibles de mise à niveau valides pour une instance de base de données :

Pour Linux, macOS ou Unix :

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

Pour Windows :

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

Par exemple, pour identifier les cibles de mise à niveau valides pour une instance de base de données MariaDB version 10.3.13, exécutez la commande AWS CLI suivante :

Pour Linux, macOS ou Unix :

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

Pour Windows :

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

Amazon RDS prend deux instantanés de base de données 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.

Mises à niveau des versions majeures pour MariaDB

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, Amazon RDS n'applique pas les mise à niveau de version majeure automatiquement. Vous devez modifier manuellement votre instance de base de données. Nous vous recommandons de tester soigneusement toute mise à niveau avant de l'appliquer à vos instances de production.

Amazon RDS prend en charge les mises à niveau sur place suivantes des versions majeures du moteur de base de données MariaDB :

  • MariaDB 10.2 vers MariaDB 10.3

  • MariaDB 10.3 vers MariaDB 10.4

  • MariaDB 10.4 vers MariaDB 10.5

Pour effectuer une mise à niveau de version majeure pour une instance de base de données MariaDB version 10.2 sur Amazon RDS vers MariaDB version 10.3 ou ultérieure, procédez d'abord à la mise à niveau vers chaque version majeure : 10.2 vers 10.3, puis 10.3 vers 10.4, et 10.4 vers 10.5.

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 spécifiez les paramètres suivants lors de la création ou de la modification d'une instance de base de données, celle-ci peut être mise à niveau automatiquement.

  • Le paramètre Mise à niveau automatique des versions mineures est activé.

  • Le paramètre Période de conservation des sauvegardes est supérieur à 0.

Pour plus d'informations sur ces paramètres, consultez la page Paramètres des instances de base de données.

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 version mineure 10.2.11 dans la région AWS USA Est (Ohio) (us-east-2).

aws rds describe-db-engine-versions --output=table --engine mariadb --engine-version 10.2.11 --region us-east-2

Votre sortie est similaire à ce qui suit.

--------------------------------------------------------------------------------------------- | DescribeDBEngineVersions | +-------------------------------------------------------------------------------------------+ || DBEngineVersions || |+--------------------------------------------------+--------------------------------------+| || DBEngineDescription | MariaDb Community Edition || || DBEngineVersionDescription | MariaDB 10.2.11 || || DBParameterGroupFamily | mariadb10.2 || || Engine | mariadb || || EngineVersion | 10.2.11 || || Status | available || || SupportsGlobalDatabases | False || || SupportsLogExportsToCloudwatchLogs | True || || SupportsParallelQuery | False || || SupportsReadReplica | 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.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 :

  • Le paramètre Mise à niveau automatique des versions mineures est activé.

  • Le paramètre Période de conservation des sauvegardes est supérieur à 0.

  • 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.