Qu’est-ce que MySQL 9 ? Nouvelles fonctionnalités, différences avec la version LTS 8.4, guide de migration et comparaison des bases de données relationnelles (mise à jour 2025)

目次

1. Introduction

MySQL est l’un des systèmes de gestion de bases de données relationnelles (SGBDR) les plus largement utilisés par les entreprises et les ingénieurs du monde entier. Parmi ses versions, la série « MySQL 9 », introduite en 2024 et au-delà, se distingue comme une « Innovation Release » qui se différencie clairement des versions précédentes en incorporant de nombreuses nouvelles fonctionnalités et des technologies de pointe qui élargissent davantage les possibilités des bases de données.

Jusqu’à présent, MySQL était surtout connu pour ses versions à support à long terme (LTS) telles que « 8.4 », qui privilégient la stabilité et la robustesse. Cependant, l’évolution des tendances technologiques et les exigences du marché ont accru le besoin d’un accès plus rapide aux nouvelles fonctionnalités et d’une adoption précoce des exigences liées à l’IA et au big data. MySQL 9 a suscité un intérêt considérable de la part des développeurs et des administrateurs de bases de données en tant que version audacieuse et tournée vers l’avenir, conçue pour répondre à ces exigences modernes.

Cet article fournit un aperçu complet de MySQL 9 (9.0–9.3), incluant ses fonctionnalités clés, ses améliorations, ses différences par rapport aux versions antérieures, les considérations de migration et les comparaisons avec d’autres bases de données à l’horizon 2025. Si vous vous demandez « Qu’est‑ce que MySQL 9 ? » ou « Dans quels scénarios est‑il utile ? », ce guide vous aidera à prendre des décisions éclairées concernant le choix de la base de données et les opérations système.

Que vous soyez développeur explorant les dernières technologies de bases de données, ingénieur d’exploitation envisageant une mise à niveau de votre environnement MySQL, ou simplement à la recherche d’informations techniques, nous vous invitons à lire jusqu’à la fin.

2. Aperçu de la série MySQL 9 et contexte de la version

La série MySQL 9 représente la première vague d’un nouveau modèle de version appelé « Innovation Release », marquant une évolution majeure par rapport à la branche MySQL 8. Alors que les mises à jour précédentes se concentraient principalement sur les versions LTS (Long Term Support) axées sur la stabilité, la série 9 met clairement l’accent sur la livraison rapide de nouvelles technologies.

La version LTS traditionnelle, MySQL 8.4, est conçue pour les systèmes d’entreprise et les environnements critiques, offrant des garanties à long terme pour les corrections de bugs et les correctifs de sécurité. En revanche, la Innovation Release MySQL 9 se focalise sur la mise en œuvre de nouvelles fonctionnalités alignées sur les tendances technologiques modernes — telles que l’IA, le développement cloud‑native et l’analyse big data — avec un cycle de version plus rapide.

Le contexte de la sortie de MySQL 9 réside dans l’avancement rapide des technologies de bases de données et la diversification des exigences du monde réel. Par exemple, des fonctionnalités comme la recherche vectorielle pour l’ère de l’IA et les procédures stockées JavaScript ont été introduites afin d’offrir une expérience de développement qui dépasse les capacités traditionnelles des SGBDR. En conséquence, MySQL évolue d’un simple « système de stockage de données » vers une plateforme de données intelligente capable d’effectuer des traitements avancés et des analyses en temps réel.

Cela dit, les Innovation Releases conviennent le mieux aux développeurs et aux organisations avant‑gardistes qui souhaitent un accès immédiat aux dernières technologies et une adoption précoce des tendances émergentes. Pour la stabilité opérationnelle à long terme et la maintenabilité, les versions LTS (comme MySQL 8.4) restent le choix recommandé. Ainsi, la série MySQL 9 sépare clairement « innovation » et « stabilité », permettant aux utilisateurs de sélectionner la version la plus appropriée en fonction de leurs besoins spécifiques.

Dans la section suivante, nous explorerons les ajouts de fonctionnalités et les améliorations réelles introduits dans MySQL 9, en détaillant les mises à jour par version.

3. Historique des mises à jour par version (Résumé de 9.0–9.3)

La série MySQL 9 se caractérise par l’introduction progressive de fonctionnalités et d’améliorations inédites. Ici, nous organisons les principales mises à jour de MySQL 9.0 à 9.3, publiées de 2024 jusqu’au printemps 2025, par version.

