Modules d'extension et composants

Certains modules d'extension et composants MySQL Server sont chargés automatiquement dans le système de base de données. Vous n'avez pas besoin d'installer ces modules d'extension.

  • Pool de threads MySQL Enterprise : le module d'extension des pools de threads fournit un autre modèle de gestion de threads conçu pour réduire la surcharge et améliorer les performances. Reportez-vous à Pool de threads MySQL Enterprise
    Le système de base de données MySQL HeatWave consigne le nombre de connexions gérées par le module d'extension de pool de threads. Un message est écrit dans le journal des erreurs toutes les deux minutes. L'intervalle est réduit à 12 secondes au cours des trois premières minutes suivant le démarrage du système de base de données. Les connexions sont regroupées en utilisateurs non administrateurs (utilisateurs sans privilège TP_CONNECTION_ADMIN) et en utilisateurs administrateurs (utilisateurs avec privilège TP_CONNECTION_ADMIN). Pour chaque groupe, les informations suivantes sont fournies :
    • Géré : sessions actuellement ouvertes à la fin de l'intervalle de journalisation et gérées par les groupes de threads.
    • Delta : modification du nombre de sessions gérées au cours du dernier intervalle de journalisation.
    • Actif : sessions qui ont été actives (exécution d'une requête) au cours du dernier intervalle.
    • Ouvert : sessions qui ont été ouvertes au cours du dernier intervalle.
    • Fermé : sessions qui ont été fermées au cours du dernier intervalle.
    • Ajouté : sessions ouvertes au cours du dernier intervalle et qui ne sont pas encore fermées.
    • Abandonné : sessions qui ont été ouvertes dans un intervalle précédent et fermées au cours du dernier intervalle.
    A partir de MySQL 9.1.0, il affiche également les statistiques relatives aux connexions en cours d'établissement. Les informations suivantes sont fournies :
    • Dans : nombre de demandes de connexion entrantes au cours du dernier intervalle.
    • File d'attente : nombre de demandes figurant actuellement dans les files d'attente entre le serveur et le pool de threads.
    • Authentification : nombre de demandes en cours d'authentification.
    • Erreur : nombre de demandes abandonnées au cours du dernier intervalle avant d'être transférées vers le pool de threads.
    • OK : nombre de demandes gérées et transmises au pool de threads en tant que nouvelles sessions gérées au cours du dernier intervalle.
    Vous pouvez afficher les messages suivants à l'aide de la requête SQL suivante :
    SELECT * FROM performance_schema.error_log WHERE DATA LIKE 'TP conn%'\G
    Voici un exemple de ligne de la sortie dans MySQL 9.1.0 :
        LOGGED: 2024-10-28 05:41:33.402235
     THREAD_ID: 0
          PRIO: Note
    ERROR_CODE: MY-015507
     SUBSYSTEM: Server
          DATA: TP conn (init: in, queue, auth, err, ok. 
                         port: managed(delta), active, opened, closed, added, dropped.):
                         Init: 23, 2, 5, 2, 18. 
                         Usr: 6(+1), 6, 17, 15, 2, 1. Adm: 2(+1), 2, 1, 0, 1, 0.
    
    Dans l'exemple de sortie, 23 demandes de connexion ont été reçues au cours du dernier intervalle. La file d'attente contient encore 2 demandes et cinq sont en cours d'authentification. Il a traité 20 demandes de connexion pour lesquelles 18 ont été transmises à des groupes de pools de threads et 2 ont échoué. Le groupe usr indique qu'il y a 1 session utilisateur de plus que l'intervalle précédent, ce qui donne un total de 6 sessions utilisateur à la fin de cet intervalle. Toutes les 6 sessions ont exécuté une ou plusieurs requêtes dans l'intervalle. Il y a 17 nouvelles sessions en cours d'ouverture et 15 sessions en cours de fermeture pendant cet intervalle. A la fin de l'intervalle, 2 des sessions nouvellement ouvertes n'ont pas été fermées tandis que 1 session de l'intervalle précédent l'a été.
    Pour un pool de threads avec thread_pool_size=N, il y aura des groupes de threads N sur lesquels les sessions des utilisateurs non administrateurs seront affectées de manière tourniquet, tandis qu'il y a un seul groupe de threads auquel les sessions de l'utilisateur administrateur seront affectées. Le pool de threads aura des groupes de threads N+1.
    Remarque

    Il est recommandé de créer un compte utilisateur distinct accordé uniquement avec les privilèges requis pour votre application au lieu d'utiliser le compte administrateur à toutes fins. Reportez-vous à Instruction CREATE USER et Instruction GRANT.
  • Plug-in d'audit MySQL Enterprise : le module d'extension d'audit permet à MySQL Server de produire un fichier journal contenant un enregistrement d'audit de l'activité du serveur. Le contenu du journal inclut le moment où les clients se connectent et se déconnectent, et les actions qu'ils effectuent lorsqu'ils sont connectés, telles que les bases de données et les tables auxquelles ils accèdent. Vous pouvez ajouter des statistiques pour la durée et la taille de chaque requête afin de détecter les valeurs aberrantes. Vous ne pouvez pas modifier les valeurs par défaut du plug-in.
    • audit_log_buffer_size: 10485760
    • audit_log_compression: GZIP
    • audit_log_database: mysql_audit
    • audit_log_file: /db/audit/audit.log
    • audit_log_flush_interval_seconds: 60
    • audit_log_format: JSON
    • audit_log_format_unix_timestamp: ON
    • audit_log_max_size: 5368709120
    • audit_log_prune_seconds: 604800
    • audit_log_rotate_on_size: 52428800
    Par défaut, les journaux de plug-in d'audit sont désactivés et vous devez définir des filtres pour activer la journalisation de tous les événements auditables pour tous les utilisateurs. Reportez-vous à Définition de filtres de plug-in d'audit. Par défaut, peu de privilèges globaux sont accordés et peu de privilèges sont révoqués du schéma mysql_audit. Reportez-vous à Privilèges MySQL par défaut et à Module d'extension d'audit MySQL Enterprise.
  • Module d'extension connection_control : MySQL Server inclut une bibliothèque de modules d'application qui permet aux administrateurs d'introduire un délai de réponse croissant du serveur à des tentatives d'établissement de connexion après un nombre d'échecs consécutifs configurable. Les variables du module d'extension connection-control présentent les valeurs par défaut suivantes. Vous ne pouvez pas modifier ces valeurs :
    • connection_control_failed_connections_threshold: 3
    • connection_control_max_connection_delay: 10000
    • connection_control_min_connection_delay: 1000
    Reportez-vous à Modules d'extension de contrôle de connexion.
  • Composant validate_password : ce composant permet d'améliorer la sécurité à l'aide de mots de passe des comptes et en permettant de tester la complexité de mots de passe potentiels. Les variables du composant validate_password présentent les valeurs par défaut suivantes. Vous ne pouvez pas modifier ces valeurs :
    • validate_password.check_user_name: ON
    • validate_password.length: 8
    • validate_password.mixed_case_count: 1
    • validate_password.number_count: 1
    • validate_password.policy: MEDIUM
    • validate_password.special_char_count: 1
    Reportez-vous à Composant de validation de mot de passe.
  • Masquage des données : les fonctions de masquage a usage général masquent les chaînes arbitraires, les fonctions de masquage a usage spécial masquent les types de valeurs spécifiques et les fonctions de création génèrent les valeurs aléatoires. Reportez-vous à Masquage des données.