Amazon Relational Database Service
Guide de l'utilisateur

MySQL sur Amazon RDS

Amazon RDS prend en charge les instances de base de données qui exécutent plusieurs versions de MySQL. Vous pouvez utiliser les versions majeures suivantes :

  • MySQL 8.0

  • MySQL 5.7

  • MySQL 5.6

  • MySQL 5.5

Pour plus d'informations sur la prise en charge des versions mineures, consultez Versions de MySQL sur Amazon RDS.

Vous utilisez d'abord les interfaces ou les outils de gestion Amazon RDS pour créer une instance de base de données MySQL Amazon RDS. Vous pouvez ensuite redimensionner l'instance de base de données, autoriser les connexions à l'instance de base de données, créer et restaurer à partir de sauvegardes ou d'instantanés, créer des secondaires multi-AZ, créer des réplicas en lecture, et superviser les performances de l'instance de base de données. Vous utilisez les applications et les utilitaires MySQL standard pour stocker les données de l'instance de base de données et y accéder.

Amazon RDS pour MySQL est conforme à de nombreuses normes du secteur. Par exemple, vous pouvez utiliser Amazon RDS pour les bases de données MySQL afin de créer des applications conformes à HIPAA et de stocker des informations liées à la santé, y compris des informations de santé protégées (PHI, Protected Health Information) dans le cadre d'un accord de partenariat (AAA) avec AWS. Amazon RDS pour MySQL satisfait également les exigences de sécurité du Programme de gestion de risque et d'autorisation fédérale (FedRAMP) et a reçu une autorisation provisoire P-ATO du conseil d'autorisation commun du FedRAMP au niveau de la base de références FedRAMP HIGH au sein de la région AWS GovCloud (USA Ouest). Pour plus d'informations sur les normes de conformité prises en charge, consultez Conformité du cloud AWS.

Pour plus d'informations sur les fonctions de chaque version MySQL, consultez The Main Features of MySQL dans la documentation MySQL.

Tâches courantes de gestion pour MySQL sur Amazon RDS

Vous trouverez ci-dessous les tâches courantes de gestion que vous exécutez avec une instance de base de données Amazon RDS MySQL, avec des liens vers la documentation appropriée relative à chaque tâche.

Type de tâche Documentation

Comprendre Amazon RDS

Comprendre les principaux composants d'Amazon RDS, y compris les instances de bases de données, les régions, zones de disponibilité, groupes de sécurité, groupes de paramètres et groupes d'options.

Qu'est-ce que Amazon Relational Database Service (Amazon RDS) ?

Configuration d'Amazon RDS pour la première utilisation

Configurez Amazon RDS de sorte à pouvoir créer des instances de bases de données MySQL dans Amazon Web Services (AWS).

Configuration pour Amazon RDS

Présentation des instances de bases de données d'Amazon RDS

Créez des instances de serveur MySQL virtuelles qui s'exécutent dans AWS. Étant donné que les instances de bases de données sont les blocs de construction d'Amazon RDS, nous vous recommandons de bien comprendre leurs principes.

instances de bases de données Amazon RDS

Création d'une instance de base de données de production

Créer une instance de base de données à des fins de production. Créer une instance implique de choisir une classe d'instance de base de données dotée d'une puissance de traitement et de capacités de mémoire appropriées, et de choisir un type de stockage qui prenne en charge la manière que vous envisagez d'utiliser votre base de données.

Choix de la classe d'instance de base de données

Types de stockage Amazon RDS

Création d'une instance de base de données exécutant le moteur de base de données MySQL

Gestion de la sécurité de votre instance de base de données

Par défaut, les instances de bases de données sont créées avec un pare-feu qui empêche d'y accéder. Vous devez créer un groupe de sécurité avec les adresses IP et la configuration réseau voulues pour accéder à l'instance de base de données. Vous pouvez également utiliser des stratégies AWS Identity and Access Management (IAM) pour attribuer des autorisations déterminant qui peut gérer les ressources RDS.

Sécurité dans Amazon RDS

Gestion de l'accès à l'aide des stratégies

Contrôle d'accès par groupe de sécurité

Déterminer si vous utilisez une plateforme EC2-VPC ou EC2-Classic

Connexion à votre instance de base de données

Connectez-vous à votre instance de base de données à l'aide d'une application client SQL standard telle que l'utilitaire de ligne de commande MySQL ou MySQL Workbench.

