Je souhaite effectuer une mise à niveau de la version d'Amazon Relational Database Service (Amazon RDS) for MySQL avec un temps d'arrêt minimal.
Résolution
Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.
Mettre à niveau manuellement une version d'Amazon RDS for MySQL
Pour mettre manuellement à niveau la version du moteur d'une instance de base de données RDS, utilisez la console de gestion AWS, l'interface de ligne de commande AWS (AWS CLI) ou l'API Amazon RDS. Pour plus d'informations, consultez la section Mise à niveau du moteur de base de données MySQL.
Temps de mise à niveau d'Amazon RDS for MySQL
Le temps de la mise à niveau dépend du type de mise à niveau, des données et des ressources disponibles. Pour estimer la durée de votre mise à niveau, testez les mises à niveau sur des instances de test distinctes. Pour lancer des instances de test en vue de la mise à niveau majeure ou mineure, vous pouvez également utiliser une restauration instantanée ou un réplica en lecture. Pour plus d'informations, consultez les sections Mises à niveau des versions majeures pour MySQL et Mises à niveau automatiques des versions mineures pour MySQL. Pour minimiser les interruptions de mise à niveau, utilisez le déploiement bleu/vert pour les mises à jour de base de données.
Lorsque vous activez les sauvegardes, Amazon RDS prend un instantané de la version précédente de l'instance pour toutes les mises à niveau. Si Amazon RDS ne trouve aucune sauvegarde récente, Amazon RDS prend un instantané complet pendant le processus de mise à niveau. L'ampleur de vos modifications affecte la durée de votre mise à niveau. Toutefois, votre instance peut continuer à accepter du trafic lorsque Amazon RDS prend l'instantané. Une fois la sauvegarde terminée, l'instance s'arrête. MySQL exécute ensuite la nouvelle version du moteur sur un réseau désactivé pour empêcher toute connexion à distance.
Pour utiliser un arrêt lent, Amazon RDS définit la valeur du paramètre innodb_fast_shutdown à 0. Lors d'un arrêt lent, Amazon RDS fusionne le tampon de modification et effectue une purge complète des lignes supprimées. Un arrêt lent peut prendre de quelques minutes à plusieurs heures en fonction de la quantité de données récupérée. L'arrêt lent d'une base de données présentant un important tampon de modifications ou une longue liste d’historique peut prendre plus de temps. Pour plus d'informations, consultez les sections arrêt lent, innodb_fast_shutdown, mémoire tampon des modifications et purger sur le site Web de MySQL.
Le programme mysql_upgrade s'exécute sur la base de données MySQL pour convertir les tables système et utilisateur en une nouvelle version. En fonction de l'état de votre table, vous devrez peut-être créer votre table pour qu'elle soit conforme à une nouvelle version. Pour indiquer que la base de données est mise à niveau, le programme mysql_upgrade met à jour les métadonnées de la table. Si vous disposez d’un plus grand nombre de tables, Amazon RDS for MySQL peut prendre plus de temps pour terminer la mise à niveau de la version majeure. Pour plus d'informations, consultez la page mysql_upgrade : Vérifier et mettre à jour les tables MySQL sur le site Web de MySQL.
Lors des mises à niveau majeures vers la version 5.7, Amazon RDS for MySQL recrée certaines de vos tables. Tous les types de colonnes de date et d'heure sont convertis au nouveau format. En fonction de la quantité de données contenue dans vos tables, la conversion peut prendre plusieurs heures, voire plusieurs jours.
Les incompatibilités entre MySQL 5.7 et MySQL 8.0 peuvent entraîner des problèmes lors de la mise à niveau. Pour une mise à niveau réussie, il est recommandé de préparer votre base de données.Lorsque vous lancez une mise à niveau de MySQL 5.7 vers la version 8.0, Amazon RDS exécute automatiquement des vérifications préalables pour détecter ces incompatibilités. Pour plus d'informations, consultez le Chapitre 3 Mise à niveau de MySQL sur le site web de MySQL.
Pour une mise à niveau de MySQL 5.6 vers MySQL 5.7, Amazon RDS effectue des vérifications préalables pour confirmer qu'il existe un espace de stockage suffisant pour reconstruire les tables. Amazon RDS confirme également qu'il n'existe aucune table orpheline. Amazon RDS n'exécute pas de vérifications préalables pour les mises à niveau vers des versions antérieures à MySQL 5.7. Il est recommandé de disposer d'un plan de restauration en cas d'échec potentiel d'une mise à niveau majeure des versions.
Pour vérifier l'absence de problèmes dans vos tables, il est recommandé d'effectuer une vérification mysqlcheck. Cependant, les opérations de maintenance des tables peuvent nécessiter beaucoup de temps et de ressources. Pour plus d'informations, consultez la page mysqlcheck : Un programme de maintenance des tables sur le site web de MySQL.
Informations connexes
Mettre à niveau une version du moteur d'instance de base de données
Bonnes pratiques pour la mise à niveau d'Amazon RDS for MySQL et d'Amazon RDS for MariaDB
Versions de MySQL sur Amazon RDS