

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Panoramica dei registri di database RDS per MySQL
<a name="USER_LogAccess.MySQL.LogFileSize"></a>

Puoi monitorare i seguenti tipi di file di registro RDS per MySQL:
+ Log di errori
+ Log delle query lente
+ Log generale
+ Log di audit
+ Log delle istanze
+ Log degli errori di autenticazione del database IAM

Il registro degli errori RDS per MySQL viene generato per impostazione predefinita. È possibile generare la query lenta e i log generali impostando i parametri nel gruppo di parametri di database.

**Topics**
+ [Registri degli errori RDS per MySQL](#USER_LogAccess.MySQL.Errorlog)
+ [Registri generali e delle query lente di RDS per MySQL](#USER_LogAccess.MySQL.Generallog)
+ [Registro di controllo di MySQL](#USER_LogAccess.MySQL.Auditlog)
+ [Rotazione e conservazione dei registri per RDS per MySQL](#USER_LogAccess.MySQL.LogFileSize.retention)
+ [Limiti di dimensioni nei registri di ripristino](#USER_LogAccess.MySQL.LogFileSize.RedoLogs)

## Registri degli errori RDS per MySQL
<a name="USER_LogAccess.MySQL.Errorlog"></a>

RDS per MySQL scrive errori nel file `mysql-error.log`. Ogni file di log ha l'ora di creazione (in UTC) accodata al nome. I file di log hanno anche un timestamp che ti aiuta a determinare quando le voci del log sono state scritte.

RDS per MySQL scrive nel registro degli errori solo durante l'avvio, l'arresto e quando si verificano errori. Un'istanza database può andare avanti ore senza che ci siano nuove voci scritte nel file di log degli errori. Se non vedi voci recenti, significa che il server non ha riscontrato errori che generano una voce di registro.

In base alla progettazione, i registri degli errori vengono filtrati in modo da visualizzare solo eventi imprevisti come errori. Tuttavia, i registri degli errori contengono anche altre informazioni sul database, ad esempio l'avanzamento della query, che non vengono visualizzate. Pertanto, anche senza errori effettivi, la dimensione dei registri degli errori potrebbe aumentare a causa delle attività del database in corso. Anche se potresti vedere una certa dimensione in byte o kilobyte per i log degli errori in Console di gestione AWS, potrebbero avere 0 byte quando li scarichi.

RDS per MySQL scrive `mysql-error.log` su disco ogni 5 minuti. Aggiunge il contenuto del registro a `mysql-error-running.log`.

RDS per MySQL ruota il file `mysql-error-running.log` ogni ora. Conserva i registri generati nelle ultime due settimane.

**Nota**  
Il periodo di conservazione dei log è diverso tra Amazon RDS e Aurora.

## Registri generali e delle query lente di RDS per MySQL
<a name="USER_LogAccess.MySQL.Generallog"></a>

Il registro delle query lente e il registro generale di RDS per MySQL possono essere scritti in un file o una tabella di database impostando i parametri nel gruppo parametri del database. Per informazioni sulla creazione e la modifica di un gruppo di parametri database, consulta [Gruppi di parametri per Amazon RDS](USER_WorkingWithParamGroups.md). È necessario impostare questi parametri prima di poter visualizzare il log delle query lente o il registro generale nella console Amazon RDS o utilizzando l'API Amazon RDS, la CLI di Amazon RDS o. AWS SDKs

Puoi controllare la registrazione di RDS per MySQL utilizzando i parametri in questo elenco:
+ `slow_query_log`: per creare il log delle query lente, imposta su 1. Il valore predefinito è 0.
+ `general_log`: per creare il log generale, imposta su 1. Il valore predefinito è 0.
+ `long_query_time`: per evitare che le query a esecuzione rapida vengano registrate nel registro delle query lente, specifica in secondi un valore per il runtime di query più breve da registrare. Il valore predefinito è 10 secondi, il minimo è 0 secondi. Se log\$1output = FILE, puoi specificare un valore in virgola mobile con risoluzione al microsecondo. Se log\$1output = TABLE, devi specificare un valore intero con risoluzione al secondo. Vengono registrate solo le query con runtime che supera il valore `long_query_time`. Ad esempio, impostando `long_query_time` su 0,1 si impedisce a tutte le query con tempo di esecuzione inferiore a 100 millisecondi di essere registrate.
+ `log_queries_not_using_indexes`: per registrare tutte le query che non usano un indice sul log delle query lente, imposta su 1. Le query che non utilizzano un indice vengono registrate anche se il runtime è inferiore al valore del parametro `long_query_time`. Il valore predefinito è 0.
+ `log_output option`: puoi specificare una delle seguenti opzioni per il parametro `log_output`. 
  + **TABLE** (predefinito) `mysql.general_log` Scrive le query generali nella tabella – e le query lente nella tabella `mysql.slow_log`.
  + **FILE** – Scrive sia i log generali sia i log delle query lente nel file system.
  + **NONE** – Disabilita il logging.

Affinché i dati delle query lente vengano visualizzati in Amazon CloudWatch Logs, devono essere soddisfatte le seguenti condizioni:
+ CloudWatch I log devono essere configurati per includere log di query lente.
+ `slow_query_log` deve essere abilitato.
+ `log_output` deve essere impostato su `FILE`.
+ La query deve richiedere più tempo di quanto configurato per `long_query_time`.

Per ulteriori informazioni sui log delle query lente e i log generali, consulta i seguenti argomenti nella documentazione di MySQL:
+ [Log delle query lente](https://dev.mysql.com/doc/refman/8.0/en/slow-query-log.html)
+ [Log delle query generali](https://dev.mysql.com/doc/refman/8.0/en/query-log.html)

## Registro di controllo di MySQL
<a name="USER_LogAccess.MySQL.Auditlog"></a>

Per accedere al log di audit, l'istanza database deve usare un gruppo di opzioni personalizzato con l'opzione `MARIADB_AUDIT_PLUGIN`. Per ulteriori informazioni, consulta [Supporto per MySQL del plug-in per audit MariaDB](Appendix.MySQL.Options.AuditPlugin.md).

## Rotazione e conservazione dei registri per RDS per MySQL
<a name="USER_LogAccess.MySQL.LogFileSize.retention"></a>

Quando la registrazione è abilitata, Amazon RDS ruota i log delle tabelle o elimina i file di log a intervalli regolari. Questa è una misura preventiva per ridurre l'eventualità che un file di log molto grande comprometta l'uso del database o la performance. RDS per MySQL gestisce la rotazione e l'eliminazione come segue:
+ Le dimensioni dei log delle query lente, degli errori e generale di MySQL sono limitate a un massimo del 2 per cento dello spazio di storage assegnato per un'istanza database. Per mantenere questa soglia, i log vengono ruotati automaticamente ogni ora. MySQL rimuove i file di registro più vecchi di due settimane. Se le dimensioni del file di log combinato superano tale soglia dopo la rimozione dei file di log più vecchi, i file di log più grandi vengono eliminati fino a che le dimensioni del file di log non rimangono inferiori alla soglia.
+ Quando la registrazione `FILE` è abilitata, i file di registro vengono esaminati ogni ora e quelli più vecchi di due settimane vengono eliminati. In alcuni casi, la dimensione del file di log combinato restante dopo l'eliminazione supera la soglia del 2 per cento di spazio assegnato a un'istanza database. In questi casi, i file di log più vecchi vengono eliminati fino a che le dimensioni del file di log non rimangono inferiori alla soglia.
+ Quando la registrazione `TABLE` è abilitata, in alcuni casi, le tabelle di log vengono ruotate ogni 24 ore. Questa rotazione avviene se lo spazio usato dai registri delle tabelle è più del 20% dello spazio di archiviazione assegnato oppure se la dimensione di tutti i registri combinati è maggiore di 10 GB. Se la quantità di spazio utilizzato per un'istanza database è maggiore del 90 per cento dello spazio di storage assegnato per l'istanza database, allora le soglie di rotazione del log vengono ridotte. Le tabelle dei registri vengono ruotate se lo spazio utilizzato dai registri delle tabelle supera il 10% dello spazio di archiviazione assegnato oppure se la dimensione di tutti i log combinati è maggiore di 5 GB. È possibile abbonarsi alla categoria di eventi `low storage` per ricevere una notifica quando le tabelle di log vengono ruotate per liberare spazio. Per ulteriori informazioni, consulta [Utilizzo della notifica degli eventi di Amazon RDS](USER_Events.md).

  Quando le tabelle dei registri vengono ruotate, la tabella dei registri corrente viene copiata prima in una tabella dei registri di backup. Quindi le voci della tabella dei registri corrente vengono rimosse. Se esiste già una tabella di log di backup, questa viene eliminata prima che la tabella di log corrente sia copiata nel backup. Puoi eseguire una query sulla tabella di log di backup, se necessario. La tabella di log di backup per la tabella `mysql.general_log` è denominata `mysql.general_log_backup`. La tabella di log di backup per la tabella `mysql.slow_log` è denominata `mysql.slow_log_backup`.

  Puoi ruotare la tabella `mysql.general_log` chiamando la procedura `mysql.rds_rotate_general_log`. Puoi ruotare la tabella `mysql.slow_log` chiamando la procedura `mysql.rds_rotate_slow_log`.

  I log della tabella vengono ruotati durante l'aggiornamento della versione del database.

Per utilizzare i log dalla console Amazon RDS, dall'API Amazon RDS, dalla CLI di Amazon RDS oppure AWS SDKs imposta il parametro su FILE. `log_output` Come il log degli errori MySQL, questi file di log vengono ruotati ogni ora. I file di registro generati durante le due settime precedenti vengono conservati. Il periodo di conservazione è diverso tra Amazon RDS e Aurora.

## Limiti di dimensioni nei registri di ripristino
<a name="USER_LogAccess.MySQL.LogFileSize.RedoLogs"></a>

Per RDS per MySQL versione 8.0.32 e precedenti, il valore predefinito di questo parametro è 256 MB. Questo valore viene ottenuto moltiplicando il valore predefinito del parametro `innodb_log_file_size` (128 MB) per il valore predefinito del parametro `innodb_log_files_in_group` (2). Per ulteriori informazioni, consultare [Best practice per la configurazione dei parametri per Amazon RDS per MySQL, parte 1: Parametri relativi alle prestazioni](https://aws.amazon.com/blogs/database/best-practices-for-configuring-parameters-for-amazon-rds-for-mysql-part-1-parameters-related-to-performance/). 

Per RDS per MySQL 8.0.33 e versioni secondarie successive, Amazon RDS utilizza il parametro `innodb_redo_log_capacity` al posto del parametro `innodb_log_file_size`. Il valore predefinito di Amazon RDS per il parametro `innodb_redo_log_capacity` è 2 GB. Per ulteriori informazioni, consulta [Changes in MySQL 8.0.30](https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-30.html) (Modifiche in MySQL 8.0.30) nella documentazione di MySQL.

A partire da MySQL 8.4, Amazon RDS abilita il parametro `innodb_dedicated_server` per impostazione predefinita. Con il parametro `innodb_dedicated_server`, il motore del database calcola i parametri `innodb_buffer_pool_size` e `innodb_redo_log_capacity`. Per ulteriori informazioni, consulta [Configurazione delle dimensioni del pool di buffer e della capacità dei log di redo in MySQL 8.4](Appendix.MySQL.CommonDBATasks.Config.Size.8.4.md).