

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.

# Surveillez les performances des requêtes MySQL avec des journaux de requêtes généraux et lents dans Lightsail
<a name="amazon-lightsail-enabling-mysql-general-and-slow-query-logs"></a>

Les [journaux de requêtes générales et lentes](amazon-lightsail-viewing-database-logs-and-history.md) sont désactivés par défaut pour les bases de données MySQL dans Amazon Lightsail. Vous pouvez activer ces journaux et commencer la collecte de données, en mettant à jour quelques paramètres de base de données. Mettez à jour les paramètres de base de données à l'aide de l'API Lightsail AWS Command Line Interface ,AWS CLI() ou. SDKs Dans ce guide, nous vous montrons comment utiliser le pour mettre AWS CLI à jour les paramètres de votre base de données et activer les journaux de requêtes généraux et lents. Nous fournissons également d'autres options pour contrôler le journal des requêtes lentes et le journal général et expliquons comment la conservation des données est gérée.

## Prérequis
<a name="prerequisite-to-enable-general-and-slow-query-logs"></a>

Si vous ne l'avez pas déjà fait, installez et configurez l' AWS CLI. Pour plus d'informations, consultez [Configurer le AWS Command Line Interface pour qu'il fonctionne avec Amazon Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md).

## Activer les journaux de requêtes générales et lentes dans la console Lightsail
<a name="enable-the-general-and-slow-query-logs"></a>

Pour activer les journaux de requêtes générales et lentes dans la console Lightsail, vous devez mettre à jour `general_log` les `slow_query_log` paramètres de base `1` de données et `log_output` la valeur de. `FILE`

**Pour activer les journaux de requêtes générales et lentes dans la console Lightsail**

1. Ouvrez une fenêtre de terminal ou d'invite de commande.

1. Entrez la commande suivante pour mettre à jour le paramètre `general_log` sur une valeur de `1`, qui correspond à vrai ou activé.

   ```
   aws lightsail update-relational-database-parameters --region {{Region}} --relational-database-name {{DatabaseName}} --parameters "parameterName=general_log,parameterValue=1,applyMethod=pending-reboot"
   ```

   Dans la commande, remplacez :
   + {{DatabaseName}}avec le nom de votre base de données.
   + {{Region}}avec le contenu Région AWS de votre base de données.

1. Entrez la commande suivante pour mettre à jour le paramètre `slow_query_log` sur une valeur de `1`, qui correspond à vrai ou activé.

   ```
   aws lightsail update-relational-database-parameters --region {{Region}} --relational-database-name {{DatabaseName}} --parameters "parameterName=slow_query_log,parameterValue=1,applyMethod=pending-reboot"
   ```

   Dans la commande, remplacez :
   + {{DatabaseName}}avec le nom de votre base de données.
   + {{Region}}avec le contenu Région AWS de votre base de données.

1. Entrez la commande suivante pour mettre à jour le `log_output` paramètre à la valeur de`FILE`, ce qui enregistre les données du journal dans un fichier système et permet de les afficher dans la console Lightsail.

   ```
   aws lightsail update-relational-database-parameters --region {{Region}} --relational-database-name {{DatabaseName}} --parameters "parameterName=log_output,parameterValue=FILE,applyMethod=pending-reboot"
   ```

   Dans la commande, remplacez :
   + {{DatabaseName}}avec le nom de votre base de données.
   + {{Region}}avec le contenu Région AWS de votre base de données.