Connexion à une instance de base de données exécutant le moteur de base de données MySQL

Configuration d'une haute disponibilité pour une instance de base de données de production

Assurez un haut niveau de disponibilité grâce à une réplication de secours synchrone dans une autre zone de disponibilité, au basculement automatique, à la tolérance aux pannes pour les instances de bases de données à l'aide de déploiements multi-AZ et aux réplicas de lecture.

Haute disponibilité (multi-AZ) pour Amazon RDS

Configuration d'une instance de base de données dans un Amazon Virtual Private Cloud

Configurez un Virtual Private Cloud (VPC) dans le service Amazon VPC. Un Amazon VPC est un réseau virtuel logiquement isolé des autres réseaux virtuels dans AWS.

Déterminer si vous utilisez une plateforme EC2-VPC ou EC2-Classic

Utilisation d'une instance de base de données dans un VPC

Configuration de fonctionnalités et de paramètres de base de données MySQL spécifiques

Configurez des paramètres de base de données MySQL spécifiques avec un groupe de paramètres pouvant être associé à plusieurs instances de bases de données. Vous pouvez également configurer des caractéristiques de base de données MySQL spécifiques avec un groupe d'options pouvant être associé à plusieurs instances de bases de données.

Utilisation de groupes de paramètres de base de données

Utilisation de groupes d'options

Options pour les instances de base de données MySQL

Modification d'une instance de base de données exécutant le moteur de base de données MySQL

Modifiez les paramètres d'une instance de base de données pour accomplir des tâches telles que l'ajout de stockage supplémentaire ou la modification de la classe d'instance.

Modification d'une instance de base de données exécutant le moteur de base de données MySQL

Modification d'une instance de base de données Amazon RDS

Configuration de la sauvegarde et de la restauration des bases de données

Configurez la sauvegarde automatique de votre instance de base de données. Vous pouvez également sauvegarder et restaurer vos bases de données manuellement à l'aide de fichiers de sauvegarde complets.

Utilisation des sauvegardes

Sauvegarde et restauration des instances de base de données Amazon RDS

Importation et exportation de données

Importez des données d'autres instances de bases de données RDS MySQL, d'instances MySQL s'exécutant à l'extérieur d'Amazon RDS et d'autres types de sources de données et exportez les données vers des instances MySQL s'exécutant à l'extérieur d'Amazon RDS.

Restauration d'une sauvegarde dans une instance de base de données MySQL Amazon RDS

Surveillance d'une instance de base de données MySQL

Surveillez votre instance de base de données RDS MySQL à l'aide de métriques RDS Amazon CloudWatch, d'événements et de Surveillance améliorée. Affichez des fichiers journaux pour votre instance de base de données RDS MySQL.

Supervision de Amazon RDS

Affichage des métriques d'instances de base de données

Affichage d'événements Amazon RDS

Fichiers journaux de base de données Amazon RDS

Fichiers journaux de base de données MySQL

Réplication de vos données

Créez un réplica en lecture MySQL, dans la même région AWS ou dans une région différente. Vous pouvez utiliser des réplicas en lecture pour l'équilibrage de charge, la reprise après sinistre et le traitement de charges de travail très intenses en lecture des bases de données, telles que l'analyse et la création de rapports.

Utilisation des réplicas en lecture

Réplication avec une instance MySQL ou MariaDB s'exécutant à l'extérieur d'Amazon RDS

Vous pouvez également consulter plusieurs sections contenant des informations utiles sur l'utilisation des instances de base de données MySQL Amazon RDS :

Versions de MySQL sur Amazon RDS

Les numéros de versions de MySQL sont organisés selon la version = X.Y.Z. Dans la terminologie Amazon RDS, X.Y représente la version majeure et Z le numéro de la version mineure. Pour les implémentations Amazon RDS, un changement de version sera considéré majeur si le numéro de version majeure change—par exemple, en allant de la version 5.6 à 5.7. Un changement de version sera considéré mineur seulement si le numéro de version mineure change—par exemple, en allant de la version 5.7.16 à 5.7.21.

Amazon RDS prend actuellement en charge les versions suivantes de MySQL :

Version majeure Version mineure

MySQL 8.0

  • 8.0.16

  • 8.0.15

  • 8.0.13

  • 8.0.11

MySQL 5.7

  • 5.7.26

  • 5.7.25

  • 5.7.24

  • 5.7.23

  • 5.7.22

  • 5.7.21

  • 5.7.19

  • 5.7.17

  • 5.7.16

