Databases for MySQL 8.4 AG
Dans le cadre de notre engagement à offrir un portefeuille de bases de données en nuage riche et mature, Cloud Databases lance la version MySQL 8.4.
Nouveaux déploiements d' Databases for MySQL
Pour les nouveaux déploiements Cloud Databases, faites une sauvegarde de votre instance v8.0 existante et importez-la dans un déploiement v8.4. Utilisez des outils tels que mysqldump ou mydumper pour importer dans Databases for MySQL le déploiement de v8.4. Pour plus d'informations, consultez la section Migration vers Databases for MySQL.
Déploiements existants d' Databases for MySQLv8.0
Pour migrer les déploiements existants d' v8.0 sur IBM Cloud® Databases for MySQL vers la nouvelle version majeure v8.4, vous devez effectuer une mise à niveau vers la version majeure. La procédure recommandée consiste à restaurer une sauvegarde de votre déploiement existant d' v8.0 dans un nouveau déploiement exécutant MySQL v8.4. Vous pouvez lancer ce processus de mise à niveau à l'aide de l'interface utilisateur, de l'interface de ligne de commande ou de l'API. Pour obtenir des instructions détaillées, étape par étape, sur la mise à niveau vers cette version majeure, consultez la section Mise à niveau vers une nouvelle version majeure.
Lorsque la mise à niveau est terminée, les modifications ne peuvent pas être annulées. Les modifications sont incompatibles et vous ne pouvez pas utiliser le répertoire de données de MySQL 8.4 sur MySQL 8.0. Conservez votre sauvegarde MySQL v8.0, car elle vous aidera à restaurer votre instance MySQL v8.0 si les modifications doivent être annulées.
Prérequis de mise à niveau
Avant de tenter toute mise à niveau, consultez MySQL's Préparation de votre installation pour la mise à niveau afin de vous assurer que celle-ci est prête.
Introduction à l' MySQL 8.4s LTS
MySQL 8.4 est la nouvelle version à support à long terme (LTS). En tant que version LTS, ses fonctionnalités sont stables et verrouillées après la sortie initiale de l' 8.4.0. MySQL 8.0 arrivant en fin de vie, la migration vers MySQL 8.4 est cruciale pour continuer à bénéficier du support, des corrections de bogues et des mises à jour de sécurité.
Principales modifications apportées à l' Databases for MySQL 8.4
Databases for MySQL introduit les nouvelles fonctionnalités suivantes pour les instances de base de données exécutant la version d' MySQL 8.4:
- Authentification : MySQL 8.4 impose caching_sha2_password comme plugin d'authentification par défaut, supprimant ainsi complètement la variable default_authentication_plugin. Les clients qui utilisent actuellement mysql_native_password doivent migrer leurs comptes vers caching_sha2_password afin d'éviter toute défaillance de connexion. Pour plus d'informations, consultez la section 8.4.1.1, Authentification native enfichable.
- MySQL 8.4 : mises à jour de la terminologie de réplication : MySQL 8.4 impose un langage inclusif en supprimant les termes non inclusifs, tels que Master et Slave, de la syntaxe SQL, ce qui signifie que
les instructions SQL de réplication obsolètes ne sont plus prises en charge et entraîneront des erreurs de syntaxe. Par exemple, utilisez
SHOW BINARY LOG STATUSau lieu deSHOW MASTER STATUSet utilisezSHOW REPLICA STATUSau lieu deSHOW SLAVE STATUS. L'automatisation et les configurations doivent être mises à jour afin d'utiliser ces nouveaux noms. La liste complète des modifications apportées aux déclarations est disponible ici : Nouveautés dans l' MySQL 8.4 depuis MySQL 8.0. - Modifications du comportement des paramètres :
- binlog_transaction_compression est activé par défaut afin de réduire le temps de transfert réseau et l'utilisation de l'espace de stockage.
- replica_parallel_workers est défini par défaut sur 200 afin d'augmenter considérablement la concurrence pour une relecture plus rapide des transactions sur les répliques.
- innodb_flush_log_at_trx_commit est défini par défaut sur 1 afin de garantir une durabilité maximale des données sur le nœud principal.
- binlog_transaction_compression_level_zstd est défini par défaut sur 3 afin d'équilibrer l'efficacité de la compression et la charge CPU.
- Paramètres obsolètes ou supprimés :
AUTO_INCREMENT: MySQL 8.4 ne prend plus en chargeAUTO_INCREMENTsurFLOATouDOUBLEcolonnes. Avant la mise à niveau, vous devez modifier toutes les tables utilisant cette combinaison afin d'éviter tout échec de la mise à niveau.- Suppression des instructions et variables de réplication : un large éventail de commandes MASTER /SLAVE* et de variables d'état ont été supprimées. Cela signifie que tous les scripts ou outils qui dépendent de ces variables d'état ne fonctionneront plus. Pour obtenir la liste complète des instructions et variables supprimées, consultez la section Nouveautés d' MySQL 8.4 depuis MySQL 8.0.
- Variables d'authentification : la variable default_authentication_plugin a été supprimée.
- Changements notables :
- Nouveaux mots-clés réservés : MySQL 8.4 réserve des mots-clés tels que
MANUAL,PARALLEL,QUALIFY, etTABLESAMPLE. Si votre schéma utilise ces éléments comme identifiants non mis entre guillemets, les requêtes échoueront après la mise à niveau. Vérifiez et notez ces identifiants avant la mise à niveau. - Exigence relative à la mise à niveau de l'index spatial : un problème connu dans le processus de mise à niveau peut entraîner la corruption des index spatiaux. Pour garantir l'intégrité des données, nous vous recommandons de supprimer tous les index spatiaux avant la mise à niveau et de les recréer immédiatement après la fin de la migration.
- Mises à jour automatiques de l'histogramme : MySQL 8.4 introduit des mises à jour automatiques de l'histogramme, améliorant ainsi l'optimisation des requêtes en supprimant la nécessité de mises à jour manuelles. Pour activer la mise
à jour automatique sur un histogramme spécifique, il suffit d'exécuter
ANALYZE TABLE UPDATE HISTOGRAMavecAUTO UPDATEl'option. - Améliorations des privilèges : Le
SET_USER_IDprivilège a été remplacé parSET_ANY_DEFINERetALLOW_NONEXISTENT_DEFINER. - GTID : introduit la possibilité de marquer les groupes de transactions avec des GTID pour un suivi amélioré.
- Nouveaux mots-clés réservés : MySQL 8.4 réserve des mots-clés tels que
Pour obtenir la liste complète des fonctionnalités et des modifications apportées à MySQL 8.4, consultez la section Nouveautés d' MySQL 8.4depuis MySQL 8.0 dans la documentation MySQL.
Transition semi-synchronisée vers asynchrone
Lors de la mise à niveau de Databases for MySQL v8.0 vers v8.4, l'architecture de réplication par défaut passe d'une réplication semi-synchrone à une réplication asynchrone. Cette modification améliore les performances d'écriture et la résilience en garantissant que le nœud principal ne se bloque pas en attendant les accusés de réception des répliques, ce qui rend votre environnement de base de données plus robuste et plus rapide de manière constante. Cela améliore la haute disponibilité en réduisant les temps de basculement et en améliorant la réactivité globale du système. Pour plus d'informations, voir Présentation de la haute disponibilité et de la reprise après incident pour Databases for MySQL.