MySQL 5.7 atteint la fin de sa vie, passer Ă  MySQL 8 ou rester avec MySQL 5.7 ? MySQL EOL. - 🏆 Serveur gĂ©rĂ©

BLOG

23 novembre 2023

MySQL 5.7 atteint la fin de sa vie, passer Ă  MySQL 8 ou rester avec MySQL 5.7 ? MySQL EOL.

Quelques avantages et inconvĂ©nients du passage Ă  MySQL 8, comme la suppression du cache de requĂȘtes MySQL

MySQL-5.7-EOL-Mise Ă  niveau vers MySQL-8

Lorsqu'il s'agit de choisir une base de données pour exécuter votre application, MySQL reste l'un des choix les plus populaires. En tant que base de données open source la plus populaire de l'index DB-Engines depuis plus d'une décennie, MySQL fournit une plate-forme fiable. Cependant, le 31 octobre 2023 dernier, la version 5.7 a atteint le statut de fin de vie (EOL).

MySQL 5.7 EOL - Fin de vie

La fin de vie (EoL) d'un SGBD MySQL fait rĂ©fĂ©rence Ă  la fin du support officiel fourni par le fabricant pour une version spĂ©cifique de la base de donnĂ©es. Cela signifie qu'aucune mise Ă  jour de sĂ©curitĂ©, correctif de bug ou amĂ©lioration ne sera publiĂ©, rendant le systĂšme plus vulnĂ©rable aux risques de sĂ©curitĂ© et moins compatible avec les nouvelles technologies. Pour les entreprises, EoL signifie qu'elles doivent passer Ă  des versions plus rĂ©centes de MySQL pour garantir la sĂ©curitĂ©, l'efficacitĂ© et la compatibilitĂ© de leur base de donnĂ©es. L’échec de la migration peut exposer les donnĂ©es de l’entreprise Ă  des risques de sĂ©curitĂ©, Ă  des pertes de donnĂ©es et Ă  des problĂšmes de performances. De plus, les nouvelles fonctionnalitĂ©s et optimisations trouvĂ©es dans les versions mises Ă  jour de MySQL peuvent ĂȘtre cruciales pour amĂ©liorer les performances et l'efficacitĂ© globales des systĂšmes qui utilisent la base de donnĂ©es.

Selon les donnĂ©es de tĂ©lĂ©mĂ©trie de l'outil de gestion de base de donnĂ©es open source PMM, plus de la moitiĂ© des utilisateurs de MySQL utilisent actuellement la version 5.7. Cela signifie que de nombreuses instances devront ĂȘtre mises Ă  jour sous peine de problĂšmes potentiels.

Cependant, de nombreux dĂ©veloppeurs hĂ©sitent Ă  modifier leurs installations de bases de donnĂ©es une fois qu'elles fonctionnent correctement. Alors que d'autres Ă©lĂ©ments de la pile d'applications reçoivent des mises Ă  jour et des modifications rĂ©guliĂšres, les bases de donnĂ©es nĂ©cessitent des compĂ©tences spĂ©cifiques et une comprĂ©hension approfondie pour en tirer le meilleur parti dans des domaines tels que les requĂȘtes, les index et les performances. Une mise Ă  jour complĂšte comme celle-ci peut inspirer des sentiments d’apprĂ©hension, mais planifier vos prochaines Ă©tapes est essentiel avant votre date EOL.

Que signifie cette mise Ă  jour ?

Tout d’abord, il est important de regarder ce que propose la migration pour amĂ©liorer l’exĂ©cution de votre application et augmenter votre productivitĂ©. Pour commencer, MySQL 8.0 prend en charge un certain nombre de mises Ă  jour de SQL (Structured Query Language) qui facilitent l'Ă©criture et la prise en charge des requĂȘtes. Les requĂȘtes efficaces sont au cƓur de la façon dont vous utilisez les donnĂ©es dans votre application et votre entreprise, donc tout ce qui amĂ©liore cela devrait avoir un impact direct sur votre travail.

