Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Fonctionnalités MySQL prises en charge sur Amazon RDS
RDS for MySQL prend en charge la plupart des fonctionnalités et des capacités de MySQL. Certaines fonctions peuvent avoir une prise en charge limitée ou des privilèges restreints.
Vous pouvez filtrer les nouvelles fonctions de Amazon RDS sur la page Nouveautés en matière de base de donnéesMySQL 2022
.
Note
Les listes suivantes ne sont pas exhaustives.
Rubriques
Support des fonctionnalités MySQL sur les versions majeures d'Amazon RDS for MySQL
Dans les sections suivantes, vous trouverez des informations sur la prise en charge des fonctionnalités MySQL dans les versions majeures d'Amazon RDS for MySQL :
Rubriques
Pour plus d'informations sur les versions mineures prises en charge d'Amazon RDS for MySQL, Versions de MySQL mineures prises en charge sur Amazon RDS consultez.
Support de MySQL 8.4 sur Amazon RDS
Amazon RDS prend en charge les nouvelles fonctionnalités suivantes pour vos instances de base de données exécutant MySQL version 8.4 ou supérieure.
-
Bibliothèque cryptographique — RDS pour MySQL a remplacé OpenSSL par AWS Libcrypto (AWS-LC), qui est certifié FIPS 140-3. Pour plus d'informations, consultez le AWS-LC GitHub référentiel à l'adressehttps://github.com/aws/aws-lc
. -
Modifications apportées au protocole TLS — RDS pour MySQL ne prend en charge que les protocoles TLS 1.2 et TLS 1.3. Pour de plus amples informations, veuillez consulter SSL/TLSsupport pour les instances My SQL DB sur Amazon RDS.
-
support memcached — L'interface memcached n'est plus disponible sur MySQL 8.4. Pour de plus amples informations, veuillez consulter Prise en charge memcached MySQL.
-
Plugin d'authentification par défaut — Le plugin d'authentification par défaut est
caching_sha2_password
. Pour de plus amples informations, veuillez consulter Plugin d'authentification par défaut MySQL. -
mysqlpump
utilitaire client — L'utilitairemysqlpump
client n'est plus disponible dans MySQL 8.4. Pour plus d'informations, consultez mysqldump Modèle de privilèges basé sur les rôles pour for My RDS SQL et mysqlpump dans le guide prescriptif.AWS -
Procédures stockées de réplication gérée : lorsque vous utilisez des procédures stockées pour gérer la réplication avec un utilisateur de réplication configuré avec
caching_sha2_password
, vous devez configurer le protocole TLS enSOURCE_SSL=1
spécifiant.caching_sha2_password
est le plugin d'authentification par défaut pour RDS for MySQL 8.4. -
Modifications du comportement des paramètres — Les paramètres suivants ont changé pour MySQL 8.4.
-
innodb_dedicated_server
— Ce paramètre est désormais activé par défaut. Pour de plus amples informations, veuillez consulter Configuration de la taille du pool de mémoire tampon et de la capacité du redo log dans My 8.4 SQL. -
innodb_buffer_pool
— Le moteur de base de données calcule désormais ce paramètre, mais vous pouvez le remplacer. Pour de plus amples informations, veuillez consulter Configuration de la taille du pool de mémoire tampon et de la capacité du redo log dans My 8.4 SQL. -
innodb_redo_log_capacity
— Ce paramètre contrôle désormais la taille des fichiers de journalisation. Le moteur de base de données calcule désormais ce paramètre, mais vous pouvez le remplacer. Pour de plus amples informations, veuillez consulter Configuration de la taille du pool de mémoire tampon et de la capacité du redo log dans My 8.4 SQL.
-
-
Paramètres obsolètes ou supprimés — RDS pour MySQL a supprimé les paramètres suivants des groupes de paramètres pour les instances de base de données MySQL 8.4. Le
innodb_redo_log_capacity
paramètre contrôle désormais la taille des fichiers de journalisation.-
innodb_log_file_size
-
innodb_log_files_in_group
-
-
Nouvelles valeurs par défaut pour les paramètres — Les paramètres suivants ont de nouvelles valeurs par défaut pour les instances de base de données MySQL 8.4 :
-
Divers paramètres de la communauté MySQL liés aux performances ont changé. Pour plus d'informations, consultez Nouveautés de MySQL 8.4 depuis MySQL 8.0
. Nous vous recommandons de tester les performances de votre application sur RDS for MySQL 8.4 avant de migrer une instance de production.
-
innodb_purge_threads
— La valeur par défaut est définie sur la formule pourLEAST({DBInstanceVCPU/2},4)
éviter que la longueur de la liste d'historique d'InnoDB ne devienne trop longue. -
group_replication_exit_state_action
— La valeur par défaut estOFFLINE_MODE
, ce qui correspond à la valeur par défaut dans MySQL Community. Pour de plus amples informations, veuillez consulter Considérations et bonnes pratiques relatives à RDS for My SQL active-active clusters. -
binlog_format
— La valeur par défaut estROW
, ce qui correspond à la valeur par défaut dans MySQL Community. Vous pouvez modifier le paramètre pour les instances de base de données mono-AZ ou les instances de base de données multi-AZ, mais pas pour les clusters de base de données multi-AZ. Les clusters de bases de données multi-AZ utilisent la réplication semi-synchrone, et lorsqu'ilsbinlog_format
sont définis sur ou, la réplication échoue.MIXED
STATEMENT
-
-
Changements linguistiques inclusifs — RDS pour MySQL 8.4 inclut les modifications par rapport à RDS pour MySQL 8.0 relatives aux mots clés et aux schémas système pour un langage inclusif. Pour de plus amples informations, veuillez consulter Changements linguistiques inclusifs pour RDS for MySQL 8.4.
Pour une liste de toutes les fonctionnalités et modifications apportées à MySQL 8.4, consultez la section Nouveautés de MySQL 8.4 depuis MySQL 8.0
Pour obtenir la liste des fonctions non prises en charge, consultez Fonctions MySQL non prises en charge par Amazon RDS.
Moteurs de stockage pris en charge pour RDS for MySQL
Même si MySQL prend en charge plusieurs moteurs de stockage aux capacités diverses, ils ne sont pas tous optimisés pour la récupération et la durabilité des données. Amazon RDS prend entièrement en charge le moteur de stockage InnoDB pour les instances de base de données MySQL. Les fonctionnalités Amazon RDS telles que la Point-In-Time restauration et la restauration de snapshots nécessitent un moteur de stockage récupérable et sont prises en charge uniquement par le moteur de stockage InnoDB. Pour de plus amples informations, veuillez consulter Prise en charge memcached MySQL.
Le Federated Storage Engine n'est pour l'instant pas pris en charge par Amazon RDS for MySQL.
Pour les schémas créés par l'utilisateur, le moteur de stockage MyISAM ne permet pas une restauration fiable et peut entraîner la perte ou la corruption de données lorsque MySQL est redémarré après une restauration, empêchant ainsi la Point-In-Time restauration ou la restauration par capture instantanée de fonctionner comme prévu. Néanmoins, si vous choisissez tout de même d'utiliser MyISAM avec Amazon RDS, les instantanés peuvent être utiles dans certaines conditions.
Note
Les tables système du schéma mysql
peuvent être dans le stockage MyISAM.
Si vous souhaitez convertir des tables MyISAM existantes en tables InnoDB, vous pouvez utiliser la commande ALTER TABLE
(par exemple, alter table TABLE_NAME engine=innodb;
). N'oubliez pas que MyISAM et InnoDB ont des forces et des faiblesses différentes, vous devriez donc commencer par évaluer de façon exhaustive l'impact de ce basculement sur vos applications.
Les versions MySQL 5.1, 5.5 et 5.6 ne sont plus prises en charge dans Amazon RDS. Cependant, vous pouvez restaurer des instantanés MySQL 5.1, 5.5 et 5.6 existants. Lorsque vous restaurez un instantané MySQL 5.1, 5.5 ou 5.6, l'instance de base de données est automatiquement mise à niveau vers MySQL 5.7.
Utilisation de memcached et d'autres options avec MySQL sur Amazon RDS
La plupart des moteurs de base de données Amazon RDS prennent en charge des groupes d'options qui vous permettent de sélectionner des fonctions supplémentaires pour votre instance de base de données. Les instances de bases de données RDS for MySQL prennent en charge l'option memcached
, un cache simple basée sur les clés. Pour plus d'informations sur memcached
et d'autres options, consultez Options pour les instances My SQL DB. Pour plus d'informations sur l'utilisation de groupes d'options, consultez Utilisation de groupes d'options.
Préparation du cache InnoDB pour MySQL sur Amazon RDS
La préparation du cache InnoDB peut fournir des gains de performances pour votre instance de base de données MySQL en enregistrant l'état actuel du pool de mémoires tampons lorsque l'instance de base de données est arrêtée, puis en rechargeant le pool de mémoires tampons à partir des informations enregistrées au démarrage de l'instance de base de données. Cette approche contourne la nécessité de « préparer » le pool de mémoires tampons à partir d'une utilisation normale de la base de données et précharge à la place le pool de mémoires tampons avec les pages des requêtes courantes connues. Le fichier qui stocke les informations du pool de tampons enregistré stocke uniquement les métadonnées pour les pages qui sont dans le pool de mémoires tampons et pas les pages elles-mêmes. Par conséquent, le fichier ne nécessite pas un important espace de stockage. La taille du fichier représente environ 0,2 pour cent de la taille du cache. Par exemple, pour un cache 64 Gio, la taille du fichier de préparation de cache est de 128 Mio. Pour de plus amples informations sur la préparation du cache InnoDB, veuillez consulter Saving and Restoring the Buffer Pool State
Les instances de bases de données RDS for MySQL prennent en charge la préparation du cache InnoDB. Pour activer la préparation du cache InnoDB, définissez les paramètres innodb_buffer_pool_dump_at_shutdown
et innodb_buffer_pool_load_at_startup
avec la valeur 1 dans le groupe de paramètres de votre instance de base de données. La modification de ces valeurs dans un groupe de paramètres affecte toutes les instances de bases de données MySQL qui utilisent ce groupe de paramètres. Pour activer la préparation du cache InnoDB pour des instances de bases de données MySQL spécifiques, vous devrez peut-être créer un groupe de paramètres pour ces instances. Pour plus d'informations sur les groupes de paramètres, consultez Groupes de paramètres pour (Amazon RDS).
La préparation du cache InnoDB fournit principalement une amélioration des performances pour les instances de bases de données qui utilisent le stockage standard. Si vous utilisez le stockage PIOPS, vous ne constatez généralement pas d'amélioration significative des performances.
Important
Si votre instance de base de données MySQL ne se ferme pas normalement, comme lors d'un basculement, l'état du pool de mémoires tampons n'est pas enregistré sur le disque. Dans ce cas, MySQL charge n'importe quel fichier du pool de mémoires tampons disponible au redémarrage de l'instance de base de données. Il n'en résulte aucun dommage, mais le pool de tampons restauré peut ne pas refléter l'état le plus récent du pool de tampons avant le redémarrage. Pour vous assurer d'avoir un état récent du pool de mémoires tampons disponible afin de préparer le cache InnoDB au démarrage, il est recommandé que vous vidiez régulièrement le pool de mémoires tampons « à la demande ».
Vous pouvez créer un événement pour vider le pool de mémoires tampons automatiquement et à intervalles réguliers. Par exemple, l'instruction suivante crée un événement nommé periodic_buffer_pool_dump
qui vide le pool de mémoires tampons toutes les heures.
CREATE EVENT periodic_buffer_pool_dump ON SCHEDULE EVERY 1 HOUR DO CALL mysql.rds_innodb_buffer_pool_dump_now();
Pour de plus amples informations sur les événements MySQL, veuillez consulter Syntaxe d'événement
Vidage et chargement du pool de tampons à la demande
Vous pouvez enregistrer et charger le cache InnoDB « à la demande ».
Pour vider l'état actuel du pool de mémoires tampons sur le disque, appelez la procédure stockée mysql.rds_innodb_buffer_pool_dump_now.
Pour charger l'état enregistré du pool de mémoires tampons à partir du disque, appelez la procédure stockée mysql.rds_innodb_buffer_pool_load_now.
Pour annuler une opération de chargement en cours, appelez la procédure stockée mysql.rds_innodb_buffer_pool_load_abort.
Changements linguistiques inclusifs pour RDS for MySQL 8.4
RDS for MySQL 8.4 inclut des modifications par rapport à l'édition communautaire de MySQL 8.4 relatives aux mots clés et aux schémas système pour un langage inclusif. Par exemple, la SHOW REPLICA
STATUS
commande remplaceSHOW SLAVE STATUS
.
Rubriques
Modifications du nom des paramètres de configuration
Les paramètres de configuration suivants ont de nouveaux noms dans RDS for MySQL 8.4.
Pour des raisons de compatibilité, vous pouvez vérifier les noms des paramètres dans le mysql
client en utilisant l'un ou l'autre des noms. Vous ne pouvez utiliser les nouveaux noms que lorsque vous modifiez des valeurs dans un groupe de paramètres MySQL 8.4 personnalisé. Pour de plus amples informations, veuillez consulter Groupes de paramètres par défaut et personnalisés.
Nom à supprimer | Nom nouveau ou préféré |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Note
Le paramètre replica_allow_batching
n'est pas disponible car Amazon RDS ne prend pas en charge les clusters NDB.
Changements de nom de procédure stockée
Les procédures stockées suivantes ont de nouveaux noms dans RDS for MySQL 8.4.
Pour des raisons de compatibilité, vous pouvez utiliser l'un ou l'autre nom dans la version 8.4 initiale de RDS pour MySQL. Les anciens noms de procédures seront supprimés dans une version ultérieure. Pour de plus amples informations, veuillez consulter Configuration, démarrage et arrêt de la réplication du journal binaire (binlog).
Nom à supprimer | Nom nouveau ou préféré |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Fonctions MySQL non prises en charge par Amazon RDS
Amazon RDS ne prend pas en charge actuellement les fonctions MySQL suivantes :
-
Plug-in d'authentification
-
Erreur de journalisation dans le journal système
-
Chiffrement d'espace de tables InnoDB
-
Clusters NDB
-
Plug-in de niveau de sécurité du mot de passe
-
Variables système persistantes
-
Plugin de réécriture de requêtes Rewriter
-
Réplication semi-synchrone, sauf pour les clusters de bases de données multi-AZ
-
Espace de table transportable
-
Plug-in X
Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances de base de données. Il restreint également l'accès à certaines procédures système et tables qui requièrent des privilèges avancés. Amazon RDS prend en charge l'accès aux bases de données sur une instance de base de données en utilisant toute application cliente SQL standard. Amazon RDS ne permet pas d'accès d'hôte direct à une instance de base de données via Telnet, Secure Shell (SSH) ou une connexion Bureau à distance Windows. Lorsque vous créez une instance de base de données, vous êtes assigné en tant que db_owner pour toutes les bases de données de cette instance, et vous disposez de toutes les autorisations au niveau de la base de données, à l'exception de celles utilisées pour les sauvegardes. Amazon RDS gère les sauvegardes pour vous.