MySQL 5.6

  • 5.6.44

  • 5.6.43

  • 5.6.41

  • 5.6.40

  • 5.6.39

  • 5.6.37

  • 5.6.35

  • 5.6.34

MySQL 5.5

  • 5.5.61

  • 5.5.59

  • 5.5.57

  • 5.5.54

  • 5.5.53

  • 5.5.46

Vous pouvez spécifier n'importe quelle version MySQL actuellement prise en charge lorsque vous créez une instance de base de données. Vous pouvez spécifier la version majeure (par exemple MySQL 5.7), puis toute version mineure prise en charge pour la version majeure spécifiée. Si aucune version n'est spécifiée, Amazon RDS utilise par défaut une version prise en charge, généralement la plus récente. Si une version majeure est spécifiée, mais qu'une version mineure ne l'est pas, Amazon RDS utilise par défaut une version récente de la version majeure que vous avez spécifiée. Pour afficher la liste des versions prises en charge, ainsi que celles par défaut des instances de base de données nouvellement créées, utilisez la commande describe-db-engine-versions de l’AWS CLI.

Avec Amazon RDS, vous contrôlez à quel moment vous mettez à niveau votre instance MySQL vers une nouvelle version prise en charge par Amazon RDS. Vous pouvez maintenir la compatibilité avec des versions MySQL spécifiques, tester de nouvelles versions avec votre application avant le déploiement en production et effectuer des mises à niveau de versions aux moments qui correspondent le mieux à votre calendrier.

Sauf indication contraire, votre instance de base de données sera automatiquement mise à niveau vers les nouvelles versions MySQL mineures à mesure que celles-ci seront prises en charge par Amazon RDS. Ces correctifs sont appliqués pendant le créneau de maintenance planifié. Pour désactiver les mises à niveau automatiques de versions mineures, vous pouvez modifier une instance de base de données.

Si vous refusez les mises à niveau automatiques planifiées, vous pouvez procéder manuellement à une mise à niveau vers une version mineure prise en charge en suivant la même procédure que pour une mise à jour de la version majeure. Pour plus d'informations, consultez Mise à niveau d'une version du moteur d'une instance de base de données .

Amazon RDS prend actuellement en charge les mises à niveau de version majeure de la version 5.5 à 5.6 de MySQL, de la version 5.6 à 5.7 de MySQL et de la version 5.7 à la version 8.0. Étant donné que les mises à niveau de version majeures impliquent quelques risques de compatibilité, elles ne sont pas appliquées automatiquement et vous devez donc faire une demande de modification de l'instance de base de données. Vous devez tester soigneusement toute mise à niveau avant de procéder à la mise à niveau de vos instances de production. Pour plus d'informations sur la mise à niveau d'une instance de base de données MySQL, consultez Mise à niveau du moteur de base de données MySQL.

Vous pouvez tester une instance de base de données par rapport à une nouvelle version avant la mise à niveau. Pour ce faire, créez un instantané de base de données de votre instance de base de données existante, restaurez à partir de l'instantané de base de données pour créer une instance de base de données et lancez une mise à niveau de version pour la nouvelle instance de base de données. Vous pouvez ensuite procéder en toute sécurité à une expérimentation sur le clone mis à niveau de votre instance de base de données avant de décider de mettre à niveau ou pas votre instance de base de données d'origine.

Pour plus d'informations sur la stratégie d'obsolescence Amazon RDS pour MySQL, consultez FAQ Amazon RDS.

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

  • Plug-in de réplication de groupe

  • Chiffrement d'espace de tables InnoDB

  • Plug-in d'audit MariaDB (non pris en charge pour la version Amazon RDS MySQL 8.0 uniquement)

    Le plug-in d'audit MariaDB est pris en charge pour les versions Amazon RDS 5.5, 5.6 et 5.7)

  • Plug-in de niveau de sécurité du mot de passe

  • Variables système persistantes

  • Filtres de réplication

  • Réplication semi-synchrone

  • Espace de table transportable

  • Plug-in X

Note

Les identifiants de transaction globaux sont pris en charge pour les versions MySQL 5.7.23 et les versions MySQL 5.7 ultérieures. Les identifiants de transaction globaux ne sont pas pris en charge pour les versions Amazon RDS MySQL 5.5, 5.6 ou 8.0.

