Mise à niveau majeure de version

Avant d'effectuer une mise à niveau de version majeure, vous devez d'abord identifier les modifications entre la version en cours 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.

Etant donné que vous ne pouvez pas faire passer un système de base de données à un numéro de version MySQL inférieur, vous devez effectuer une sauvegarde du système de base de données avant la mise à niveau. Reportez-vous à Création d'une sauvegarde manuelle. La sauvegarde vous permet de restaurer le système de base de données sur le numéro de version d'origine avant la mise à niveau.

Lorsque vous souhaitez effectuer une mise à niveau d'une version majeure vers une autre version majeure, vous devez suivre les règles de chemin de mise à niveau. Vous pouvez effectuer les opérations suivantes :
  • Passez d'une version Bugfix ou LTS à une version Innovation avant la prochaine série LTS.
  • Effectuez une mise à niveau d'une version Bugfix ou LTS vers la série LTS suivante.
  • Passez d'une version Innovation à la prochaine série LTS.
Remarque

Si la mise à niveau ne satisfait pas à l'une de ces règles, elle échouera. Même si la mise à niveau semble avoir commencé, elle finira par échouer.

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

Version en cours Version vers laquelle vous pouvez effectuer la mise à niveau

Correction de bugs 8.0

8.1 Innovation

8.2 Innovation

8.3 Innovation

Correction de bugs 8.0

8.4 LTS

8.1 Innovation

8.2 Innovation

8.3 Innovation

8.4 LTS

8.4 LTS

Innovation 9.0.x

Innovation 9.1.x

Innovation 9.2.x

Innovation 9.3.x

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 répertorié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 fonctionnalités obsolètes par rapport à MySQL 8.0 Bugfix.

Vous devez connaître ces modifications avant de mettre à niveau le système de base de données de MySQL 8.0 vers MySQL 8.4 :
  • Lorsque la variable default_authentication_plugin est enlevée dans 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 utilisateur par les instructions CREATE USER et ALTER USER si nécessaire.
  • Le module d'extension d'authentification mysql_native_password en phase d'abandon est désactivé par défaut. Vos comptes utilisateur ne peuvent pas utiliser la méthode d'authentification mysql_native_password.
    Remarque

    Pour des raisons de compatibilité ascendante, si la méthode d'authentification mysql_native_password est utilisée par des utilisateurs existants, la mise à niveau active le module d'extension d'authentification mysql_native_password en phase d'abandon. Etant donné que le module d'extension d'authentification mysql_native_password sera enlevé dans la prochaine version majeure après MySQL 8.4, vous devez commencer à migrer ces comptes 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 identifiant 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 disposez d'une table contenant une colonne FLOAT ou DOUBLE avec AUTO_INCREMENT.
  • Le privilège SET_ANY_DEFINER introduit dans MySQL 8.2.0 est accordé au compte administrateur et au rôle administrator de tout système de base de données exécutant MySQL version 8.2.0 ou supérieure.
Remarque

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

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

Vous devez être conscient de ces modifications avant de mettre à niveau le système de base de données de MySQL 8.4 LTS vers MySQL 9.x Innovation :
  • Le module d'extension d'authentification mysql_native_password est enlevé dans MySQL 9.0. Vos comptes utilisateur ne peuvent pas utiliser la méthode d'authentification mysql_native_password.
    Remarque

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

    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 interrompra la réplication. Par exemple, la création ou la modification du mot de passe d'un compte utilisateur utilisant la méthode d'authentification mysql_native_password.
  • A partir de MySQL 9.2, le mot-clé BINLOG est restreint et ne peut plus être utilisé sans guillemets en tant que libellé dans une routine stockée MySQL ou une fonction stockée. Vous devez mettre à jour les applications concernées en conséquence, avant de procéder à la mise à niveau vers MySQL 9.2.