Plugin e componenti

Alcuni plugin e componenti di MySQL Server vengono caricati automaticamente nel sistema DB. Non è necessario installare nessuno di questi plugin.

  • MySQL Enterprise Thread Pool: il plugin pool di thread fornisce un modello alternativo di gestione dei thread progettato per ridurre il sovraccarico e migliorare le prestazioni. Vedere MySQL Enterprise Thread Pool.
    Il sistema DB MySQL HeatWave registra il numero di connessioni gestite dal plugin pool di thread. Un messaggio viene scritto nel log degli errori ogni due minuti di intervallo. L'intervallo viene ridotto a 12 secondi nei primi tre minuti dopo l'avvio del sistema DB riuscito. Le connessioni sono raggruppate in utenti non amministratori (utenti senza privilegio TP_CONNECTION_ADMIN) e utenti amministratori (utenti con privilegio TP_CONNECTION_ADMIN). Per ciascun gruppo vengono fornite le seguenti informazioni:
    • Gestito: sessioni attualmente aperte alla fine dell'intervallo di log e gestite dai gruppi di thread.
    • Delta: modifica del numero di sessioni gestite durante l'ultimo intervallo di log.
    • Attivo: le sessioni che sono state attive (esecuzione di una query) durante l'ultimo intervallo.
    • Aperto: sessioni aperte durante l'ultimo intervallo.
    • Chiuso: sessioni che sono state chiuse durante l'ultimo intervallo.
    • Aggiunto: sessioni aperte durante l'ultimo intervallo e non ancora chiuse.
    • Eliminato: sessioni che sono state aperte in un intervallo precedente e chiuse durante l'ultimo intervallo.
    A partire da MySQL 9.1.0, mostra anche le statistiche per le connessioni che vengono stabilite. Vengono fornite le informazioni riportate di seguito.
    • In: numero di richieste di connessione in entrata nell'ultimo intervallo.
    • Coda: numero di richieste attualmente presenti nelle code tra il server e il pool di thread.
    • Autenticazione: numero di richieste attualmente autenticate.
    • Errore: numero di richieste interrotte nell'ultimo intervallo prima di essere consegnate al pool di thread.
    • OK: numero di richieste gestite correttamente e consegnate al pool di thread come nuove sessioni gestite nell'ultimo intervallo.
    È possibile visualizzare questi messaggi con questa query SQL:
    SELECT * FROM performance_schema.error_log WHERE DATA LIKE 'TP conn%'\G
    Questa è una riga di esempio dell'output in 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.
    
    Nell'output di esempio sono state ricevute 23 richieste di connessione durante l'ultimo intervallo. Sono ancora presenti 2 richieste in coda e cinque richieste sono in fase di autenticazione. Ha gestito 20 richieste di connessione in cui 18 sono state consegnate ai gruppi di pool di thread e 2 non sono riuscite. Il gruppo usr mostra che c'è 1 sessione utente in più rispetto all'intervallo precedente dando un totale di 6 sessioni utente alla fine di questo intervallo. Tutte le 6 sessioni hanno eseguito una o più query nell'intervallo. Ci sono 17 nuove sessioni in fase di apertura e 15 sessioni in fase di chiusura durante questo intervallo. Alla fine dell'intervallo, 2 delle sessioni appena aperte non sono state chiuse mentre 1 sessioni dell'intervallo precedente sono state chiuse.
    Per un pool di thread con thread_pool_size=N, ci saranno gruppi di thread N su cui le sessioni degli utenti non amministratori verranno assegnate in modalità round robin, mentre esiste un gruppo di thread singolo a cui verranno assegnate le sessioni dell'utente amministratore. Il pool di thread avrà gruppi di thread N+1.
    Nota

    Si consiglia di creare un account utente separato concesso solo con i privilegi richiesti per l'applicazione anziché utilizzare l'account amministratore per tutti gli scopi. Vedere CREATE USER Statement e GRANT Statement.
  • Plugin MySQL Enterprise Audit: il plugin di audit consente a MySQL Server di produrre un file di log contenente un record di audit dell'attività del server. Il contenuto del log include quando i client si connettono e si disconnettono e quali azioni eseguono durante la connessione, ad esempio a quali database e tabelle accedono. È possibile aggiungere statistiche per il tempo e la dimensione di ogni query per rilevare i valori anomali. Non è possibile modificare i valori predefiniti del plugin.
    • 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
    Per impostazione predefinita, i log dei plugin di audit sono disabilitati ed è necessario definire filtri per abilitare la registrazione di tutti gli eventi controllabili per tutti gli utenti. Vedere Definizione dei filtri del plugin di audit. Per impostazione predefinita, sono concessi pochi privilegi globali e pochi privilegi revocati dallo schema mysql_audit. Vedere Default MySQL Privileges e MySQL Enterprise Audit Plugin.
  • Plugin connection_control: MySQL Server include una libreria di plugin che consente agli amministratori di introdurre un ritardo crescente nella risposta del server ai tentativi di connessione dopo un numero configurabile di tentativi consecutivi non riusciti. Il valore predefinito delle variabili del plugin connection-control è il seguente e non è possibile modificare i valori predefiniti:
    • connection_control_failed_connections_threshold: 3
    • connection_control_max_connection_delay: 10000
    • connection_control_min_connection_delay: 1000
    Vedere Plugin di controllo della connessione.
  • Componente validate_password: il componente consente di migliorare la sicurezza richiedendo le password degli account e abilitando il test di efficacia di potenziali password. Il valore predefinito delle variabili del componente validate_password è il seguente e non è possibile modificare i valori predefiniti:
    • 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
    Vedere Componente di convalida password.
  • Mascheramento dei dati: le funzioni di mascheramento generiche mascherano stringhe arbitrarie, le funzioni di mascheramento speciali mascherano tipi specifici di valori e generano funzioni generano valori casuali. Vedere Mascheramento dati.