3.1 MySQL 9.0 (Sortie juillet 2024)

MySQL 9.0 lancé en tant que première Innovation Release. Le point clé de cette version est qu’elle offre une expérience qui n’était pas possible dans les versions précédentes.
Les nouvelles fonctionnalités notables incluent les suivantes.

  • Introduction d’un type de données Vector Fournit un support natif MySQL pour la “recherche vectorielle”, essentielle pour l’IA et les moteurs de recommandation.
  • Programmes stockés basés sur JavaScript En utilisant GraalVM et ECMAScript 2023, vous pouvez écrire des procédures stockées et des déclencheurs en JavaScript (fonctionnalité réservée à l’Enterprise).
  • Sortie JSON pour EXPLAIN ANALYZE Facilite la visualisation et l’automatisation des plans d’exécution, améliorant considérablement l’efficacité du réglage des performances.
  • Suppression de la méthode d’authentification native_password

Peu de temps après la sortie, des bugs ont été découverts ; la distribution MySQL 9.0.0 a été arrêtée, et le MySQL 9.0.1 corrigé a été rapidement fourni.

3.2 MySQL 9.1 (Sorti en octobre 2024)

Cette version s’est principalement concentrée sur la stabilisation et l’amélioration des fonctionnalités introduites dans la 9.0.

  • Optimisation du type vector et performances de requête plus rapides
  • La disponibilité en aperçu a commencé sur des services tels qu’AWS RDS
  • Sécurité renforcée et contrôles d’autorisations

3.3 MySQL 9.2 (Sorti en janvier 2025)

  • Privilèges GIS supplémentaires
  • Améliorations de mysqldump (dumps incluant les utilisateurs et les informations de privilèges)
  • Introduction du format JSON EXPLAIN version 2

3.4 MySQL 9.3 (Sorti en avril 2025)

  • Optimisation supplémentaire du type vector et indexation améliorée
  • API d’intégration élargies pour les opérations et les outils de gestion
  • Améliorations de performance et stabilité renforcée

3.5 Fonctionnalités supprimées / obsolètes

  • Suppression complète de la méthode d’authentification native_password
  • Fin du support pour certaines parties des anciens protocoles client

3.6 Feuille de route future

MySQL 9 devrait continuer à ajouter des capacités liées à l’IA, des intégrations cloud et une interopérabilité renforcée entre les systèmes RDB. Comprendre les différences d’une version à l’autre et les appliquer en fonction de vos objectifs est essentiel.

4. Fonctionnalités nouvelles mises en avant et cas d’utilisation pratiques

Un signe distinctif majeur de la série MySQL 9 est qu’elle comprend de nombreuses fonctionnalités innovantes qui n’étaient pas disponibles dans les produits RDBMS traditionnels. Ici, nous nous concentrons sur les nouvelles fonctionnalités ayant le plus grand impact dans les environnements réels et expliquons les cas d’utilisation pratiques ainsi que les considérations clés.

4-1. Type de données Vector

Caractéristiques clés et ce que vous pouvez faire
Le type de données vector est un nouveau type qui vous permet de stocker et de rechercher des “vecteurs multidimensionnels” couramment utilisés en IA et en apprentissage automatique directement dans la base de données. Auparavant, cela nécessitait souvent Elasticsearch ou une base de données vectorielle externe, mais à partir de MySQL 9 vous pouvez définir un type vector et effectuer des recherches de similarité et d’exploration des plus proches voisins.

Exemples de cas d’utilisation

  • Recherches “trouver similaire” pour des produits ou des images
  • Mise en place de systèmes de recommandation
  • Recherche sémantique (recherche vectorielle en langage naturel)

Exemple de SQL

CREATE TABLE items (
  id INT PRIMARY KEY,
  feature VECTOR(128)
);

Remarques
Pour le moment, ce n’est pas un remplacement complet de la recherche en texte intégral, et il existe certaines contraintes concernant l’indexation et les performances des requêtes.

4-2. Programmes stockés basés sur JavaScript

Contexte et caractéristiques clés
Avec le support de GraalVM et ECMAScript 2023, MySQL a ajouté la possibilité d’écrire des procédures stockées en JavaScript. Cela est particulièrement attrayant pour les développeurs web, car cela leur permet d’implémenter la logique de la base de données dans un langage familier.

Exemple de code

CREATE PROCEDURE add_numbers(a INT, b INT)
LANGUAGE JAVASCRIPT
AS
$$
  return a + b;