L'authentification de base de données IAM n'est pas prise en charge pour MySQL 5.6 et 5.7. L'authentification de base de données IAM n'est pas prise en charge pour MySQL 5.5 ou 8.0.

Amazon RDS Performance Insights est pris en charge pour MySQL 5.6 et 5.7. Amazon RDS Performance Insights n'est pas pris en charge pour MySQL 5.5 ou 8.0.

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 tables et procédures système qui nécessitent 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 client 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 de Windows. Lorsque vous créez une instance de base de données, le rôle db_owner vous est attribué pour toutes les bases de données sur cette instance, et vous disposez de toutes les autorisations au niveau de la base de données, sauf celles qui sont utilisées pour les sauvegardes. Amazon RDS gère les sauvegardes pour vous.

Moteurs de stockage pris en charge pour MySQL sur Amazon RDS

Bien que MySQL prend en charge plusieurs moteurs de stockage avec diverses capacités, ceux-ci 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 fonctions Amazon RDS telles que la restauration Point-In-Time et la restauration d'instantané nécessitent un moteur de stockage récupérable et sont pris en charge pour le moteur de stockage InnoDB uniquement. Vous devez exécuter une instance de MySQL 5.6, ou version ultérieure, pour utiliser l'interface memcached InnoDB. Pour plus d'informations, consultez Prise en charge memcached MySQL.

Le Federated Storage Engine n'est pour l'instant pas pris en charge par Amazon RDS pour MySQL.

Pour les schémas créés par l'utilisateur, le moteur de stockage MyISAM ne prend pas en charge une récupération fiable et peut causer la perte ou la corruption des données quand MySQL est redémarré après une récupération, empêchant la restauration à un instant dans le passé et la restauration d'instantané 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.

MySQL 5.1 n'est plus pris en charge dans Amazon RDS. Cependant, vous pouvez restaurer des instantanés MySQL 5.1 existants. Lorsque vous restaurez un instantané MySQL 5.1, l'instance est automatiquement mise à niveau vers MySQL 5.5.

MySQL Security sur Amazon RDS

La sécurité des instances de bases de données Amazon RDS MySQL est gérée à trois niveaux :

  • AWS Identity and Access Management contrôle les personnes autorisées à exécuter des actions de gestion Amazon RDS sur les instances de base de données. Lorsque vous vous connectez à AWS à l'aide des informations d'identification IAM, votre compte IAM doit disposer des stratégies IAM qui accordent les autorisations requises pour exécuter les opérations de gestion Amazon RDS. Pour plus d'informations, consultez Gestion des identités et des accès dans Amazon RDS.

  • Lorsque vous créez une instance de base de données, vous utilisez un groupe de sécurité VPC ou un groupe de sécurité DB pour contrôler les appareils et les instances Amazon EC2 qui peuvent ouvrir des connexions au point de terminaison et au port de l'instance de base de données. Ces connexions peuvent être effectuées à l'aide du protocole SSL (Secure Socket Layer). En outre, les règles de pare-feu de votre entreprise peuvent contrôler si les appareils en cours d'exécution dans votre entreprise peuvent ouvrir des connexions à l'instance de base de données.

  • Pour authentifier la connexion et les autorisations d'une instance de base de données MySQL, vous pouvez adopter l'une des approches suivantes, ou les combiner.

    Vous pouvez adopter la même approche qu'avec une instance autonome de MySQL. Les commandes telles que CREATE USER, RENAME USER, GRANT, REVOKE et SET PASSWORD fonctionnent de la même façon que dans les bases de données sur site, comme le fait la modification directe des tables du schéma de base de données. Pour plus d'informations, consultez Gestion des comptes d'utilisateur MySQL dans la documentation MySQL.

    Vous pouvez également utiliser l'authentification de base de données IAM. L'authentification de base de données IAM vous permet de vous authentifier sur votre instance de base de données à l'aide d'un utilisateur IAM ou d'un rôle IAM et d'un jeton d'authentification. Un jeton d'authentification est une valeur unique qui est générée à l'aide du processus de signature Signature Version 4. L'authentification de base de données IAM vous permet d'utiliser les mêmes informations d'identification pour contrôler l'accès à vos ressources AWS et à vos bases de données. Pour plus d'informations, consultez Authentification de base de données IAM pour MySQL et PostgreSQL.

