

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.

# Bonnes pratiques avec Amazon Aurora MySQL
<a name="AuroraMySQL.BestPractices"></a><a name="best_practices"></a>

Cette rubrique contient des informations sur les bonnes pratiques et les options en matière d’utilisation ou de migration de données vers un cluster de bases de données Amazon Aurora MySQL. Les informations contenues dans cette rubrique résument et réitèrent certaines des lignes directrices et procédures que vous pouvez trouver dans [Gestion d’un cluster de bases de données Amazon Aurora](CHAP_Aurora.md).

**Contents**
+ [Détermination de l’instance de base de données à laquelle vous êtes connecté](#AuroraMySQL.BestPractices.DeterminePrimaryInstanceConnection)
+ [Bonnes pratiques pour les performances et la mise à l’échelle d’Aurora MySQL](AuroraMySQL.BestPractices.Performance.md)
  + [Utilisation de classes d’instance T pour le développement et les tests](AuroraMySQL.BestPractices.Performance.md#AuroraMySQL.BestPractices.T2Medium)
  + [Optimisation des requêtes de jointure indexées Aurora MySQL avec lecture anticipée asynchrone des clés](AuroraMySQL.BestPractices.Performance.md#Aurora.BestPractices.AKP)
    + [Activation de la lecture anticipée asynchrone des clés](AuroraMySQL.BestPractices.Performance.md#Aurora.BestPractices.AKP.Enabling)
    + [Optimisation des requêtes pour la lecture anticipée asynchrone des clés](AuroraMySQL.BestPractices.Performance.md#Aurora.BestPractices.AKP.Optimizing)
  + [Optimisation des requêtes de jointure MySQL Aurora volumineuses avec des jointures de hachage](AuroraMySQL.BestPractices.Performance.md#Aurora.BestPractices.HashJoin)
    + [Activation des jointures par hachage](AuroraMySQL.BestPractices.Performance.md#Aurora.BestPractices.HashJoin.Enabling)
    + [Optimisation des requêtes pour les jointures par hachage](AuroraMySQL.BestPractices.Performance.md#Aurora.BestPractices.HashJoin.Optimizing)
  + [Utilisation d’Amazon Aurora pour dimensionner les lectures de votre base de données MySQL](AuroraMySQL.BestPractices.Performance.md#AuroraMySQL.BestPractices.ReadScaling)
  + [Optimisation des opérations d’horodatage](AuroraMySQL.BestPractices.Performance.md#AuroraMySQL.BestPractices.Performance.TimeZone)
  + [Erreurs de débordement des identifiants d’index virtuels](AuroraMySQL.BestPractices.Performance.md#AuroraMySQL.BestPractices.Performance.VirtualIndexIDOverflow)
+ [Bonnes pratiques pour la haute disponibilité Aurora MySQL](AuroraMySQL.BestPractices.HA.md)
  + [Utilisation d’Amazon Aurora pour la reprise après sinistre avec vos bases de données MySQL](AuroraMySQL.BestPractices.HA.md#AuroraMySQL.BestPractices.DisasterRecovery)
  + [Migration depuis MySQL vers Amazon Aurora MySQL avec une interruption réduite](AuroraMySQL.BestPractices.HA.md#AuroraMySQL.BestPractices.Migrating)
  + [Contournement des performances lentes, du redémarrage automatique et du basculement pour les instances de base de données Aurora MySQL](AuroraMySQL.BestPractices.HA.md#AuroraMySQL.BestPractices.Avoiding)
+ [Recommandations pour les fonctionnalités MySQL dans Aurora MySQL](AuroraMySQL.BestPractices.FeatureRecommendations.md)
  + [Utilisation de la réplication multithread dans Aurora MySQL](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.MTReplica)
  + [Invocation de AWS Lambda fonctions à l'aide de fonctions MySQL natives](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.Lambda)
  + [Éviter les transactions XA avec Amazon Aurora MySQL](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.XA)
  + [Maintenir les clés étrangères activées pendant les instructions DML](AuroraMySQL.BestPractices.FeatureRecommendations.md#Aurora.BestPractices.ForeignKeys)
  + [Configuration de la fréquence à laquelle le tampon du journal est vidé](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.Flush)
  + [Minimisation et résolution des blocages d’Aurora MySQL](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.deadlocks)
    + [Minimisation des blocages InnoDB](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.deadlocks-minimize)
    + [Surveillance des blocages InnoDB](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.deadlocks-monitor)
+ [Évaluation de l'utilisation des instances de base de données pour Aurora MySQL à l'aide CloudWatch des métriques Amazon](AuroraMySQL.BestPractices.CW.md)

## Détermination de l’instance de base de données à laquelle vous êtes connecté
<a name="AuroraMySQL.BestPractices.DeterminePrimaryInstanceConnection"></a>

Pour déterminer à quelle instance de base de données d’un cluster de bases de données Aurora MySQL une connexion est établie, vérifiez la variable globale `innodb_read_only` représentée dans l’exemple suivant.

```
SHOW GLOBAL VARIABLES LIKE 'innodb_read_only'; 
```

La variable `innodb_read_only` est définie sur `ON` si vous êtes connecté à une instance de base de données de lecteur. Ce paramètre est `OFF` si vous êtes connecté à une instance DB d’écriture, telle qu’une instance principale dans un cluster provisionné.

Cette approche peut s’avérer utile si vous voulez ajouter de la logique au code de votre application pour équilibrer la charge de travail ou pour garantir qu’une opération d’écriture utilise la connexion appropriée.