$$;

Remarques
Cette fonctionnalité est limitée à MySQL Enterprise Edition et HeatWave, et ne peut pas être utilisée dans la Community Edition.

4-3. Sortie JSON pour EXPLAIN ANALYZE

Vue d’ensemble et avantages
Les plans d’exécution peuvent désormais être exportés au format JSON, ce qui facilite l’intégration avec des outils externes. Cela permet la visualisation et l’analyse automatisée, améliorant la précision de l’optimisation des performances.

Exemple de requête

EXPLAIN ANALYZE FORMAT=JSON
SELECT * FROM items WHERE id = 1;

4-4. Autres améliorations (privilèges GIS, améliorations de mysqldump, etc.)

  • Introduction des privilèges GIS : Permet des réglages d’autorisations plus granulaires pour travailler avec des données géospatiales.
  • Améliorations de mysqldump : Permet des sauvegardes complètes incluant les informations d’utilisateur et de privilèges, facilitant les migrations cloud et la restauration d’environnements.

MySQL 9 offre un large éventail de capacités flexibles et innovantes conçues pour l’ère de l’IA, du cloud et de l’analyse de données.

5. Comparaison des nouvelles fonctionnalités avec d’autres SGBDR (PostgreSQL, MariaDB, etc.)

Comment les fonctionnalités avancées introduites dans la série MySQL 9 se comparent-elles aux autres grands systèmes de bases de données relationnelles (SGBDR) ? Dans cette section, nous comparons MySQL 9 avec des SGBDR représentatifs tels que PostgreSQL et MariaDB afin de clarifier ses points forts et ses caractéristiques.

5-1. Implémentation et application des types de données vectorielles

MySQL 9

  • Prend en charge un type VECTOR natif, permettant la recherche de similarité et le stockage de vecteurs via le SQL standard.
  • Prend également en charge les calculs de distance vectorielle via des opérateurs dédiés (par ex., <=>).

PostgreSQL

  • Les types vectoriels ne sont pas implémentés dans la distribution de base, mais des extensions (comme pgvector) offrent ce support.
  • L’installation et l’exploitation nécessitent un niveau modéré d’expertise technique.

MariaDB

  • Aucun support natif des types vectoriels ; les alternatives reposent généralement sur les types JSON ou le traitement externe.

Résumé
MySQL 9 se distingue par son implémentation officielle et simplifiée, facilitant l’adoption.

5-2. Flexibilité des langages de programmes stockés

MySQL 9

  • Introduit des programmes stockés basés sur JavaScript (basés sur GraalVM, réservés à l’Enterprise).

PostgreSQL

  • Prend en charge PL/pgSQL ainsi que plusieurs langages tels que PL/Python, PL/Perl et des variantes JavaScript.

MariaDB

  • Principalement basé sur SQL ; les options de langages sont relativement limitées.

Résumé
PostgreSQL mène en flexibilité multi-langages, tandis que MySQL 9 se concentre sur l’accessibilité pour les développeurs web.

5-3. Méthodes d’authentification et architecture de sécurité

MySQL 9

  • Suppression de native_password ; caching_sha2_password est désormais la norme.

PostgreSQL

  • Prend en charge divers mécanismes de sécurité, y compris SCRAM-SHA-256 et l’authentification basée sur certificat.

MariaDB

  • Similaire à MySQL, mais tend à maintenir le support des méthodes d’authentification héritées.

Résumé
MySQL 9 est progressif dans la standardisation des paramètres de sécurité, tandis que PostgreSQL offre un contrôle plus granulaire.

5-4. Sauvegarde et outils opérationnels

MySQL 9

  • mysqldump amélioré (prend en charge les dumps incluant les utilisateurs et les informations de privilèges).

PostgreSQL

  • Outils complets tels que pg_dump et pg_basebackup ; prend en charge les opérations basées sur des snapshots.

MariaDB

  • Hérite d’outils similaires à MySQL, bien que les ajouts de fonctionnalités soient plus conservateurs.

Résumé
MySQL 9 atteint un niveau élevé de préparation au cloud et de capacité de sauvegarde complète.

5-5. Développement futur et feuille de route technique

MySQL 9 se caractérise par la livraison officielle rapide de nouvelles fonctionnalités. PostgreSQL met l’accent sur l’extensibilité open source, tandis que MariaDB équilibre compatibilité et innovation indépendante.