Lorsque vous créez une instance de base de données Amazon RDS, l'utilisateur principal a les privilèges par défaut suivants :

  • alter

  • alter routine

  • create

  • create routine

  • create temporary tables

  • create user

  • create view

  • delete

  • drop

  • event

  • execute

  • grant option

  • index

  • insert

  • lock tables

  • process

  • references

  • replication client

  • replication slave (MySQL 5.6 and later)

  • select

  • show databases

  • show view

  • trigger

  • update

Note

Bien qu'il soit possible de supprimer l'utilisateur maître sur l'instance de base de données, il n'est pas recommandé de le faire. Pour recréer l'utilisateur maître, utilisez l'opération d'API RDS ModifyDBInstance ou la commande d'AWS CLI modify-db-instance et spécifiez un nouveau mot de passe d'identifiant principal avec le paramètre approprié. Si l'utilisateur maître n'existe pas dans l'instance, il est créé avec le mot de passe spécifié.

Pour fournir des services de gestion à chaque instance de base de données, l'utilisateur rdsadmin est créé lors de la création de l'instance de base de données. Les tentatives de supprimer, renommer et modifier le mot de passe du compte rdsadmin, ou d'en modifier les privilèges, génèrent une erreur.

Pour autoriser la gestion de l'instance de base de données, les commandes standard kill et kill_query ont fait l'objet de restrictions. Les commandes Amazon RDS rds_kill et rds_kill_query sont fournies pour vous permettre de mettre fin aux requêtes ou aux sessions utilisateur sur les instances de base de données.

Utilisation du plug-in de validation de mot de passe

MySQL fournit le plug-in validate_password pour assurer une sécurité améliorée. Le plug-in applique des stratégies de mot de passe à l'aide de paramètres du groupe de paramètres de base de données pour votre instance de base de données MySQL. Le plug-in est pris en charge pour les instances de base de données exécutant MySQL version 5.6, 5.7 et 8.0. Pour de plus amples informations sur le plug-in validate_password, veuillez consulter Plug-in de validation de mot de passe dans la documentation MySQL.

Pour activer le plug-in validate_password pour une instance de base de données MySQL

  1. Connectez-vous à votre instance de base de données MySQL et exécutez la commande suivante.

    INSTALL PLUGIN validate_password SONAME 'validate_password.so';
  2. Configurez les paramètres du plug-in dans le groupe de paramètres de base de données utilisé par l'instance de base de données.

    Pour de plus amples informations sur les paramètres, veuillez consulter Password Validation Plugin Options and Variables dans la documentation MySQL.

    Pour plus d'informations sur la modification des paramètres d'instance de base de données, consultez Modification de paramètres dans un groupe de paramètres DB.

Après avoir installé et activé le plug-in password_validate, réinitialisez les mots de passe existants conformément à vos nouvelles stratégies de validation.

Amazon RDS ne valide pas les mots de passe. L'instance de base de données MySQL DB effectue la validation de mot de passe. Si vous définissez un mot de passe utilisateur avec l’AWS Management Console, la commande d’AWS CLI modify-db-instance ou l'action d'API RDS ModifyDBInstance, la modification peut aboutir même si le nouveau mot de passe ne répond pas à vos stratégies de mot de passe. Cependant, un nouveau mot de passe est défini dans l'instance de base de données MySQL uniquement s'il satisfait les stratégies de mot de passe. Dans ce cas, Amazon RDS enregistre l'événement suivant.

"RDS-EVENT-0067" - An attempt to reset the master password for the DB instance has failed.

Pour plus d'informations sur les événements Amazon RDS, consultez Utilisation de la notification d'événement Amazon RDS

Utilisation de SSL avec une instance de base de données MySQL

Amazon RDS prend en charge les connexions SSL avec les instances de base de données exécutant le moteur de base de données MySQL.

Amazon RDS crée un certificat SSL et l'installe sur l'instance de base de données quand Amazon RDS alloue l'instance. Ces certificats sont signés par une autorité de certification. Le certificat SSL inclut le point de terminaison de l'instance de base de données en tant que nom commun du certificat SSL pour assurer une protection contre les attaques par usurpation. La clé publique est stockée à l'adresse https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem.

Un certificat SSL créé par Amazon RDS est l'entité racine approuvée et doit fonctionner dans la plupart des cas, mais il peut échouer si votre application n'accepte pas les chaînes de certificats. Si votre application n'accepte pas les chaînes de certificats, vous devrez peut-être utiliser un certificat intermédiaire pour vous connecter à votre région. Par exemple, vous devez utiliser un certificat intermédiaire pour vous connecter à la région AWS GovCloud (USA Ouest) à l'aide de SSL. Pour une liste des certificats d'intermédiaire régionales que vous pouvez télécharger, consultez Certificats intermédiaires.