Les sous-requĂȘtes en sont un bon exemple. Leur crĂ©ation peut ĂȘtre difficile si vous ne travaillez pas avec SQL tous les jours, donc tirer parti d'options telles que les jointures dĂ©rivĂ©es latĂ©rales et les expressions de table communes (CTE) peut vous aider. Les CTE aident Ă  composer et Ă  gĂ©rer des requĂȘtes complexes en les divisant en unitĂ©s plus petites que vous pouvez rĂ©utiliser au fil du temps. En gardant les choses simples et lisibles, cela permet de crĂ©er les requĂȘtes dont vous avez besoin dans votre application. Il existe Ă©galement une nouvelle clause d'intersection pour vous aider avec les ensembles, vous aidant Ă  trouver des points de donnĂ©es communs dans deux ensembles de donnĂ©es ou plus sans avoir Ă  Ă©crire des requĂȘtes trĂšs complexes.

MySQL 8.0 inclut de nombreuses nouvelles commandes qui peuvent amĂ©liorer considĂ©rablement votre productivitĂ©. Un exemple est EXPLAIN ANALYZE, qui peut vous aider Ă  affiner les requĂȘtes. EXPLAIN fournit une estimation du comportement de votre requĂȘte, basĂ©e sur l'analyse du serveur. Cependant, il ne s’agit que d’une estimation et peut ĂȘtre incorrecte. L'utilisation de ANALYZE avec EXPLAIN exĂ©cute la requĂȘte, afin que vous puissiez avoir une vue plus prĂ©cise de la façon dont cette requĂȘte se comporte dans la rĂ©alitĂ©. Il est ainsi beaucoup plus facile de trouver des amĂ©liorations potentielles dans cette requĂȘte, plutĂŽt que de deviner. De plus, INVISIBLE INDEX vous aide Ă  tester l'efficacitĂ© d'un index sans risquer une reconstruction pouvant entraĂźner de graves problĂšmes.

En plus de ces changements de syntaxe et de commandes, MySQL 8.0 peut dĂ©sormais prendre en charge davantage de caractĂšres internationaux car le jeu de caractĂšres par dĂ©faut a Ă©tĂ© mis Ă  jour vers UTF8MB4, qui prend en charge Unicode version 9.0. Ceci est particuliĂšrement utile pour les entreprises ayant des activitĂ©s Ă  l’échelle mondiale.

Quitter le cache de requĂȘtes MySQL

MySQL Query Cache Ă©tait autrefois un Ă©lĂ©ment clĂ© pour maximiser les performances des bases de donnĂ©es. Conçue Ă  une Ă©poque oĂč les systĂšmes informatiques Ă©taient basĂ©s sur des architectures monocƓur et monoserveur, cette fonctionnalitĂ© a Ă©tĂ© optimisĂ©e pour de tels environnements, oĂč elle Ă©tait capable de fournir des rĂ©sultats rapides et efficaces. Le cache de requĂȘtes fonctionnait en stockant les rĂ©sultats de requĂȘtes frĂ©quentes, permettant Ă  la base de donnĂ©es de rĂ©cupĂ©rer ces donnĂ©es rapidement, sans avoir besoin de recalculer la mĂȘme requĂȘte Ă  chaque fois.

mysql-query-cache-haut niveau

Cependant, l’évolution technologique a apportĂ© des changements importants dans l’architecture des systĂšmes informatiques. Avec l’émergence et la popularitĂ© des processeurs multicƓurs et des architectures multithread, le paysage technologique a subi une transformation radicale. Ces changements ont introduit de nouveaux dĂ©fis dans la gestion du cache de requĂȘtes MySQL. La nĂ©cessitĂ© de synchroniser le cache sur plusieurs cƓurs et de gĂ©rer les accĂšs simultanĂ©s Ă  partir de diffĂ©rents threads a considĂ©rablement compliquĂ© sa mise en Ɠuvre. Cette complexitĂ© croissante a entraĂźnĂ© une augmentation des problĂšmes de synchronisation et de gestion du cache, entraĂźnant un ralentissement des opĂ©rations des bases de donnĂ©es plutĂŽt qu'une accĂ©lĂ©ration.