Chaque base de données a des points forts distincts, ainsi le choix du bon SGBD dépend de vos exigences de projet et de votre stratégie de développement.

6. Guide de migration et de déploiement pour MySQL 9

Because MySQL 9 intègre activement de nouvelles technologies, la migration depuis des environnements existants ou son déploiement dans de nouveaux systèmes nécessite une planification minutieuse. Cette section présente des listes de contrôle pratiques, des considérations de compatibilité, des conseils de déploiement cloud et les étapes d’un déploiement pilote.

6-1. Liste de contrôle pour les environnements existants

Vérifier les méthodes d’authentification
Dans MySQL 9, l’authentification native_password a été supprimée, et des méthodes plus récentes comme caching_sha2_password sont désormais standard. Avant de passer à une version plus récente, assurez‑vous que vos applications et outils client prennent en charge la méthode d’authentification mise à jour.

Compatibilité des clients et des pilotes
Confirmez que les pilotes MySQL pour PHP, Python, Java et autres environnements supportent officiellement MySQL 9. Certaines versions de pilotes peuvent entraîner des erreurs de connexion ou un comportement inattendu.

6-2. Considérations de compatibilité et de migration

Gestion des fonctionnalités supprimées
Certaines API, méthodes d’authentification et paramètres de configuration des versions antérieures ont été supprimés ou dépréciés. Consultez la liste officielle des dépréciations et suppressions avant la migration.

Revue de la syntaxe SQL et des types de données
Avec l’ajout de nouvelles fonctionnalités, la syntaxe SQL et le comportement des types de données peuvent avoir changé. Des tests pré‑migration approfondis sont indispensables, notamment pour les implémentations SQL personnalisées ou les systèmes hérités.

6-3. Déploiement cloud (AWS RDS, Google Cloud, etc.)

Disponibilité des versions
Le support de MySQL 9 s’étend aux services tels qu’AWS RDS et Google Cloud SQL. Vérifiez toujours la disponibilité, les restrictions de version et les conditions propres à chaque service.

Considérations de migration cloud

  • La gestion des autorisations et la configuration réseau peuvent être soumises aux contraintes du fournisseur cloud.
  • Combiner les fonctionnalités de sauvegarde/restauration natives du cloud avec les outils MySQL 9 tels que mysqldump améliore la fiabilité et la sécurité.

6-4. Flux de travail de déploiement d’essai (simplifié)

Étape 1 : Sauvegarde et évaluation de l’environnement
Avant la migration, effectuez une sauvegarde complète et consignez votre version actuelle, les paramètres de configuration et les privilèges des utilisateurs.

Étape 2 : Validation dans un environnement de test
N’appliquez pas les modifications directement en production. Déployez plutôt MySQL 9 sur un serveur de test ou via Docker et reproduisez les scénarios de migration.

Étape 3 : Vérifications de compatibilité et réglages
Évaluez l’impact des fonctionnalités dépréciées et nouvelles, et ajustez le SQL ou les applications selon les besoins.

Étape 4 : Migration en production et surveillance
Durant la phase initiale en production, surveillez en continu les journaux et les indicateurs de performance et assurez des capacités de réponse rapide.

6-5. Choisir entre LTS (8.4) et Innovation (série 9)

  • LTS (8.4) : Idéal pour les systèmes critiques nécessitant une exploitation stable et à long terme.
  • Innovation (série 9) : Le plus adapté aux équipes de développement adoptant tôt les capacités d’IA et les technologies émergentes.

La série MySQL 9 offre une flexibilité pour répondre à un large éventail de besoins.

7. Résumé et scénarios d’utilisation recommandés

La série MySQL 9 se démarque des versions LTS traditionnelles en tant que base de données tournée vers l’avenir et axée sur l’innovation, apportant une transformation aux environnements modernes. Dans ce chapitre, nous résumons quels types d’utilisateurs et quels environnements sont les mieux adaptés à la série 9 et nous fournissons des critères clairs pour choisir entre MySQL 9 et la LTS (8.4).

7-1. Qui devrait envisager MySQL 9 ?

  • Services exploitant activement l’IA et l’apprentissage automatique
  • Nouveaux projets de développement web ou de lancement SaaS
  • Équipes utilisant massivement les environnements cloud et recherchant une innovation rapide des bases de données
  • Équipes de développement souhaitant se différencier en adoptant tôt les tendances technologiques émergentes