1. Entrez la commande suivante pour redémarrer la base de données et rendre les modifications effectives.

   ```
   aws lightsail reboot-relational-database --region {{Region}} --relational-database-name {{DatabaseName}}
   ```

   Dans la commande, remplacez :
   + {{DatabaseName}}avec le nom de votre base de données.
   + {{Region}}avec le contenu Région AWS de votre base de données.

   A ce stade, votre base de données devient indisponible pendant le redémarrage. Patientez quelques minutes, puis connectez-vous à la console [Lightsail](https://lightsail.aws.amazon.com/) pour consulter les journaux des requêtes générales et lentes de votre base de données. Pour plus d'informations, consultez la section [Affichage des journaux et de l'historique de votre base de données dans Amazon Lightsail](amazon-lightsail-viewing-database-logs-and-history.md).
**Note**  
Pour plus d'informations sur la mise à jour des paramètres de base de données, consultez la section [Mise à jour des paramètres de base de données dans Amazon Lightsail](amazon-lightsail-updating-database-parameters.md).

## Contrôle des autres options des journaux de base de données
<a name="control-additional-database-log-options"></a>

Pour contrôler des options supplémentaires du journal des requêtes lentes et du journal général MySQL, mettez à jour les paramètres suivants :
+ `log_output` : définissez ce paramètre à `TABLE`. Cela écrit les requêtes générales dans la table `mysql.general_log` et les requêtes lentes dans la table `mysql.slow_log`. Vous pouvez également définir le paramètre `log_output` comme `NONE` pour désactiver la journalisation.
**Note**  
La définition du `log_output` paramètre pour `TABLE` désactiver l'affichage des données générales et lentes du journal des requêtes dans la console Lightsail. Vous devez alors consulter les tables `mysql.slow_log` et `mysql.general_log` de votre base de données pour afficher les données des journaux.
+ `long_query_time` : pour empêcher l'enregistrement des requêtes rapides dans le journal des requêtes lentes, indiquez la valeur de la durée d'exécution de requête la plus courte devant être enregistrée, en secondes. La valeur par défaut est de 10 secondes et la valeur minimum est 0. Si le paramètre `log_output` est défini sur `FILE`, vous pouvez indiquer une valeur à virgule flottante avec une résolution en microseconde. Si le paramètre `log_output` est défini sur `TABLE`, vous devez indiquer un nombre entier avec une résolution en seconde. Seules les requêtes dont la durée d'exécution dépasse la valeur de paramètre `long_query_time` sont enregistrées. Par exemple, si vous définissez `long_query_time` sur 0,1, les requêtes s’exécutant pendant moins de 100 millisecondes ne sont pas enregistrées.
+ `log_queries_not_using_indexes` : pour enregistrer toutes les requêtes n'utilisant pas d'index dans le journal des requêtes lentes, définir sur 1. La valeur par défaut est 0. Les requêtes n'utilisant pas d'index sont enregistrées même si la durée de leur exécution est inférieure à la valeur du paramètre `long_query_time`.

## Conservation des données des journaux
<a name="log-data-retention"></a>

Lorsque la journalisation est activée, les journaux des tables subissent une rotation ou sont supprimés à intervalles réguliers. Cette précaution permet de limiter la possibilité qu’un fichier journal volumineux ne bloque l’utilisation de la base de données ou n’affecte les performances. Lorsque le paramètre `log_output` est défini sur `FILE` ou `TABLE`, la journalisation est gérée comme suit :
+ Lorsque la journalisation `FILE` est activée, les fichiers journaux sont examinés toutes les heures et ceux dont l’ancienneté est supérieure à 24 heures sont supprimés. Dans certains cas, la taille des fichiers journaux combinés restant après la suppression peut dépasser le seuil de 2 % de l'espace alloué à une base de données. Dans ces cas, les fichiers journaux les plus volumineux sont supprimés jusqu’à ce que la taille des fichiers journaux ne soit plus supérieure au seuil.
+ Lorsque la journalisation de `TABLE` est activée, les journaux des tables font l'objet d'une rotation toutes les 24 heures, dans certains cas.

  Cette rotation se produit si l'espace utilisé par les journaux des tables est supérieur à 20 % de l'espace de stockage alloué ou si la taille de l'ensemble des journaux est supérieure à 10 Go.

  Si l'espace utilisé pour une base de données est supérieur à 90 % de l'espace de stockage alloué à la base de données, alors les seuils correspondant à la rotation des journaux sont réduits.

  Les tables de journaux font alors l'objet d'une rotation si l'espace utilisé par les journaux des tables est supérieur à 10 % de l'espace de stockage alloué ou si la taille de l'ensemble des journaux est supérieure à 5 Go.

  Vous pouvez vous abonner à l'événement `low_free_storage` pour être informé lorsque les tables de journal font l'objet d'une rotation pour libérer de l'espace.
  + Lors de la rotation des tables de journaux, la table de journal actuelle est copiée vers une table de journal de sauvegarde et les entrées de la table de journal actuelle sont supprimées. Si la table de journal de sauvegarde existe déjà, elle est supprimée avant que la table de journal actuelle ne soit copiée dans la sauvegarde. Vous pouvez interroger la table de journal de sauvegarde. La table de journal de sauvegarde de la table `mysql.general_log` est nommée `mysql.general_log_backup`. La table de journal de sauvegarde de la table `mysql.slow_log` est nommée `mysql.slow_log_backup`.
  + Vous pouvez effectuer une rotation de la table `mysql.general_log` en appelant la procédure `mysql.rds_rotate_general_logprocedure`. Vous pouvez effectuer une rotation de la table `mysql.slow_log` en appelant la procédure `mysql.rds_rotate_slow_logprocedure`.
  + La rotation des journaux des tables est effectuée pendant la mise à niveau de la version d’une base de données.