Mise à niveau de la version principale

Une mise à niveau de version majeure fait référence à la mise à niveau d'une version majeure vers une autre version majeure selon l'un des chemins de mise à niveau de version majeure suivants :

  • Passez d'une version LTS à une version Innovation avant la prochaine série LTS.
  • Effectuez une mise à niveau d'une version Bugfix ou LTS vers la prochaine série LTS.
  • Passez d'une version Innovation à la prochaine série LTS.

Ces chemins incluent des transitions entre l'innovation et les versions LTS, qui sont considérées comme des mises à niveau de version majeures.

La mise à niveau entre les versions Innovation dans la même version majeure (par exemple, 9.5.x à 9.6.x) est prise en charge, mais elle n'est pas considérée comme une mise à niveau majeure.

Note

Si votre mise à niveau ne suit pas l'un de ces chemins, elle échouera. Même si la mise à niveau semble avoir commencé, elle échouera finalement.

Vous ne pouvez pas effectuer de mise à niveau directe entre les versions Innovation de différentes versions majeures (par exemple, 8.3.0 à 9.0.0). À la place, vous devez d'abord passer à la version LTS la plus proche, puis à la version Innovation suivante (par exemple, passer de 8.3.0 à 8.4.0, puis à 9.0.0).

Tableau 5-9 Chemins de mise à niveau des versions principales

Version courante Version vers laquelle vous pouvez effectuer la mise à niveau

8.0 Correctif de bogue

8.4 LTS

8.4 LTS

9.5.x Innovation

9.6.x Innovation

9.7 LTS

9.x Innovation 9.7 LTS

Avant d'effectuer une mise à niveau majeure de la version, vous devez d'abord identifier les modifications entre la version courante et la nouvelle version, puis vérifier que ces modifications n'affectent pas la façon dont vous utilisez le serveur de base de données MySQL.

Il n'est pas possible de déclasser un système de base de données vers un numéro de version MySQL inférieur. Il est recommandé d'effectuer une sauvegarde du système de base de données avant la mise à niveau. Voir Création d'une sauvegarde manuelle. La sauvegarde vous permet de restaurer le système de base de données avec le numéro de version initial avant la mise à niveau.

Chaque version majeure du serveur MySQL est susceptible d'introduire de nouvelles fonctionnalités et de supprimer certaines fonctionnalités obsolètes. Les principales modifications à prendre en compte avant la mise à niveau sont présentées dans les sections suivantes :

Mise à niveau du correctif de bogue MySQL 8.0 vers MySQL 8.4 LTS

MySQL 8.4 LTS introduit de nouvelles fonctionnalités et supprime certaines fonctions obsolètes par rapport à MySQL 8.0 Bugfix.

Vous devez tenir compte de ces modifications avant de mettre à niveau votre système de base de données de MySQL 8.0 à MySQL 8.4 :
  • Comme la variable default_authentication_plugin est supprimée dans la version MySQL 8.4, le système de base de données ignore la variable default_authentication_plugin dans la configuration. La valeur par défaut est toujours caching_sha2_password. Vous pouvez remplacer la méthode d'authentification par défaut de vos comptes d'utilisateur par les énoncés CREATE USER et ALTER USER, si nécessaire.
  • Le plugiciel d'authentification mysql_native_password obsolète est désactivé par défaut. Vos comptes d'utilisateur ne peuvent pas utiliser la méthode d'authentification mysql_native_password.
    Note

    Pour la compatibilité descendante, si la méthode d'authentification mysql_native_password est utilisée par des utilisateurs existants, la mise à niveau activera le plugiciel d'authentification mysql_native_password obsolète. Comme le plugiciel d'authentification mysql_native_password sera supprimé dans la prochaine version majeure après MySQL 8.4, vous devez commencer à migrer ces comptes d'utilisateur pour utiliser la méthode d'authentification caching_sha2_password.
  • Ces nouveaux mots réservés sont ajoutés dans MySQL 8.4 : MANUAL, PARALLEL, QUALIFY et TABLESAMPLE. Vous ne pouvez pas utiliser un mot réservé dans un identificateur sans guillemets.
  • L'option AUTO_INCREMENT n'est plus autorisée dans les types de données FLOAT et DOUBLE. La mise à niveau échoue si vous avez une table qui contient une colonne FLOAT ou DOUBLE avec AUTO_INCREMENT.
  • Le privilège SET_ANY_DEFINER introduit dans la version MySQL 8.2.0 est accordé au compte d'administrateur et au rôle administrator de tout système de base de données exécutant MySQL version 8.2.0 ou ultérieure.
Note

Vous ne pouvez pas mettre à niveau MySQL 8.0 vers MySQL 9.x directement, vous devez d'abord mettre à niveau MySQL 8.0 vers MySQL 8.4, puis mettre à niveau MySQL 8.4 vers MySQL 9.x.

Mise à niveau de MySQL 8.4 LTS vers MySQL 9.x Innovation ou 9.7 LTS

MySQL 9.x Innovation et 9.7 LTS introduisent de nouvelles fonctionnalités et suppriment certaines fonctionnalités obsolètes par rapport à MySQL 8.4 LTS.

Vous devez être conscient de ces modifications avant de mettre à niveau votre système de base de données de MySQL 8.4 LTS vers MySQL 9.x Innovation ou 9.7 LTS :
  • Le plugiciel d'authentification mysql_native_password est supprimé dans MySQL 9.x Innovation et 9.7 LTS. Vos comptes d'utilisateur ne peuvent pas utiliser la méthode d'authentification mysql_native_password.
    Note

    Avant la mise à niveau, vous devez migrer tous les comptes d'utilisateur qui utilisent la méthode d'authentification mysql_native_password vers la méthode d'authentification caching_sha2_password.
    Note

    La réplication entrante ne peut pas non plus se connecter à un utilisateur de réplication sur le serveur source créé avec la méthode d'authentification mysql_native_password. Vous devez recréer l'utilisateur de réplication avec la méthode d'authentification caching_sha2_password. En outre, toute opération impliquant la méthode d'authentification mysql_native_password sur le serveur source interrompt la réplication. Par exemple, la création ou la modification du mot de passe d'un compte d'utilisateur qui utilise la méthode d'authentification mysql_native_password.
  • Dans MySQL 9.2 et versions ultérieures, le mot clé BINLOG est restreint et ne peut plus être utilisé sans guillemets en tant qu'étiquette dans un sous-programme stocké ou une fonction stockée MySQL. Vous devez mettre à jour les applications concernées en conséquence, avant de passer à MySQL 9.x Innovation ou 9.7 LTS.