Face Ă  ces obstacles, Les dĂ©veloppeurs MySQL ont pris la dĂ©cision de rendre obsolĂšte le cache de requĂȘtes dans la version 5.7, puis de l'Ă©liminer complĂštement dans la version 8. Ce choix a Ă©galement Ă©tĂ© influencĂ© par le fait que MySQL 5.7 arrive en fin de vie en octobre 2023, ce qui signifie que les versions ultĂ©rieures de MySQL n'incluront plus cette fonctionnalitĂ©. Bien que le cache de requĂȘtes ait Ă©tĂ© supprimĂ©, son concept reste prĂ©cieux, en particulier dans les scĂ©narios oĂč les requĂȘtes de lecture dominent les opĂ©rations d'Ă©criture. Dans de tels contextes, la possibilitĂ© de stocker et de rĂ©cupĂ©rer rapidement les rĂ©sultats des requĂȘtes peut toujours offrir des avantages significatifs en termes d’efficacitĂ© et de performances.

L'Ă©limination du cache de requĂȘtes dans MySQL 8 reprĂ©sente un changement substantiel, avec des implications potentiellement critiques, notamment pour les sites Web Ă  fort volume de lecture, comme les blogs WordPress ou les plateformes similaires. Ces sites s'appuient souvent sur des opĂ©rations de lecture rapides pour offrir une expĂ©rience utilisateur fluide et rĂ©active. Le cache de requĂȘtes, dans ces contextes, a jouĂ© un rĂŽle essentiel en rĂ©duisant les temps de rĂ©ponse des bases de donnĂ©es, en stockant les rĂ©sultats des requĂȘtes les plus frĂ©quentes et en rĂ©duisant ainsi la charge sur la base de donnĂ©es elle-mĂȘme.

La suppression de cette fonctionnalitĂ© dans MySQL 8 peut donc entraĂźner des problĂšmes de performances importants pour ces sites. Sans Query Cache, chaque requĂȘte nĂ©cessitera un traitement complet des requĂȘtes de base de donnĂ©es, ce qui augmentera potentiellement les temps de rĂ©ponse et la charge du serveur. Ce scĂ©nario pose un dĂ©fi majeur aux administrateurs systĂšme et aux dĂ©veloppeurs de sites Web, qui doivent Ă©valuer soigneusement les avantages et les risques associĂ©s Ă  la mise Ă  niveau vers MySQL 8.

Dans certains cas, il peut ĂȘtre conseillĂ© de conserver MySQL 5.7 pour conserver les avantages du cache de requĂȘtes, mĂȘme si cette version atteint la fin de vie. Cependant, ce choix peut s’accompagner de risques de sĂ©curitĂ© et d’un manque de support, ce qui en fait une solution temporaire et loin d’ĂȘtre idĂ©ale Ă  long terme.

requĂȘte-cache-social

Une alternative intĂ©ressante est reprĂ©sentĂ©e par la migration vers MariaDB. Contrairement Ă  MySQL et Percona Server, MariaDB a choisi de maintenir le Query Cache, prĂ©servant ainsi ses avantages (et inconvĂ©nients) dans des contextes oĂč cette fonctionnalitĂ© est particuliĂšrement utile. Ce choix fait de MariaDB une option attractive pour les sites qui s'appuient fortement sur les opĂ©rations de lecture et souhaitent prĂ©server les performances offertes par le Query Cache.

Cependant, choisir MariaDB pour conserver les avantages du Query Cache implique aussi d’accepter un compromis en termes de performances globales du systĂšme de gestion de base de donnĂ©es (SGBD). Il est important de souligner que, selon les Ă©valuations actuelles, MySQL 8 prĂ©sente des performances nettement supĂ©rieures Ă  celles de MariaDB, une diffĂ©rence Ă  ne pas nĂ©gliger lors du choix du SGBD.

Les estimations indiquent que les performances de MySQL 8 peuvent ĂȘtre environ le double de celles de MariaDB. Cette diffĂ©rence est attribuable Ă  divers facteurs, notamment des optimisations plus avancĂ©es dans MySQL 8, des amĂ©liorations dans l'utilisation du matĂ©riel moderne, tel que les processeurs multicƓurs, et la mise en Ɠuvre de nouvelles fonctionnalitĂ©s qui augmentent l'efficacitĂ© globale du systĂšme.

Par exemple, MySQL 8 a introduit des amĂ©liorations dans l'optimisation des requĂȘtes, la gestion de la mĂ©moire et les opĂ©rations d'E/S, contribuant ainsi Ă  une augmentation spectaculaire des performances. De plus, MySQL 8 prend en charge des fonctionnalitĂ©s avancĂ©es telles que le DDL atomique (Data Definition Language), qui amĂ©liore la gestion et la sĂ©curitĂ© des opĂ©rations de dĂ©finition de donnĂ©es.

