Fin de vie de MySQL 5.7 : notre plan de migration vers MySQL 8.0 LTS

8 janvier 2024 - 3 min de lecture
Fin de vie de MySQL 5.7 : notre plan de migration vers MySQL 8.0 LTS

Le support de MySQL 5.7 est officiellement terminé, tous les clients de Scalingo utilisant cette version sont fortement encouragés à planifier leur migration vers MySQL 8.0 LTS. Comme toujours chez Scalingo cette mise à jour est possible en 1 seul clic via notre dashboard ou notre outil en ligne de commande (CLI) !




La version 5.7 du plus connu des moteurs de base de données a représenté fièrement les couleurs de MySQL pendant de nombreuses années. Plus de 8 ans après sa sortie, Oracle entérine officiellement la fin de son support et le passage en phase de End-Of-Life (fin de vie) au 25 octobre 2023.

Le passage d’un logiciel en phase de End-Of-Life signifie que son éditeur ne fournira plus de mise à jour, de correction de bugs ou de correctif de sécurité. Pour éviter tout problème potentiel et garantir le bon fonctionnement de votre base de données, il est fortement recommandé de planifier sa migration vers MySQL 8.0 LTS dès maintenant.

La version 8 du moteur de MySQL s’accompagne de prérequis forts. Chaque table doit disposer d’une clé primaire (Primary Key) et n’utiliser que le moteur de stockage InnoDB. Nous avons détaillé des procédures simples afin de vous accompagner dans cette migration importante.

Un plan de migration en trois étapes

Nous allons déprécier MySQL 5.7 de notre plateforme en suivant un calendrier qui vous permettra de planifier votre passage vers la version 8.0 LTS en toute confiance et sécurité.

  1. MySQL 5.7 restera disponible pour les plans starter jusqu’au 1 avril 2024. Durant cette période, vous pourrez notamment démarrer de nouvelles instances en version 5.7 afin de qualifier votre migration vers MySQL 8.0 LTS.

  2. Au 1 avril 2024, MySQL 8.0 LTS deviendra la version par défaut pour tout nouveau déploiement d’instance MySQL. Il ne sera plus possible de lancer d’instance en 5.7, cependant les instances existantes ne seront pas affectées.

  3. À partir du 1 juillet 2024, les instances toujours en MySQL 5.7 seront progressivement et automatiquement mises à jour vers MySQL 8.0 LTS.

MySQL 8.0 LTS est sécurisée, résiliente et performante

Si vous utilisez un Plan Business, vous savez sûrement que le mode cluster, permettant la haute disponibilité et la reprise sur perte automatique et instantanée, est propulsé par MySQL 8.0 depuis 2020 ! Nous opérons également un très grand nombre de bases en plan Starter pour des clients qui souhaitent utiliser les dernières fonctionnalités offertes par MySQL 8.0.

N’hésitez plus et migrez ! Cette version Long-Term-Support (LTS) est sécurisée, performante et à même de supporter efficacement toutes les charges de travail que vous aviez avec la version précédente du moteur MySQL.

Mise à jour simple et sécurisée

Tout d’abord, il est important de préciser qu’il vous est possible de mettre à jour votre base à tout moment : ce processus, totalement automatisé et sécurisé, existe depuis plusieurs années et a pour objectif principal de prévenir toute incompatibilité et perte de données.

Comme nous l’indiquions dès sa sortie, MySQL 8.0 LTS dispose de nombreuses améliorations, mais qui sont accompagnées de prérequis obligatoires pour pouvoir en tirer profit. Plus de 5 ans après sa sortie, il est fort probable que toutes vos briques logiciels activement maintenus soient pleinement compatibles !

Afin de prévenir toute incompatibilité liée à vos données, nous avons mis en place un mécanisme qui empêche l’exécution de la mise à jour dans le cas où au moins une de vos tables ne disposerait pas de Primary Key ou n’utiliserait pas le moteur de stockage InnoDB. Si vous êtes dans l’un de ces cas, nous avons documenté différentes procédures de mises à jour vers MySQL 8 afin de vous assister dans cette tâche.

En premier lieu, vérifiez si votre applicatif dispose d’une version qui prend nativement en charge MySQL 8. Pour prendre un exemple simple, WordPress doit être mis à jour a minima vers sa version 5.0 (sortie en 2018) pour être compatible avec MySQL 8.0 LTS.

Tester n'est pas douter

Nous vous avions parlé précédemment des Review Apps. C’est un formidable outil de collaboration qui vous permettent de valider tout changement de code.

Pour qualifier une mise à jour de base de données, nous allons vous proposer une approche différente, car le paradigme est inversé ! Vous allez vouloir valider qu’une même version de votre code fonctionne avec une nouvelle version de votre base.

Voici le processus que nous utilisons en interne pour qualifier une mise à jour applicable à nos bases de données :

  • Effectuer une sauvegarde manuelle. Prudence est mère de sûreté. Les plans Starter et Business disposent d’un certain nombre de sauvegardes manuelles que vous pouvez créer et supprimer à votre guise, utilisez-les !

  • Créer une nouvelle application Scalingo. Cette dernière ne vivra que le temps de valider le fonctionnement de notre procédure de mise à jour.

  • Déployer notre applicatif et ses addons. Il est important ici de déployer les versions qui sont actuellement en production. Dans votre cas, il peut s’agir d’une base MySQL en version 5.7.

  • Importer des données représentatives. Ces données ne sont bien évidemment pas issues de notre production et ne contiennent aucune information client ou personnelle. Elles sont cependant représentatives, en format et volume, pour nous rapprocher au maximum de notre base de production.

  • Jouer nos scénarios de test. Nous validons ainsi le bon fonctionnement de notre application afin de ne pas générer de faux positif par la suite.

  • Mettre à jour le moteur de base de données. Nous utilisons principalement la CLI, mais c’est également disponible via notre dashboard.

  • Jouer nos scénarios de test sur la version cible. Tout est bon ? Nous pouvons ensuite supprimer cette application et effectuer cette même procédure sur notre base de production !

N’hésitez pas à adapter cette procédure à votre environnement et à venir nous poser des questions par chat !

Nous savons qu’une mise à jour de base de données n’est jamais une opération triviale et nous espérons que les outils disponibles sur notre plateforme seront à même de vous offrir une expérience fluide et sans accrocs.

Si vous avez des questions relatives à cette mise à jour, ou sur la bonne manière de l’appréhender, venez nous trouvez sur le support. Nous serons heureux de vous aiguiller et de vous faire profiter de notre retour d’expérience.

Partager l'article
Benjamin Ach
Benjamin Ach
Benjamin est Product Manager chez Scalingo : un pied dans la technique, un pied dans le business et un autre dans l’experience utilisateur. Son objectif ? Que votre expérience du PaaS Scalingo impacte positivement vos habitudes de développement logiciel !

Essayez gratuitement Scalingo

30 jours d'essai gratuit / Pas de CB nécessaire / Hébergé en France