MySQL utilise yaSSL pour les connexions sécurisées dans les versions suivantes :

  • MySQL version 5.7.19 et versions 5.7 antérieures

  • MySQL version 5.6.37 et versions 5.6 antérieures

  • MySQL version 5.5.57 et versions 5.5 antérieures

MySQL utilise OpenSSL pour les connexions sécurisées dans les versions suivantes :

  • MySQL version 8.0

  • MySQL version 5.7.21 et versions 5.7 ultérieures

  • MySQL version 5.6.39 et versions 5.6 ultérieures

  • MySQL version 5.5.59 et versions 5.5 ultérieures

Amazon RDS pour MySQL prend en charge les versions 1.0, 1.1 et 1.2 du protocole TLS (Transport Layer Security). Le tableau suivant affiche la prise en charge du protocole TLS pour les versions MySQL.

Version MySQL TLS 1.0 TLS 1.1 TLS 1.2

MySQL 8.0

Pris en charge

Pris en charge

Pris en charge

MySQL 5.7

Pris en charge

Pris en charge

Pris en charge pour MySQL 5.7.21 et versions ultérieures

MySQL 5.6

Pris en charge

Non pris en charge

Non pris en charge

MySQL 5.5

Pris en charge

Non pris en charge

Non pris en charge

Pour chiffrer les connexions à l'aide du client mysql par défaut, lancez le client mysql à l'aide du paramètre --ssl-ca pour référencer la clé publique, comme illustré dans l'exemple suivant.

L'exemple suivant montre comment lancer le client à l'aide du paramètre --ssl-ca pour MySQL 5.7 ou version ultérieure.

mysql -h myinstance.c9akciq32.rds-us-east-1.amazonaws.com --ssl-ca=[full path]rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY

L'exemple suivant montre comment lancer le client à l'aide du paramètre --ssl-ca pour MySQL 5.6 ou version antérieure.

mysql -h myinstance.c9akciq32.rds-us-east-1.amazonaws.com --ssl-ca=[full path]rds-combined-ca-bundle.pem --ssl-verify-server-cert

Vous pouvez exiger des connexions SSL pour des comptes d'utilisateur spécifiques. Par exemple, vous pouvez utiliser l'une des instructions suivantes, selon votre version MySQL, pour exiger des connexions SSL sur le compte utilisateur encrypted_user.

Pour MySQL 5.7 et les versions ultérieures, utilisez la déclaration suivante.

ALTER USER 'encrypted_user'@'%' REQUIRE SSL;

Pour MySQL 5.6 et les versions antérieures, utilisez la déclaration suivante.

GRANT USAGE ON *.* TO 'encrypted_user'@'%' REQUIRE SSL;

Pour plus d'informations sur les connexions SSL avec MySQL, consultez la section sur l'utilisation de connexions chiffrées dans la documentation MySQL.

Utilisation de memcached et d'autres options avec MySQL

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 sur MySQL version 5.6 et versions ultérieures 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 de base de données MySQL. Pour plus d'informations sur l'utilisation de groupes d'options, consultez Utilisation de groupes d'options.

Préparation du cache InnoDB

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 plus d'informations sur la préparation du cache InnoDB, consultez Saving and Restoring the Buffer Pool State dans la documentation MySQL.

MySQL sur Amazon RDS prend en charge la préparation de cache InnoDB pour MySQL version 5.6 et ultérieure. 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 Utilisation de groupes de paramètres de base de données.

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 vider ou charger le pool de mémoires tampons à la demande si votre instance de base de données exécute MySQL version 5.6.19 ou ultérieure.

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 plus d'informations sur les événements MySQL, consultez Event Syntax (Syntaxe d'événement) dans la documentation MySQL.

Vidage et chargement du pool de tampons à la demande

Pour MySQL version 5.6.19 et ultérieure, vous pouvez enregistrer et charger le cache InnoDB « à la demande ».

Fuseau horaire local pour les instances de bases de données MySQL

Par défaut, le fuseau horaire d'une instance de base de données MySQL RDS est le fuseau UTC (temps universel). Vous pouvez à la place définir le fuseau horaire de votre instance de base de données sur le fuseau horaire local de votre application.