Planifier la mise Ă  niveau

La migration de MySQL 5.7 vers 8.0 est une démarche simple, mais certains changements spécifiques et importants peuvent affecter vos applications. La vérification préalable de votre application et de votre base de données indiquera si ce processus sera simple ou si vous devrez apporter des modifications plus complexes dans le cadre du processus de migration.

L'utilité util.checkForServerUpgrade() de MySQL Shell peut vous aider. Il exécute 21 tests différents pour vérifier les problÚmes potentiels pouvant affecter votre migration. Les vérifications incluent la recherche de tables dont les noms sont en conflit avec les nouveaux mots-clés réservés et de toutes les variables systÚme qui ont été supprimées ou modifiées par de nouvelles valeurs par défaut dans MySQL 8.0. La liste complÚte des variables ajoutées, obsolÚtes et supprimées est disponible ici. En plus de ces problÚmes potentiels, cet utilitaire recherche d'autres problÚmes tels que les tables partitionnées utilisant des moteurs de partitionnement non natifs, les références circulaires dans les chemins des fichiers de données des espaces de table et toute utilisation de fonctions supprimées dans MySQL 8.0.

util.checkForServerUpgrade()

Une fois que vous avez exĂ©cutĂ© cet utilitaire et dĂ©couvert la quantitĂ© de travail impliquĂ©e dans cette Ă©tape, vous avez maintenant le choix. Devriez-vous effectuer cette migration directe de la version 5.7 vers la version 8.0, ou devriez-vous explorer d’autres options ? Si vous devez consacrer un travail important Ă  la prĂ©paration de votre application et de votre base de donnĂ©es pour la mise Ă  niveau, devriez-vous plutĂŽt consacrer cet effort Ă  migrer vers une autre plate-forme ou base de donnĂ©es ? De mĂȘme, vous pourriez dĂ©cider d’envisager une maniĂšre diffĂ©rente de gĂ©rer votre infrastructure Ă  l’avenir – par exemple, votre application pourrait actuellement ĂȘtre hĂ©bergĂ©e sur site, mais vous pourriez plutĂŽt dĂ©placer ces serveurs vers le cloud ou un service hĂ©bergĂ© afin de ne pas le faire. Vous n'aurez plus Ă  vous soucier de la gestion de l'infrastructure Ă  l'avenir ?

Chacune de ces options prĂ©sentera des avantages et des inconvĂ©nients potentiels, il est donc important de les Ă©valuer dans leur contexte. Par exemple, les services basĂ©s sur le cloud peuvent rendre le fonctionnement beaucoup plus facile, mais vous devez Ă©galement dĂ©penser davantage en coĂ»ts d'exploitation de ces services. De plus, vous devez vĂ©rifier le processus d’entrĂ©e et de sortie des donnĂ©es de tout service cloud que vous utilisez. Cela permet d’éviter des coĂ»ts importants de sortie de donnĂ©es si jamais vous devez modifier votre approche. Enfin, vous devez Ă©galement vĂ©rifier si le service que vous utilisez est open source ou non. Bien que de nombreux fournisseurs prĂ©tendent ĂȘtre « compatibles » avec les options de bases de donnĂ©es open source comme MySQL, ils peuvent proposer des modules complĂ©mentaires spĂ©cifiques Ă  leur service ou leur version.

Vous avez des doutes ? Vous ne savez pas par oĂč commencer ? Contactez-nous !

Nous avons toutes les réponses à vos questions pour vous aider à faire le bon choix.

Discute avec nous

Discutez directement avec notre support avant-vente.

0256569681

Contactez-nous par téléphone pendant les heures de bureau 9h30 - 19h30

Contactez-nous en ligne

Ouvrez une demande directement dans l'espace contact.

INFORMATIONS

Managed Server Srl est un acteur italien leader dans la fourniture de solutions systÚme GNU/Linux avancées orientées vers la haute performance. Avec un modÚle d'abonnement peu coûteux et prévisible, nous garantissons que nos clients ont accÚs à des technologies avancées en matiÚre d'hébergement, de serveurs dédiés et de services cloud. En plus de cela, nous proposons des conseils systÚme sur les systÚmes Linux et une maintenance spécialisée en SGBD, sécurité informatique, Cloud et bien plus encore. Nous nous distinguons par notre expertise dans l'hébergement de CMS Open Source de premier plan tels que WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart et Magento, soutenus par un service d'assistance et de conseil de haut niveau adapté aux administrations publiques, aux PME et à toutes tailles.

