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ègeTP_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.
- 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.
Voici un exemple de ligne de la sortie dans MySQL 9.1.0 :SELECT * FROM performance_schema.error_log WHERE DATA LIKE 'TP conn%'\G
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 groupeLOGGED: 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.
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 avecthread_pool_size=N
, il existe des groupes de threadsN
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 threadsN+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
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'extensionconnection-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
- 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 composantvalidate_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
- 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.