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 de pool de threads fournit un autre modèle de gestion des 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 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 tous 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 le privilège TP_CONNECTION_ADMIN) et en utilisateurs administrateurs (utilisateurs avec le 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 ouvertes au cours du dernier intervalle.
    • Fermé : sessions qui ont été fermées au cours du dernier intervalle.
    • Ajouté : sessions qui ont été 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 la version MySQL 9.1.0, elle affiche également les statistiques relatives aux connexions en cours d'établissement. Les informations suivantes sont fournies :
    • Dans : nombre de demandes de connexion entrantes dans le dernier intervalle.
    • File d'attente : nombre de demandes 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 transmises au pool de threads.
    • OK : nombre de demandes traitées et transmises au pool de threads en tant que nouvelles sessions gérées au cours du dernier intervalle.
    Vous pouvez afficher ces messages à 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. Il reste 2 demandes dans la file d'attente et cinq demandes sont en cours d'authentification. Il a traité 20 demandes de connexion, dont 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. 17 nouvelles sessions sont ouvertes et 15 sessions sont fermées au cours de cet intervalle. A la fin de l'intervalle, 2 des sessions nouvellement ouvertes n'ont pas été fermées tandis que 1 des sessions de l'intervalle précédent l'ont été.
    Pour un pool de threads avec thread_pool_size=N, il existe des groupes de threads N sur lesquels les sessions des utilisateurs non administrateurs seront affectées de manière tourniquet, tandis qu'il existe un seul groupe de threads auquel les sessions de l'utilisateur administrateur seront affectées. Le pool de threads comportera des groupes de threads N+1.
    Remarque

    Il est recommandé de créer un compte utilisateur distinct doté uniquement des privilèges requis pour votre application au lieu d'utiliser le compte administrateur à toutes fins. Reportez-vous aux sections CREATE USER Statement et GRANT Statement.
  • 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, ainsi que 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 l'heure 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 module d'extension 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, il existe peu de privilèges globaux accordés et peu de privilèges révoqués sur le schéma mysql_audit. Reportez-vous à Privilèges MySQL par défaut et à Module d'extension d'audit MySQL Enterprise.
  • Plug-in connection_control : MySQL Server inclut une bibliothèque de plug-ins qui permet aux administrateurs d'introduire un délai croissant de réponse du serveur aux tentatives 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é en exigeant des mots de passe de compte et en permettant de tester la fiabilité des 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 à usage général masquent des chaînes arbitraires, les fonctions de masquage à usage spécial masquent des types de valeur spécifiques et les fonctions de génération génèrent des valeurs aléatoires. Reportez-vous à Masquage des données.