Pour définir le fuseau horaire local d'une instance de base de données, définissez le paramètre time_zone du groupe de paramètres de votre instance de base de données avec l'une des valeurs prises en charge et répertoriées plus bas dans cette section. Lorsque vous définissez le paramètre time_zone d'un groupe de paramètres, toutes les instances de bases de données et tous les réplicas en lecture qui ont recours à ce groupe de paramètres sont modifiés de façon à utiliser le nouveau fuseau horaire local. Pour plus d'informations sur la définition des paramètres d'un groupe de paramètres, consultez Utilisation de groupes de paramètres de base de données.

Une fois que vous avez défini le fuseau horaire local, toutes les nouvelles connexions à la base de données reflètent la modification. Si des connexions à votre base de données sont ouvertes lorsque vous modifiez le fuseau horaire local, la mise à jour du fuseau horaire local n'apparaît pas tant que vous n'avez pas fermé la connexion et n'en avez pas ouvert une nouvelle.

Vous pouvez définir un fuseau local différent pour une instance de base de données et un ou plusieurs de ses réplicas en lecture. Pour ce faire, utilisez un autre groupe de paramètres pour l'instance de base de données et les réplicas, et définissez le paramètre time_zone de chaque groupe de paramètres avec un autre fuseau horaire local.

Si la réplication s'effectue entre les régions, l'instance de base de données du maître de réplication et le réplica en lecture utilisent différents groupes de paramètres (les groupes de paramètres sont spécifiques à une région). Pour que chaque instance utilise le même fuseau horaire local, vous devez définir le paramètre time_zone des groupes de paramètres de l'instance et du réplica en lecture.

Lorsque vous restaurez une instance de base de données à partir d'un instantané de base de données, le fuseau horaire local a la valeur UTC. Vous pouvez mettre à jour le fuseau horaire sur votre fuseau horaire local une fois la restauration terminée. Si vous restaurez une instance de base de données à un instant dans le passé, le fuseau horaire local de l'instance de base de données restaurée est le paramètre de fuseau horaire du groupe de paramètres de l'instance de base de données restaurée.

Vous pouvez définir votre fuseau horaire local avec l'une des valeurs suivantes.

Africa/Cairo

Asia/Bangkok

Australia/Darwin

Africa/Casablanca

Asia/Beirut

Australia/Hobart

Africa/Harare

Asia/Calcutta

Australia/Perth

Africa/Monrovia

Asia/Damascus

Australia/Sydney

Africa/Nairobi

Asia/Dhaka

Brazil/East

Africa/Tripoli

Asia/Irkutsk

Canada/Newfoundland

Africa/Windhoek

Asia/Jerusalem

Canada/Saskatchewan

America/Araguaina

Asia/Kabul

Europe/Amsterdam

America/Asuncion

Asia/Karachi

Europe/Athens

America/Bogota

Asia/Kathmandu

Europe/Dublin

America/Caracas

Asia/Krasnoyarsk

Europe/Helsinki

America/Chihuahua

Asia/Magadan

Europe/Istanbul

America/Cuiaba

Asia/Muscat

Europe/Kaliningrad

America/Denver

Asia/Novosibirsk

Europe/Moscow

America/Fortaleza

Asia/Riyadh

Europe/Paris

America/Guatemala

Asia/Seoul

Europe/Prague

America/Halifax

Asia/Shanghai

Europe/Sarajevo

America/Manaus

Asia/Singapore

Pacific/Auckland

America/Matamoros

Asia/Taipei

Pacific/Fiji

America/Monterrey

Asia/Tehran

Pacific/Guam

America/Montevideo

Asia/Tokyo

Pacific/Honolulu

America/Phoenix

Asia/Ulaanbaatar

Pacific/Samoa

America/Santiago

Asia/Vladivostok

US/Alaska

America/Tijuana

Asia/Yakutsk

US/Central

Asia/Amman

Asia/Yerevan

US/Eastern

Asia/Ashgabat

Atlantic/Azores

US/East-Indiana

Asia/Baghdad

Australia/Adelaide

US/Pacific

Asia/Baku

Australia/Brisbane

UTC

Limites et problèmes connus pour MySQL sur Amazon RDS

Il existe des limites et des problèmes connus liés à l'utilisation de MySQL sur Amazon RDS. Pour plus d'informations, consultez Limites et problèmes connus pour MySQL sur Amazon RDS.