Red Hat, Inc. dĂ©tient les droits de Red HatÂź, RHELÂź, RedHat LinuxÂź et CentOSÂź ; AlmaLinuxℱ est une marque commerciale d'AlmaLinux OS Foundation ; Rocky LinuxÂź est une marque dĂ©posĂ©e de la Rocky Linux Foundation ; SUSEÂź est une marque dĂ©posĂ©e de SUSE LLC ; Canonical Ltd. dĂ©tient les droits sur UbuntuÂź ; Software in the Public Interest, Inc. dĂ©tient les droits sur DebianÂź ; Linus Torvalds dĂ©tient les droits sur LinuxÂź ; FreeBSDÂź est une marque dĂ©posĂ©e de la FreeBSD Foundation ; NetBSDÂź est une marque dĂ©posĂ©e de la Fondation NetBSD ; OpenBSDÂź est une marque dĂ©posĂ©e de Theo de Raadt. Oracle Corporation dĂ©tient les droits sur OracleÂź, MySQLÂź et MyRocksÂź ; PerconaÂź est une marque dĂ©posĂ©e de Percona LLC ; MariaDBÂź est une marque dĂ©posĂ©e de MariaDB Corporation Ab ; REDISÂź est une marque dĂ©posĂ©e de Redis Labs Ltd. F5 Networks, Inc. dĂ©tient les droits sur NGINXÂź et NGINX PlusÂź ; VarnishÂź est une marque dĂ©posĂ©e de Varnish Software AB. Adobe Inc. dĂ©tient les droits sur MagentoÂź ; PrestaShopÂź est une marque dĂ©posĂ©e de PrestaShop SA ; OpenCartÂź est une marque dĂ©posĂ©e d'OpenCart Limited. Automattic Inc. dĂ©tient les droits sur WordPressÂź, WooCommerceÂź et JetPackÂź ; Open Source Matters, Inc. dĂ©tient les droits sur JoomlaÂź ; Dries Buytaert dĂ©tient les droits sur DrupalÂź. Amazon Web Services, Inc. dĂ©tient les droits sur AWSÂź ; Google LLC dĂ©tient les droits sur Google Cloudℱ et Chromeℱ ; Facebook, Inc. dĂ©tient les droits sur FacebookÂź ; Microsoft Corporation dĂ©tient les droits sur MicrosoftÂź, AzureÂź et Internet ExplorerÂź ; La Fondation Mozilla dĂ©tient les droits sur FirefoxÂź. ApacheÂź est une marque dĂ©posĂ©e de The Apache Software Foundation ; PHPÂź est une marque dĂ©posĂ©e du groupe PHP. CloudFlareÂź est une marque dĂ©posĂ©e de Cloudflare, Inc. ; NETSCOUTÂź est une marque dĂ©posĂ©e de NETSCOUT Systems Inc. ; ElasticSearchÂź, LogStashÂź et KibanaÂź sont des marques dĂ©posĂ©es d'Elastic NV. Ce site n'est affiliĂ©, sponsorisĂ© ou autrement associĂ© Ă  aucune des entitĂ©s mentionnĂ©es ci-dessus et ne reprĂ©sente aucune de ces entitĂ©s de quelque maniĂšre que ce soit. Tous les droits sur les marques et noms de produits mentionnĂ©s sont la propriĂ©tĂ© de leurs titulaires respectifs des droits d'auteur. Toutes les autres marques mentionnĂ©es appartiennent Ă  leurs titulaires. MANAGED SERVERÂź est une marque dĂ©posĂ©e au niveau europĂ©en par MANAGED SERVER SRL Via Enzo Ferrari, 9 62012 Civitanova Marche (MC) Italie.

JUSTE UN MOMENT !

Souhaitez-vous voir comment votre WooCommerce fonctionne sur nos systĂšmes sans avoir Ă  migrer quoi que ce soit ? 

Entrez l'adresse de votre site WooCommerce et vous obtiendrez une démonstration navigable, sans avoir à faire absolument quoi que ce soit et entiÚrement gratuite.

Non merci, mes clients préfÚrent le site lent.
Retour en haut de page