

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à.

# File di registro del database Aurora MySQL
<a name="USER_LogAccess.Concepts.MySQL"></a>

Puoi monitorare i log di Aurora MySQL direttamente tramite la console Amazon RDS, l'API Amazon RDS o. AWS CLI AWS SDKs Puoi anche eseguire l'accesso ai log MySQL indirizzando i log a una tabella del database nel database principale e facendo una ricerca in tale tabella. Puoi utilizzare la utility mysqlbinlog per scaricare un log binario. 

Per ulteriori informazioni sulla visualizzazione, il download e la visione di log di database basati su file, consulta [Monitoraggio dei file di log di Amazon Aurora](USER_LogAccess.md).

**Topics**
+ [Panoramica dei registri di database Aurora MySQL](USER_LogAccess.MySQL.LogFileSize.md)
+ [Invio dell'output del log di Aurora MySQL alle tabelle](Appendix.MySQL.CommonDBATasks.Logs.md)
+ [Configurazione di Aurora per database Single-AZ](USER_LogAccess.MySQL.BinaryFormat.md)
+ [Accesso ai log binari MySQL](USER_LogAccess.MySQL.Binarylog.md)

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

Puoi monitorare i seguenti tipi di file di registro Aurora 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 Aurora 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 Aurora MySQL](#USER_LogAccess.MySQL.Errorlog)
+ [Registri generali e delle query lente di Aurora MySQL](#USER_LogAccess.MySQL.Generallog)
+ [Registro di verifica di Aurora MySQL](#ams-audit-log)
+ [Log delle istanze Aurora MySQL](#ams-instance-log)
+ [Rotazione e conservazione dei registri per Autora MySQL](#USER_LogAccess.AMS.LogFileSize.retention)
+ [Pubblicazione dei log di Aurora MySQL su Amazon Logs CloudWatch](#USER_LogAccess.MySQLDB.PublishAuroraMySQLtoCloudWatchLogs)

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

Aurora 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.

Aurora 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.

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

Aurora MySQL ruota il file `mysql-error-running.log` ogni ora.

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

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

Il registro delle query lente e il registro generale di Aurora 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 Aurora](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 Aurora 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** `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.

  Per Aurora MySQL versione 2 e 3, il valore predefinito di `log_output` è `FILE`.

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 verifica di Aurora MySQL
<a name="ams-audit-log"></a>

La registrazione di controllo per Aurora MySQL è denominata Advanced Auditing. Per attivare Advanced Auditing, imposta alcuni parametri del cluster database. Per ulteriori informazioni, consulta [Utilizzo dell'audit avanzato con un cluster di database Amazon Aurora MySQL](AuroraMySQL.Auditing.md).

## Log delle istanze Aurora MySQL
<a name="ams-instance-log"></a>

Aurora crea un file di log separato per le istanze database con la funzionalità di pausa automatica abilitata. Questo file instance.log registra tutti i motivi per cui le istanze database non possono essere messe in pausa quando previsto. Per ulteriori informazioni sul comportamento dei file di log delle istanze e sulla funzionalità di pausa automatica di Aurora, consulta [Monitoraggio delle attività di pausa e ripresa di Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2-administration.html#autopause-logging-instance-log).

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

Quando la registrazione è abilitata, Amazon Aurora ruota o elimina i file di registro Amazon 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. Autora MySQL gestisce la rotazione e l'eliminazione come segue:
+ Le dimensioni del file di registro degli errori di Aurora MySQL sono limitate a un massimo del 15 per cento dello storage locale per un'istanza database. Per mantenere questa soglia, i log vengono ruotati automaticamente ogni ora. Aurora MySQL rimuove i registri dopo 30 giorni o quando è stato occupato il 15% dello spazio su disco. 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.
+ Aurora MySQL rimuove i log di audit, generali, di query lente dopo 24 ore o quando è stato occupato il 15% dello spazio di archiviazione.
+ Quando la registrazione `FILE` è abilitata, i file di registro generale e delle query lente vengono esaminati ogni ora e quelli più vecchi di 24 ore vengono eliminati. In alcuni casi, la dimensione del file di registro combinato restante dopo l'eliminazione supera la soglia del 15 per cento di spazio locale di 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, le tabelle di registro non vengono ruotate o eliminate. Le tabelle di registro vengono troncate quando la dimensione di tutti i registri combinati è troppo grande. È possibile abbonarsi alla categoria di eventi `low storage` per ricevere una notifica quando le tabelle di log devono essere ruotate o eliminate manualmente per liberare spazio. Per ulteriori informazioni, consulta [Utilizzo della notifica degli eventi di Amazon RDS](USER_Events.md).

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

  Quando ruoti manualmente le tabelle di registro, la tabella di registro corrente viene copiata in una tabella di registro di backup e le voci nella tabella di registro corrente vengono eliminate. 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`.
+ I registri di controllo Aurora MySQL vengono ruotati quando la dimensione del file raggiunge i 100 MB e rimossi dopo 24 ore.
+ Amazon RDS ruota i file di log degli errori di autenticazione del database IAM di dimensioni superiori a 10 MB. Amazon RDS rimuove i file di log degli errori di autenticazione del database IAM più vecchi di cinque giorni o più grandi di 100 MB.

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` Analogamente al registro degli errori di Aurora MySQL, questi file di registro vengono ruotati ogni ora. I file di log che sono stati generati durante le precedenti 24 ore vengono conservati. Il periodo di conservazione è diverso tra Amazon RDS e Aurora.

## Pubblicazione dei log di Aurora MySQL su Amazon Logs CloudWatch
<a name="USER_LogAccess.MySQLDB.PublishAuroraMySQLtoCloudWatchLogs"></a>

Puoi configurare il tuo cluster Aurora MySQL DB per pubblicare i dati di log in un gruppo di log in Amazon Logs. CloudWatch Con CloudWatch Logs, puoi eseguire analisi in tempo reale dei dati di log e utilizzarli CloudWatch per creare allarmi e visualizzare metriche. È possibile utilizzare CloudWatch Logs per archiviare i record di registro in un archivio altamente durevole. Per ulteriori informazioni, consulta [Pubblicazione di log Amazon Aurora MySQL in Amazon CloudWatch Logs](AuroraMySQL.Integrating.CloudWatch.md).

# Invio dell'output del log di Aurora MySQL alle tabelle
<a name="Appendix.MySQL.CommonDBATasks.Logs"></a>

Puoi indirizzare il log generale e il log delle query lente alle tabelle sull'istanza database creando un gruppo di parametri del database e impostando il parametro server `log_output` su `TABLE`. Le query generali vengono quindi registrate sulla tabella `mysql.general_log`, mentre le query lente vengono registrate sulla tabella `mysql.slow_log`. Puoi eseguire query sulle tabelle per avere accesso alle informazioni di log. L'abilitazione di questa registrazione aumenta il numero di dati scritti sul database, il che potrebbe compromettere le performance.

Sia il log generale che quello delle query lente sono disattivati per impostazione predefinita. Per abilitare la registrazione sulle tabelle devi impostare anche i parametri server `general_log` e `slow_query_log` su `1`.

Le tabelle di log continuano a crescere fino a che le rispettive attività di registrazione non vengono disattivate eseguendo la reimpostazione del parametro appropriato su `0`. Spesso nel corso del tempo si accumulano grandi quantità di dati che possono usare una percentuale considerevole dello spazio di archiviazione assegnato. Amazon Aurora non consente di troncare le tabelle dei registri, ma è possibile spostarne il contenuto. La rotazione delle tabelle ne salva il contenuto in una tabella di backup e crea una nuova tabella di log vuota. Puoi ruotare manualmente le tabelle di log con le seguenti procedure a riga di comando, nelle quali il prompt dei comandi è indicato da `PROMPT>`: 

```
PROMPT> CALL mysql.rds_rotate_slow_log;
PROMPT> CALL mysql.rds_rotate_general_log;
```

Per rimuovere completamente i dati vecchi e recuperare lo spazio del disco, chiama la procedura adeguata due volte in successione. 

# Configurazione di Aurora per database Single-AZ
<a name="USER_LogAccess.MySQL.BinaryFormat"></a>

Il *log binario* è un insieme di file di log che contengono informazioni sulle modifiche apportate ai dati di un'istanza server Aurora MySQL. Il log binario contiene informazioni come le seguenti:
+ Eventi che descrivono le modifiche al database come la creazione di tabelle o la modifica di righe
+ Informazioni sulla durata di ogni istruzione che ha aggiornato i dati
+ Eventi per istruzioni che avrebbero potuto aggiornare i dati ma non l'hanno fatto

Il log binario registra le istruzioni inviate durante la replica. È inoltre necessario per alcune operazioni di ripristino. Per ulteriori informazioni, consulta la pagina relativa al [log binario](https://dev.mysql.com/doc/refman/8.0/en/binary-log.html) nella documentazione di MySQL.

I registri binari sono accessibili solo dall'istanza database principale, non dalle repliche.

MySQL su Amazon Aurora supporta i formati di logging binario *basati su righe*, *basati su istruzioni* e *misti*. Si consiglia il formato misto a meno che non sia necessario un formato binlog specifico. Per dettagli sui diversi formati di log binari Aurora MySQL, consulta [Binary logging formats](https://dev.mysql.com/doc/refman/8.0/en/binary-log-formats.html) nella documentazione MySQL.

Se pianifichi di utilizzare la replica, il formato di logging binario è importante in quanto determina il record delle modifiche dei dati che viene registrato nella sorgente e inviato ai target della replica. Per ulteriori informazioni sui vantaggi e sugli svantaggi dei vari formati di logging binario per la replica, consulta la pagina relativa a [vantaggi e svantaggi della replica basata su istruzioni e basata su riga](https://dev.mysql.com/doc/refman/8.0/en/replication-sbr-rbr.html) nella documentazione di MySQL.

**Importante**  
Con MySQL 8.0.34, MySQL ha reso obsoleto il parametro `binlog_format`. Nelle versioni successive di MySQL, MySQL prevede di rimuovere il parametro e supportare solo la replica basata su righe. Di conseguenza, consigliamo di utilizzare la registrazione dei log basata su righe per le nuove configurazioni di replica MySQL. Per ulteriori informazioni, consulta [binlog\$1format](https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_format) nella documentazione MySQL.  
Le versioni 8.0 e 8.4 di MySQL accettano il parametro `binlog_format`. Quando si utilizza questo parametro, MySQL emette un avviso che indica che è obsoleto. In una futura versione principale, MySQL rimuoverà il parametro `binlog_format`.  
La replica basata sulle istruzioni può causare incoerenze tra l'cluster database di origine e una replica di lettura. Per ulteriori informazioni, consulta la pagina relativa alla [ determinazione delle istruzioni sicure e non sicure nel logging binario](https://dev.mysql.com/doc/refman/8.0/en/replication-rbr-safe-unsafe.html) nella documentazione MySQL.  
 È possibile monitorare l'utilizzo degli IOPS con la `` `VolumeWriteIOPs` CloudWatch metrica.

**Per impostare il formato di registrazione binaria MySQL**

1. Aprire la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione scegliere **Parameter groups (Gruppi di parametri)**.

1. Scegliere il gruppo di parametri del cluster di database associato al cluster di database da modificare.

   Non è consentito modificare un gruppo di parametri predefinito. Se l'cluster database è usata da un gruppo di parametri predefinito, creare un nuovo gruppo di parametri e associarlo all'cluster database.

   Per ulteriori informazioni sui gruppi di parametri, consulta [Gruppi di parametri per Amazon Aurora](USER_WorkingWithParamGroups.md).

1. In **Actions (Operazioni)**, scegliere **Edit (Modifica)**.

1. Imposta il parametro `binlog_format` sul formato di registrazione binaria scelto (`ROW`, `STATEMENT` o `MIXED`). Puoi anche utilizzare il valore `OFF` per disattivare la registrazione binaria.
**Nota**  
L’impostazione di `binlog_format` su `OFF` nel gruppo di parametri del cluster di database disabilita la variabile di sessione `log_bin`. Questo comportamento disabilita la registrazione dei log binari sul cluster di database Aurora MySQL, che a sua volta reimposta la variabile di sessione `binlog_format` sul valore predefinito `ROW` nel database.

1. Scegliere **Salva modifiche** per salvare gli aggiornamenti applicati al gruppo di parametri cluster database.

Dopo aver eseguito questi passaggi, è necessario riavviare l'istanza di scrittura nel cluster database per applicare le modifiche. In Aurora MySQL versione 2.09 e precedenti, quando si riavvia l'istanza di scrittura, vengono riavviate anche tutte le istanze di lettura nel cluster database. In Aurora MySQL versione 2.10 e successive, è necessario riavviare tutte le istanze di lettura manualmente. Per ulteriori informazioni, consulta [Riavvio di un cluster Amazon Aurora DB o di un'istanza Amazon Aurora DB](USER_RebootCluster.md).

**Importante**  
La modifica di un gruppo di parametri cluster di database influisce su tutti i cluster di database che utilizzano tale gruppo di parametri. Se si desidera specificare diversi formati di registrazione binaria per diversi cluster Aurora MySQL DB AWS in una regione, i cluster DB devono utilizzare diversi gruppi di parametri del cluster DB. Questi gruppi di parametri identificano diversi formati di logging. Assegnare il gruppo di parametri cluster di database appropriato a ciascun cluster di database. Per ulteriori informazioni sui parametri Aurora MySQL, consulta [Parametri di configurazione Aurora MySQL](AuroraMySQL.Reference.ParameterGroups.md).

# Accesso ai log binari MySQL
<a name="USER_LogAccess.MySQL.Binarylog"></a>

Puoi utilizzare la utility mysqlbinlog per il download o lo streaming di log binari dalle istanze database RDS for MySQL. Il log binario viene scaricato sul computer locale dove è possibile eseguire operazioni come la riproduzione del log tramite utility mysql. Per ulteriori informazioni sull'uso dell'utilità mysqlbinlog, consulta [Utilizzo di mysqlbinlog per il backup di file di log binari](https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog-backup.html) nella documentazione di MySQL.

Per eseguire la utility mysqlbinlog su un'istanza Amazon RDS usa le seguenti opzioni:
+ `--read-from-remote-server`: obbligatorio
+ `--host`: il nome DNS dall'endpoint dell'istanza.
+ `--port`: la porta utilizzata dall'istanza.
+ `--user`: un utente MySQL al quale è stata concessa l'autorizzazione `REPLICATION SLAVE`.
+ `--password`: la password dell'utente MySQL oppure ometti un valore di password affinché l'utilità richieda una password.
+ `--raw`: scarica il file in formato binario.
+ `--result-file`: il file locale per riceve l'output raw.
+ `--stop-never`: trasmette in streaming i file di log binari.
+ `--verbose`: quando utilizzi il formato binlog `ROW`, includi questa opzione per visualizzare gli eventi di riga come istruzioni pseudo-SQL. Per ulteriori informazioni sull'opzione `--verbose`, consulta [Visualizzazione degli eventi di riga di mysqlbinlog](https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog-row-events.html) nella documentazione di MySQL.
+ Specifica il nome di uno o più file di log binari. Per ottenere l'elenco dei log disponibili, utilizza il comando SQL `SHOW BINARY LOGS`.

Per ulteriori informazioni sulle opzioni di mysqlbinlog, consulta [Utilità mysqlbinlog per l'elaborazione di file di log binari](https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog.html) nella documentazione di MySQL.

Gli esempi seguenti mostrano come utilizzare l'utilità mysqlbinlog.

Per Linux, macOS o Unix:

```
mysqlbinlog \
    --read-from-remote-server \
    --host=MySQLInstance1.cg034hpkmmjt.region.rds.amazonaws.com \
    --port=3306  \
    --user ReplUser \
    --password \
    --raw \
    --verbose \
    --result-file=/tmp/ \
    binlog.00098
```

Per Windows:

```
mysqlbinlog ^
    --read-from-remote-server ^
    --host=MySQLInstance1.cg034hpkmmjt.region.rds.amazonaws.com ^
    --port=3306  ^
    --user ReplUser ^
    --password ^
    --raw ^
    --verbose ^
    --result-file=/tmp/ ^
    binlog.00098
```

I log binari devono rimanere disponibili sull’istanza database affinché l’utilità mysqlbinlog possa accedervi. Per garantirne la disponibilità, usare la stored procedure [mysql.rds\$1set\$1configuration](mysql-stored-proc-configuring.md#mysql_rds_set_configuration) e specificare un periodo abbastanza lungo che consenta di scaricare i log. Se questa configurazione non è impostata, Amazon RDS elimina i log binari il prima possibile, causando lacune nei log binari recuperati dall’utilità mysqlbinlog. 

L'esempio seguente imposta il periodo di conservazione su 1 giorno.

```
call mysql.rds_set_configuration('binlog retention hours', 24);
```

Per visualizzare l'impostazione attuale, utilizza la procedura archiviata [mysql.rds\$1show\$1configuration](mysql-stored-proc-configuring.md#mysql_rds_show_configuration).

```
call mysql.rds_show_configuration;
```