7-2. Quand choisir la LTS (8.4)

  • Systèmes où la stabilité opérationnelle à long terme est la priorité absolue
  • Environnements hérités mettant l’accent sur la compatibilité et le support étendu
  • Grandes organisations où les mises à jour fréquentes de version sont difficiles à gérer

7-3. Exemple de flux de décision

  1. S’agit-il d’un nouveau projet de développement ou d’une mise à niveau d’un système existant ?
  2. Les capacités IA ou la recherche vectorielle sont-elles requises ?
  3. Des fonctionnalités réservées aux entreprises, telles que les programmes stockés JavaScript, seront-elles utilisées ?
  4. Votre équipe a-t-elle la capacité opérationnelle pour gérer des mises à niveau fréquentes ?

7-4. Perspectives futures et points de vigilance clés

La série MySQL 9 devrait continuer à recevoir des mises à jour de fonctionnalités régulières. Les fonctionnalités liées à l’IA, les capacités d’analyse avancées, les intégrations cloud et les améliorations de performance supplémentaires sont des domaines à surveiller de près.

La valeur de MySQL 9 dépend de ce que votre organisation priorise aujourd’hui. Définir clairement quand utiliser les versions LTS par rapport aux versions Innovation permet la sélection la plus stratégique et optimale de la base de données.

8. Questions fréquemment posées (FAQ)

Il y a de nombreuses questions courantes concernant les différences par rapport aux versions précédentes et les dernières capacités de la série MySQL 9. Ci-dessous figurent des questions fréquemment posées issues d’environnements réels et leurs réponses.

Q1. MySQL 9.x peut-il être utilisé en production ?

A.
MySQL 9.x est une version Innovation, conçue pour les environnements qui priorisent la flexibilité et l’accès aux nouvelles fonctionnalités. L’utilisation en production est possible, mais votre équipe doit être préparée à gérer les mises à niveau et les dépannages potentiels. Si une stabilité maximale est requise, la version LTS (telle que MySQL 8.4) est recommandée.

Q2. Le type de données vectoriel peut-il remplacer la recherche en texte intégral ?

A.
Le type de données vectoriel est conçu pour les recherches basées sur la similarité (« proximité sémantique ») et diffère de la recherche en texte intégral traditionnelle basée sur la correspondance exacte de chaînes. Il est préférable de l’utiliser comme une fonctionnalité complémentaire plutôt que comme un remplacement.

Q3. Le support des procédures stockées JavaScript est-il disponible dans l’édition Community gratuite ?

A.
Actuellement, les programmes stockés JavaScript sont disponibles uniquement dans MySQL Enterprise Edition et HeatWave. Ils ne sont pas pris en charge dans l’édition Community.

Q4. La méthode d’authentification native_password a été supprimée—que dois-je faire ?

A.
MySQL 9 recommande caching_sha2_password et d’autres méthodes d’authentification sécurisées. Avant la migration, vérifiez que vos applications et bibliothèques de connexion supportent la nouvelle méthode d’authentification et mettez à jour les paramètres de configuration en conséquence.

Q5. Par rapport à d’autres SGBDR (tels que PostgreSQL ou MariaDB), quelles sont les forces de MySQL 9 ?

A.
MySQL 9 fournit un support officiel rapide pour de nouvelles capacités telles que le type de données vectoriel et les programmes stockés JavaScript. Il est particulièrement fort dans les scénarios de développement web et les cas d’utilisation d’intégration cloud.

Q6. Quels sont les problèmes courants lors des mises à niveau ?

A.
Les problèmes courants incluent les changements de méthode d’authentification, la suppression de fonctionnalités obsolètes et les différences de syntaxe SQL. Effectuez toujours des tests approfondis dans un environnement de staging et assurez-vous d’avoir des sauvegardes complètes avant la mise à niveau.

9. Liens et références connexes

Si vous souhaitez explorer MySQL 9 en profondeur, l’utilisation de la documentation officielle, des blogs d’experts et des ressources communautaires est très efficace. Ci-dessous figurent des références fiables et des liens utiles.

9-1. Documentation officielle et notes de version

9-2. Articles techniques et études de cas

9-3. Communauté et forums

9-4. Sites officiels d’autres SGBDR

9-5. Comment rester informé

Comme les notes de version et les blogs officiels sont mis à jour régulièrement, les consulter fréquemment vous permet de rester à jour. Lors de l’évaluation ou de l’exploitation de MySQL 9, exploitez les ressources présentées ici pour créer des systèmes plus robustes et prêts pour l’avenir.