Configura flag di database

Questa pagina descrive come configurare i flag di database per Cloud SQL ed elenca i flag che puoi impostare per la tua istanza. I flag di database vengono utilizzati per molte operazioni, tra cui la regolazione dei parametri MySQL, la regolazione delle opzioni e la configurazione e l'ottimizzazione di un'istanza.

In alcuni casi, l'impostazione di un flag potrebbe richiedere l'impostazione di un altro flag per attivare completamente la funzionalità che vuoi utilizzare. Ad esempio, per abilitare il logging delle query lente, devi impostare sia il flag slow_query_log su on sia il flag log_output su FILE per rendere i log disponibili utilizzando Esplora log della console Google Cloud .

Quando imposti, rimuovi o modifichi un flag per un'istanza di database, il database potrebbe essere riavviato. Il valore del flag viene quindi mantenuto per l'istanza finché non lo rimuovi. Se l'istanza è l'origine di una replica e viene riavviata, anche la replica viene riavviata per allinearsi alla configurazione attuale dell'istanza.

Configura flag di database

Le sezioni seguenti illustrano le attività comuni di gestione dei flag.

Imposta un flag di database

Console

  1. Nella consoleGoogle Cloud , seleziona il progetto che contiene l'istanza Cloud SQL per cui vuoi impostare un flag di database.
  2. Apri l'istanza e fai clic su Modifica.
  3. Vai alla sezione Flag.
  4. Per impostare un flag che non è stato impostato in precedenza sull'istanza, fai clic su Aggiungi elemento, scegli il flag dal menu a discesa e impostane il valore.
  5. Fai clic su Salva per salvare le modifiche.
  6. Verifica le modifiche in Flag nella pagina Panoramica.

gcloud

Modifica l'istanza:

gcloud sql instances patch INSTANCE_NAME --database-flags=FLAG1=VALUE1,FLAG2=VALUE2

Questo comando sovrascriverà tutti i flag di database impostati in precedenza. Per mantenerli e aggiungerne di nuovi, includi i valori di tutti i flag che vuoi impostare nell'istanza. Tutti i flag non inclusi in modo specifico vengono impostati sul valore predefinito. Per i flag che non accettano un valore, specifica il nome del flag seguito da un segno di uguale ("=").

Ad esempio, per impostare i flag general_log, skip_show_database e wait_timeout, puoi utilizzare il seguente comando:

gcloud sql instances patch INSTANCE_NAME \
  --database-flags=general_log=on,skip_show_database=on,wait_timeout=200000

Terraform

Per aggiungere flag di database, utilizza una risorsa Terraform.

resource "google_sql_database_instance" "instance" {
  database_version = "MYSQL_8_0"
  name             = "mysql-instance"
  region           = "us-central1"
  settings {
    database_flags {
      name  = "general_log"
      value = "on"
    }
    database_flags {
      name  = "skip_show_database"
      value = "on"
    }
    database_flags {
      name  = "wait_timeout"
      value = "200000"
    }
    disk_type = "PD_SSD"
    tier      = "db-n1-standard-2"
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

Applica le modifiche

Per applicare la configurazione Terraform in un progetto Google Cloud , completa i passaggi descritti nelle sezioni seguenti.

Prepara Cloud Shell

  1. Avvia Cloud Shell.
  2. Imposta il progetto Google Cloud predefinito in cui vuoi applicare le configurazioni Terraform.

    Devi eseguire questo comando una sola volta per progetto e puoi eseguirlo in qualsiasi directory.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Le variabili di ambiente vengono sostituite se imposti valori espliciti nel file di configurazione Terraform.

Prepara la directory

Ogni file di configurazione Terraform deve avere la propria directory (chiamata anche modulo principale).

  1. In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve avere l'estensione .tf, ad esempio main.tf. In questo tutorial, il file è denominato main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.

    Copia il codice campione nel file main.tf appena creato.

    Facoltativamente, copia il codice da GitHub. Questa opzione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.

  3. Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
  4. Salva le modifiche.
  5. Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
    terraform init

    Facoltativamente, per utilizzare l'ultima versione del provider Google, includi l'opzione -upgrade:

    terraform init -upgrade

Applica le modifiche

  1. Esamina la configurazione e verifica che le risorse che Terraform creerà o aggiornerà corrispondano alle tue aspettative:
    terraform plan

    Apporta le correzioni necessarie alla configurazione.

  2. Applica la configurazione Terraform eseguendo il comando seguente e inserendo yes al prompt:
    terraform apply

    Attendi finché Terraform non visualizza il messaggio "Apply complete!".

  3. Apri il tuo progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud , vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.

Elimina le modifiche

Per eliminare le modifiche:

  1. Per disattivare la protezione da eliminazione, imposta l'argomento deletion_protection su false nel file di configurazione Terraform.
    deletion_protection =  "false"
  2. Applica la configurazione Terraform aggiornata eseguendo il comando seguente e inserendo yes al prompt:
    terraform apply
  1. Rimuovi le risorse applicate in precedenza con la configurazione Terraform eseguendo il comando seguente e inserendo yes al prompt:

    terraform destroy

REST v1

Per impostare un flag per un database esistente:

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Corpo JSON della richiesta:

{
  "settings":
  {
    "databaseFlags":
    [
      {
        "name": "flag_name",
        "value": "flag_value"
      }
    ]
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Ad esempio, per impostare il flag general_log per un database esistente, utilizza:

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Corpo JSON della richiesta:

{
  "settings":
  {
    "databaseFlags":
    [
      {
        "name": "general_log",
        "value": "on"
      }
    ]
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Se sono già configurati flag per il database, modifica il comando precedente per includerli. Il comando PATCH sovrascrive i flag esistenti con quelli specificati nella richiesta.

REST v1beta4

Per impostare un flag per un database esistente:

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Corpo JSON della richiesta:

{
  "settings":
  {
    "databaseFlags":
    [
      {
        "name": "flag_name",
        "value": "flag_value"
      }
    ]
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Ad esempio, per impostare il flag general_log per un database esistente, utilizza:

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Corpo JSON della richiesta:

{
  "settings":
  {
    "databaseFlags":
    [
      {
        "name": "general_log",
        "value": "on"
      }
    ]
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Se sono già configurati flag per il database, modifica il comando precedente per includerli. Il comando PATCH sovrascrive i flag esistenti con quelli specificati nella richiesta.

Cancella tutti i flag e ripristina i valori predefiniti

Console

  1. Nella consoleGoogle Cloud , seleziona il progetto che contiene l'istanza Cloud SQL per cui vuoi cancellare tutti i flag.
  2. Apri l'istanza e fai clic su Modifica.
  3. Apri la sezione Flag di database.
  4. Fai clic sulla X accanto a tutti i flag visualizzati.
  5. Fai clic su Salva per salvare le modifiche.

gcloud

Cancella tutti i flag e ripristina i valori predefiniti in un'istanza:

gcloud sql instances patch INSTANCE_NAME \
--clear-database-flags

Ti verrà chiesto di confermare il riavvio dell'istanza.

REST v1

Per cancellare tutti i flag per un'istanza esistente:

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Corpo JSON della richiesta:

{
  "settings":
  {
    "databaseFlags": []
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

Per cancellare tutti i flag per un'istanza esistente:

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Corpo JSON della richiesta:

{
  "settings":
  {
    "databaseFlags": []
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Visualizza i valori correnti dei flag di database

Per visualizzare tutti i valori correnti delle variabili di sistema MySQL, accedi alla tua istanza con il client mysql e inserisci la seguente istruzione:

 SHOW VARIABLES;

Tieni presente che puoi modificare il valore solo per i flag supportati (come elencato di seguito).

Determina quali flag di database sono stati impostati per un'istanza

Per vedere quali flag sono stati impostati per un'istanza Cloud SQL:

Console

  1. Nella consoleGoogle Cloud , seleziona il progetto che contiene l'istanza Cloud SQL per cui vuoi visualizzare i flag di database impostati.
  2. Seleziona l'istanza per aprire la pagina Panoramica istanza.

    I flag di database impostati sono elencati nella sezione Flag di database.

gcloud

Recupera lo stato dell'istanza:

gcloud sql instances describe INSTANCE_NAME

Nell'output, i flag di database sono elencati sotto settings come raccolta databaseFlags. Per saperne di più sulla rappresentazione dei flag nell'output, consulta Rappresentazione delle risorse delle istanze.

REST v1

Per elencare i flag configurati per un'istanza:

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Nell'output, cerca il campo databaseFlags.

REST v1beta4

Per elencare i flag configurati per un'istanza:

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Nell'output, cerca il campo databaseFlags.

Flag gestiti da Cloud SQL

Cloud SQL regola alcuni flag di sistema in base al tipo di macchina dell'istanza.

innodb_buffer_pool_instances
  • 1 per db-f1-micro e db-g1-small.
  • 1 se la RAM è inferiore a 7,5 GB.
  • 2 se 7,5 GB <= RAM < 13 GB.
  • 4 se 13 GB <= RAM < 26 GB.
  • 8 se la RAM è >= 26 GB.

Flag supportati

I flag supportati in Cloud SQL sono quelli più comunemente richiesti per MySQL. I flag non menzionati in questa sezione non sono supportati.

Per un determinato flag, Cloud SQL potrebbe supportare un valore o un intervallo diverso rispetto al parametro o all'opzione MySQL corrispondente.

I flag si applicano a tutte le versioni di MySQL supportate da Cloud SQL, salvo diversa indicazione.

A | B | C | D | E | F | G | H | I | L | M | N | O | P | Q | R | S | T | U | W

Flag Cloud SQL Tipo
Valori accettati e note
Riavvio
necessario?
activate_all_roles_on_login boolean
on | off
default: off
No
activate_mandatory_roles boolean
on | off
default: on
No
autocommit boolean
on | off
predefinito: on
No
auto_increment_increment integer
1 … 65535
No
auto_increment_offset integer
1 … 65535
No
automatic_sp_privileges boolean
on | off
predefinito: on
No
back_log integer
1 … 65535
valore predefinito: max_connections
MySQL 8.4 e versioni precedenti: 4000
MySQL 9.7 e versioni successive: 10000
Sì
binlog_cache_size integer
4096 … 9223372036854775807
No
binlog_expire_logs_seconds integer
0 o 86400 (1 day)… 4294967295 (max value)
Il valore predefinito è 86400, che equivale a 1 giorno.

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
binlog_group_commit_sync_delay 0 … 1000000

Supportato in MySQL 5.7 e versioni successive

Il valore predefinito è 0.

No
binlog_group_commit_sync_no_delay_count 0 … 1000000

Supportato in MySQL 5.7 e versioni successive

Il valore predefinito è 0.

No
binlog_gtid_simple_recovery boolean
on | off
predefinito: on
Sì
binlog_order_commits boolean
on | off
predefinito: on

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
binlog_row_image enumeration
full (predefinito), minimal o noblob
No
binlog_row_metadata enumeration
full o minimal (valore predefinito)
No
binlog_row_value_options string
PARTIAL_JSON
No
binlog_rows_query_log_events boolean
on | off
predefinito: off
No
binlog_stmt_cache_size 4096 … 9223372036854775807 No
binlog_transaction_compression boolean
on | off
predefinito: off

Le modifiche a binlog_transaction_compression diventano effettive solo dopo l'istruzione START REPLICA successiva.

No
binlog_transaction_compression_level_zstd integer
1 … 22
default: 3

Le modifiche a binlog_transaction_compression_level_zstd diventano effettive solo dopo la successiva istruzione START REPLICA.

No
binlog_transaction_dependency_history_size integer
1 … 10000000 Valore predefinito:
- MySQL 8.4 e versioni precedenti: 25000
- MySQL 9.7 e versioni successive: 10000000

Per informazioni su come utilizzare questo flag e sui relativi valori accettabili, consulta Configura la replica parallela.

No
binlog_transaction_dependency_tracking enumeration

Per informazioni su come utilizzare questo flag e sui relativi valori accettabili, consulta Configura la replica parallela. Questo flag non è supportato in MySQL 8.4 e versioni successive.

No
block_encryption_mode string
aes-keylen-mode
default: aes-128-ECB
No
bulk_insert_buffer_size integer
0 … 4294967295
predefinito: 8388608
No
caching_sha2_password_storage_format string
CRYPT5 | PBKDF2_SHA512
valore predefinito: CRYPT5
No
caching_sha2_password_enforce_storage_format boolean
1 (true) | 0 (false)
valore predefinito: 0 (false)
No
caching_sha2_password_proxy_users boolean
on | off
valore predefinito: OFF

Per saperne di più su questo flag, consulta la sezione Suggerimenti.

No
collation_connection string
predefinito:
MySQL 8.0 e versioni successive - utf8mb4_0900_ai_ci

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
collation_server string
valore predefinito:
MySQL 5.7 - utf8_general_ci
MySQL 8.0 e versioni successive - utf8mb4_0900_ai_ci
No
character_set_client string

Valore predefinito:
MySQL 5.7: utf8
MySQL 8.0 e versioni successive: utf8mb4

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
character_set_connection string
Valore predefinito:
MySQL 5.7: utf8
MySQL 8.0 e versioni successive: utf8mb4

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
character_set_results string
utf8 o utf8mb4
predefinito:
MySQL 5.7: utf8
MySQL 8.0 e versioni successive: utf8mb4

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
character_set_server string
utf8 o utf8mb4 (consigliato)
Sì
check_proxy_users boolean
on | off
predefinito: off
No
cloudsql_allow_analyze_table boolean on | off
valore predefinito: off
No
cloudsql_avoid_parse_session_logging boolean on | off
default: off
No
cloudsql_iam_authentication boolean on | off
default: off
Supportato in MySQL 5.7 e versioni successive per Cloud SQL.
No
cloudsql_ignore_innodb_encryption boolean on | off
valore predefinito: off
No
cloudsql_index_recreate_enable boolean
on | off
predefinito: on
No
cloudsql_index_recreate_replica_group string
predefinito: NULL
No
cloudsql_mysql_audit_data_masking_cmds string
"", dql, dml, ddl, dcl, show, call, create_udf, drop_function, create_procedure, create_function, drop_procedure, alter_procedure, alter_function, create_trigger, drop_trigger, create_event, alter_event, drop_event, create_db, drop_db, alter_db, create_user, drop_user, rename_user, alter_user, create_table, create_index, alter_table, drop_table, drop_index, create_view, drop_view, rename_table, update, insert, insert_select, delete, truncate, replace, replace_select, delete_multi, update_multi, load, select, call_procedure, connect, disconnect, grant, revoke, revoke_all, show_triggers, show_create_proc, show_create_func, show_procedure_code, show_function_code, show_create_event, show_events, show_create_trigger, show_grants, show_binlog_events, show_relaylog_events

predefinito: create_user, alter_user, grant e update
No
cloudsql_mysql_audit_data_masking_regex string
max_string_length: 2048
predefinito: consulta Impostazioni del plug-in di controllo.
No
cloudsql_mysql_audit_log_write_period integer
0...5000 millisecondi
predefinito: 500 millisecondi
No
cloudsql_mysql_audit_max_query_length integer
-1...1073741824
default: -1
No
cloudsql_parameterized_secure_view boolean
on | off
predefinito: off
No
cloudsql_vector boolean on | off
default: off
Sì
cloudsql_vector_iterative_filtering boolean

predefinito: off
No
cloudsql_vector_iterative_filtering_max_neighbors integer
10...1000
predefinito: 500
No
cloudsql_vector_max_mem_size integer
1073741824...innodb_buffer_pool_size/2
default: 1073741824 in byte
Sì
completion_type enumeration
NO_CHAIN (predefinito), CHAIN o RELEASE
No
concurrent_insert enumeration
NEVER, AUTO (predefinito) o ALWAYS
No
connect_timeout integer
2 … 31536000
predefinito: 10
No
connection_memory_chunk_size integer
0 … 536870912
Valore predefinito:
MySQL da 8.0.28 a 8.0.33: 8912
MySQL 8.0.34 e versioni successive: 8192
No
connection_memory_limit integer
2097152 … 9223372036854775807
No
connection_memory_status_limit integer
16777216 … 9223372036854775807
default: 9223372036854775807
No
cte_max_recursion_depth integer
0 … 4294967295
predefinito: 1000
No
default_authentication_plugin string
mysql_native_password|caching_sha2_password
Sì
default_password_lifetime integer 0...65535
default: 0
No
default_time_zone string
Esistono due modi per specificare i fusi orari: come offset del fuso orario e come nomi dei fusi orari. Ad esempio, +00:00 è l'offset del fuso orario per Londra (che si trova nel fuso orario UTC) e Europe/London è il nome del fuso orario.

Utilizza i valori per specificare gli offset del fuso orario, da -12:59 a +13:00. Gli zeri iniziali sono obbligatori.

Quando utilizzi i nomi dei fusi orari, è supportata la regolazione automatica dell'ora legale. Non è supportato quando si utilizzano gli offset del fuso orario. Visualizza un elenco di nomi di fusi orari supportati da Cloud SQL per MySQL. Per tenerne conto, devi aggiornare questo flag manualmente sull'istanza principale e su tutte le repliche di lettura.

Per impostare il fuso orario senza causare il riavvio dell'istanza Cloud SQL, utilizza il comando set time_zone=timezone_offset o timezone_name con il flag init_connect.

Sì
default_tmp_storage_engine string
INNODB|MEMORY
default: INNODB
No
default_week_format integer
0 … 7
predefinito: 0
No
delay_key_write enumeration
OFF, ON (predefinito) o ALL
No
disconnect_on_expired_password boolean on | off
predefinito: on
Sì
div_precision_increment integer
0 … 30
predefinito: 4
No
end_markers_in_json boolean
on | off
predefinito: off
No
eq_range_index_dive_limit integer
0 … 2147483647
No
event_scheduler boolean
on | off

Se utilizzi l'Event Scheduler, configura l'istanza con una policy di attivazione impostata su ALWAYS per assicurarti che gli eventi pianificati vengano eseguiti.

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
expire_logs_days integer
0 … 99
Il valore predefinito è 0, il che significa che non è prevista la rimozione automatica.

Nota: questo flag non è supportato in MySQL 8.4. Utilizza invece binlog_expire_logs_seconds. Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
explicit_defaults_for_timestamp boolean
on | off

No
flush_time integer
0 … 31536000
predefinito: 0
No
foreign_key_checks boolean
on | off
predefinito: on

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
ft_max_word_len integer
10 … 252
Sì
ft_min_word_len integer
1 … 16
Sì
ft_query_expansion_limit integer
0 … 1000
Sì
ft_stopword_file string
Sì
general_log boolean
on | off

Per ulteriori informazioni sui log generali, consulta la sezione Suggerimenti.

No
generated_random_password_length integer 5-255
default: 20
No
global_connection_memory_limit integer
16777216 … 9223372036854775807
No
global_connection_memory_status_limit integer
16777216 … 9223372036854775807
default: 9223372036854775807
No
global_connection_memory_tracking boolean
on | off
Valore predefinito: off
No
group_concat_max_len integer
4 … 17179869184
No
gtid_executed_compression_period integer
0 … 4294967295
predefinito (fino alla versione 8.0.22): 1000
predefinito (versione 8.0.23 e successive): 0
No
histogram_generation_max_mem_size integer
1000000 … 4294967295
predefinito: 20000000
No
init_connect string No
innodb_adaptive_hash_index boolean
on | off
No
innodb_adaptive_hash_index_parts integer
1 … 512
Sì
innodb_adaptive_max_sleep_delay integer
0 … 1000000
No
innodb_autoextend_increment integer
1 … 1000
No
innodb_autoinc_lock_mode integer
0 … 2
Sì
innodb_buffer_pool_chunk_size integer
1048576 … (innodb_buffer_pool_size/innodb_buffer_pool_instances)

Questo valore del flag dipende da innodb_buffer_pool_size e innodb_buffer_pool_instances. MySQL può ottimizzare automaticamente il valore di innodb_buffer_pool_chunk_size in base a questi due flag.

Sì
innodb_buffer_pool_dump_pct integer
1 … 100
Valore predefinito: 25
No
innodb_buffer_pool_dump_at_shutdown boolean
on | off
No
innodb_buffer_pool_dump_now boolean
on | off

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
innodb_buffer_pool_instances integer
1 … 64
Sì
innodb_buffer_pool_load_abort boolean
on | off

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
innodb_buffer_pool_load_at_startup boolean
on | off
Sì
innodb_buffer_pool_load_now boolean
on | off

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
innodb_buffer_pool_size integer

L'impostazione di questo flag per MySQL 5.6 richiede un riavvio. Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
innodb_change_buffer_max_size integer
0 … 50
default:
- MySQL 8.4 e versioni precedenti: 25
- MySQL 9.7 e versioni successive: 5
No
innodb_change_buffering string

Opzioni: none, inserts, deletes, changes, purges, all.

valore predefinito:
- MySQL 8.0 e versioni precedenti: none
- MySQL 8.4 e versioni successive: all
No
innodb_checksum_algorithm string

Opzioni: crc32, strict_crc32, innodb, strict_innod, none, strict_none.

No
innodb_cloudsql_managed_buffer_pool boolean
on | off
Valore predefinito: off
No
innodb_cloudsql_managed_buffer_pool_threshold_pct integer
50 … 99
Intervallo di RAM per istanzaPredefinito
< 3 GB di RAMN/A (con core condiviso non supportato)
3-8 GB di RAM90
8-15 GB di RAM92
15-100 GB di RAM95
> 100 GB di RAM97
No
innodb_cloudsql_managed_buffer_pool_tuneup_pct integer
48 … 97
Valore predefinito: 70

Questo flag deve essere impostato su un valore inferiore di almeno 2 rispetto al valore di innodb_cloudsql_managed_buffer_pool_threshold_pct.

No
innodb_cloudsql_optimized_write boolean

Questo flag è disponibile solo per le istanze con la versione Cloud SQL Enterprise Plus. Per saperne di più su questo flag, consulta la sezione Suggerimenti.

Sì
innodb_cmp_per_index_enabled boolean
on | off
No
innodb_commit_concurrency integer
0 … 1000
Sì
innodb_compression_failure_threshold_pct integer
0 … 100
No
innodb_compression_level integer
0 … 9
No
innodb_compression_pad_pct_max integer
0 … 75
No
innodb_concurrency_tickets integer
1 … 4294967295
No
innodb_ddl_buffer_size integer
65536 … 4294967295
default: 1048576
No
innodb_ddl_threads integer
1 … 64
default: 4
No
innodb_deadlock_detect boolean
on | off

Supportato in MySQL 5.7 e versioni successive.

Valore predefinito: on

No
innodb_disable_sort_file_cache boolean
on | off
No
innodb_doublewrite_batch_size integer
0 … 256
Valore predefinito: 0
Sì
innodb_doublewrite_files integer
2 … 128
Sì
innodb_doublewrite_pages integer
4 … 512
Valore predefinito: 64
Sì
innodb_file_per_table boolean
on | off

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
innodb_fill_factor integer
10 … 100
No
innodb_flush_log_at_timeout double
0.0001… 2700
Valore predefinito: 1

Supportato in MySQL 5.7 e versioni successive.

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
innodb_flush_log_at_trx_commit integer
0, 1, 2
Valore predefinito: 1

Se promuovi una replica con questo flag abilitato, il flag viene rimosso automaticamente, in modo che la replica promossa abbia la durabilità completa per impostazione predefinita. Per utilizzare questo flag con una replica promossa, puoi aggiornarlo nella replica dopo la promozione.

Per saperne di più, consulta la sezione Suggerimenti.

No
innodb_flush_method string

Opzioni: fsync, O_DIRECT, O_DSYNC

Valore predefinito: O_DIRECT
Sì
innodb_flush_neighbors enumeration
0 … 2
Valori predefiniti:
- MySQL 5.6: 0
- Da MySQL 5.7 a MySQL 8.0:2
- MySQL 8.4 e versioni successive: 0
No
innodb_flush_sync boolean
on | off
No
innodb_flushing_avg_loops integer
1 … 1000
Valore predefinito: 30
No
innodb_fsync_threshold integer
0 … 9223372036854775807
Valore predefinito: 0
No
innodb_ft_aux_table string

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

Sì
innodb_ft_cache_size integer
1600000 … 80000000
Sì
innodb_ft_enable_diag_print boolean
on | off
No
innodb_ft_enable_stopword boolean
on | off
No
innodb_ft_max_token_size integer
10 … 252
Sì
innodb_ft_min_token_size integer
0 … 16
Sì
innodb_ft_num_word_optimize integer
1000 … 10000
No
innodb_ft_result_cache_limit integer
1000000 … 4294967295
No
innodb_ft_server_stopword_table string No
innodb_ft_sort_pll_degree integer
1 … 32
Sì
innodb_ft_total_cache_size integer
32000000 … 1600000000
Sì
innodb_ft_user_stopword_table string No
innodb_idle_flush_pct integer
0 … 100
Valore predefinito: 100
No
innodb_io_capacity integer
100 … 100000
Valore predefinito: 5000

Per scoprire di più sulla configurazione delle prestazioni del disco, consulta la tabella VM E2 in Configura i dischi per soddisfare i requisiti delle prestazioni.

No
innodb_io_capacity_max integer
100 … 100000
Valore predefinito: 10000

Per scoprire di più sulla configurazione delle prestazioni del disco, consulta la tabella VM E2 in Configura i dischi per soddisfare i requisiti delle prestazioni.

No
innodb_large_prefix boolean
on | off

Supportato solo in MySQL 5.6.

No
innodb_lock_wait_timeout integer
1 … 1073741824
No
innodb_log_buffer_size integer
262144 … 4294967295
Sì
innodb_log_checksums boolean
on | off
valore predefinito: on
No
innodb_log_file_size integer
- MySQL 5.6: 1048576 … 274877906944
- MySQL da 5.7 a 8.4: 4194304 … 274877906944
- MySQL 9.7: rimosso dal database

Per saperne di più su questo flag, consulta la sezione Suggerimenti.

Sì
innodb_log_spin_cpu_abs_lwm integer
0 … 4294967295
default: 80
No
innodb_log_spin_cpu_pct_hwm integer
0 … 100
default: 50
No
innodb_log_wait_for_flush_spin_hwm integer
0 … 4294967295
default: 400
No
innodb_log_write_ahead_size integer
512 … 65536
default: 8192
No
innodb_lru_scan_depth integer
100 … 9223372036854775807
No
innodb_max_dirty_pages_pct float
0 … 99.99
default: 90
No
innodb_max_dirty_pages_pct_lwm float
0 … 99.99
default: 10
No
innodb_max_purge_lag integer
0 … 4294967295
default: 0
No
innodb_max_undo_log_size integer
10485760 … 9223372036854775807
default: 1073741824
No
innodb_max_purge_lag_delay integer
0 … 10000000
default: 0
No
innodb_monitor_disable string No
innodb_monitor_enable string No
innodb_monitor_reset string
counter, module, pattern, all
No
innodb_monitor_reset_all enumeration
Valori validi: counter, module, pattern, all
No
innodb_native_foreign_keys boolean
on | off
valore predefinito: off
No
innodb_old_blocks_pct integer
5 … 95
No
innodb_old_blocks_time integer
0 … 4294967295
No
innodb_online_alter_log_max_size integer
65536 … 9223372036854775807
No
innodb_open_files integer
100 … 2147483647
valore predefinito:
MySQL 5.7: 2000
MySQL 8.0 e versioni successive: 4000
≥ 8.0.28: No
≤ 8.0.27: Sì
innodb_optimize_fulltext_only boolean
on | off
No
innodb_page_cleaners integer
1 … 64
Supportato in MySQL 5.7 e versioni successive. Per MySQL 5.7 e 8.0, il valore predefinito è 4. Per MySQL 8.4, il valore predefinito è uguale al valore configurato per il flag innodb_buffer_pool_instances.
Sì
innodb_parallel_read_threads integer
1 … 256
default: 4
No
innodb_print_all_deadlocks boolean
on | off
default: off
No
innodb_print_ddl_logs boolean
on | off
No
innodb_purge_batch_size integer
1 … 5000
default: 300
No
innodb_purge_rseg_truncate_frequency integer
1 … 128
default: 128
No
innodb_purge_threads integer
1 … 32
Valori predefiniti:
- MySQL 5.6: 1
- MySQL 5.7 e versioni successive: 4
Sì
innodb_random_read_ahead boolean
on | off
No
innodb_read_ahead_threshold integer
0 … 64
No
innodb_read_io_threads integer
1 … 64
Sì
innodb_redo_log_capacity integer
- MySQL 8.0.33 e versioni precedenti: 8388608 (8 MB) … 137438953472 (128 GB)
- MySQL 8.0.34 e versioni successive: 8388608 (8 MB) … 549755813888 (512 GB)

Per saperne di più su questo flag, consulta la sezione Suggerimenti.

No
innodb_replication_delay integer
0 … 4294967295
No
innodb_rollback_on_timeout boolean
on | off
Sì
innodb_rollback_segments integer
1 … 128
No
innodb_segment_reserve_factor float
.03 … 40
default: 12.5
No
innodb_sort_buffer_size integer
65536 … 67108864
Sì
innodb_spin_wait_delay integer
- MySQL 5.7: 0 … 1000000
- MySQL 8.0.13+: 0 … 1000
valore predefinito: 6
No
innodb_stats_auto_recalc boolean
on | off
No
innodb_stats_include_delete_marked boolean
on | off
default: off
No
innodb_stats_method enumeration
nulls_equal | nulls_unequal | nulls_ignored
No
innodb_stats_on_metadata boolean
on | off
No
innodb_stats_persistent boolean
on | off
No
innodb_stats_persistent_sample_pages integer
1 … 9223372036854775807
No
innodb_stats_sample_pages integer
1 … 9223372036854775807
No
innodb_stats_transient_sample_pages integer
1 … 9223372036854775807
No
innodb_status_output boolean
on | off
No
innodb_status_output_locks boolean
on | off
No
innodb_strict_mode boolean
on | off
No
innodb_sync_array_size 1 ... 1024

Il valore predefinito è 1.

Sì
innodb_sync_spin_loops integer
0 … 4294967295
default: 30
No
innodb_table_locks boolean
on | off
valore predefinito: on
No
innodb_thread_concurrency integer
0 … 1000
No
innodb_thread_sleep_delay integer
0 … 1000000
No
innodb_undo_log_truncate boolean
on | off
valore predefinito: on
No
innodb_use_native_aio boolean
on | off
valore predefinito: on
Sì
innodb_write_io_threads integer
1 … 64
Sì
interactive_timeout integer
1 … 31536000
No
internal_tmp_disk_storage_engine enumeration
INNODB | MYISAM
Valore predefinito: INNODB
No
internal_tmp_mem_storage_engine enumeration
MEMORY, TempTable
.
No
join_buffer_size integer
128 … 9223372036854775807
No
keep_files_on_create boolean
on | off
predefinito: off
No
key_buffer_size integer
4096 … 4294967295
default: 8388608
No
key_cache_age_threshold integer
100 … 9223372036854775807
default: 300
No
key_cache_block_size integer
512 … 16384
default: 1024
No
key_cache_division_limit integer
1 … 100
default: 100
No
lc_times_names string
en_US | cs_CZ | da_DK | nl_NL | et_EE | fr_FR | de_DE | el_GR | hu_HU | it_IT | ja_JP | ko_KR | no_NO | nb_NO | pl_PL | pt_PT | ro_RO | ru_RU | sr_RS | sk_SK | es_ES | sv_SE | uk_UA
default: en_US
No
local_infile boolean
on | off
No
lock_wait_timeout integer
1 … 31536000
No
log_bin_trust_function_creators boolean
on | off
No
log_output set
FILE | TABLE | NONE
No
log_error_verbosity integer
1 … 3
valore predefinito:
MySQL 5.7: 3
MySQL 8.0 e versioni successive: 2
No
log_queries_not_using_indexes boolean
on | off
No
log_slow_admin_statements boolean
on | off
default: off
No
log_slow_extra boolean
on | off
default: off
No
log_slow_replica_statements boolean
on | off Valore predefinito: off
No
log_slow_slave_statements boolean
on | off Valore predefinito: off
No
log_throttle_queries_not_using_indexes integer
0 … 9223372036854775807
No
log_timestamps string
"UTC | SYSTEM"
default: UTC
No
long_query_time float
0 … 30000000

Cloud SQL offre la possibilità di impostare questo flag su un valore inferiore a 1, se necessario.

Se è abilitato anche il flag log_queries_not_using_indexes, potresti visualizzare query con un tempo inferiore a quello specificato qui.

No
lower_case_table_names 5.7 | 8.0 integer
0 o 1
Valore predefinito: 0

Se utilizzi il valore predefinito 0 per questo flag, i nomi delle tabelle e dei database sono sensibili alle maiuscole. Se impostato su 1, i nomi delle tabelle e dei database non fanno distinzione tra maiuscole e minuscole.

Per le istanze MySQL 5.7, puoi modificare il valore di questo flag in qualsiasi momento. In questo caso, assicurati di comprendere l'impatto della modifica sulle tabelle e sui database esistenti.

Per le istanze MySQL 8.0 e versioni successive, puoi impostare il valore di questo flag su un valore desiderato solo durante la creazione di un'istanza. Una volta impostato questo valore, non puoi modificarlo. Inoltre, per un'istanza esistente, non puoi modificare il valore di questo flag.

Quando crei repliche di lettura per le istanze MySQL 5.7, MySQL 8.0 o MySQL 8.4, la replica eredita questo valore del flag dall'istanza principale.

Sì
mandatory_roles string role name
predefinito: empty string
No
master_verify_checksum boolean
on | off Valore predefinito: off
No
max_allowed_packet integer
16384 … 1073741824

Questo valore deve essere un multiplo di 1024 se sql_mode=TRADITIONAL o sql_mode=STRICT_ALL_TABLES.

No
max_binlog_cache_size integer
4096 … 4294967296
default: 4294967296
No
max_binlog_size integer
4096 … 1073741824
No
max_binlog_stmt_cache_size integer
4096 … 4294967296
default: 4294967296
No
max_connect_errors integer
1 … 9223372036854775807
default: 100
No
max_connections integer
1 … 100000
No
max_digest_length integer
0 … 1048576
Sì
max_error_count integer
0 … 65535
valore predefinito:
- MySQL 5.7 o versioni precedenti: 64
- MySQL 8.0 e versioni successive: 1024
No
max_execution_time integer
0 … 9223372036854775807
No
max_heap_table_size integer
16384 … 67108864

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
max_join_size integer
16 … 9223372036854775807
No
max_length_for_sort_data integer
4 … 8388608
No
max_points_in_geometry integer
3 … 1048576
No
max_prepared_stmt_count integer
- MySQL 5.6 e 5.7: 0 … 1048576
- MySQL 8.0 e versioni successive: 0 … 4194304
No
max_seeks_for_key integer
1 … 9223372036854775807
No
max_sort_length integer
4 … 8388608
No
max_sp_recursion_depth integer
0 … 255
No
max_user_connections integer
0 … 4294967295
No
max_write_lock_count integer
1 … 9223372036854775807
No
min_examined_row_limit integer
0 … 4294967295
default: 0
No
myisam_data_pointer_size integer
2...7
default: 6
No
myisam_max_sort_file_size integer
0...9223372036853727232
default: 9223372036853727232
No
myisam_mmap_size integer
7...9223372036854775807
default: 9223372036854775807
Sì
myisam_sort_buffer_size integer
4096...4294967295
default: 8388608
No
myisam_stats_method string
"nulls_unequal, nulls_equal, nulls_ignored"
default: nulls_unequal
No
myisam_use_mmap boolean
on | off
predefinito: off
No
mysql_native_password_proxy_users boolean
on | off
predefinito: off
No
net_buffer_length integer
1024 … 1048576
default: 16384
No
net_read_timeout integer
30 … 4294967295
No
net_retry_count integer
10 … 4294967295
No
net_write_timeout integer
60 … 4294967295
No
ngram_token_size integer
1 … 10
default: 2
Sì
optimizer_prune_level integer
0 … 1
No
optimizer_search_depth integer
0 … 62
No
optimizer_switch multi-value repeated string

Per ulteriori informazioni sui flag con più valori, consulta la sezione Suggerimenti.

No
optimizer_trace multi-value repeated string
enabled=on, enabled=off, one_line=on, one_line=off

Per ulteriori informazioni sui flag con più valori, consulta la sezione Suggerimenti.

No
optimizer_trace_features multi-value repeated string

Per ulteriori informazioni sui flag con più valori, consulta la sezione Suggerimenti.

No
optimizer_trace_max_mem_size integer
0 … 9223372036854775807
No
optimizer_trace_offset integer
-9223372036854775808 … 9223372036854775807
No
parser_max_mem_size integer
10000000 … 9223372036854775807
No
password_history integer 0-4294967295
default: 0
No
password_require_current boolean on | off
valore predefinito: off
No
password_reuse_interval integer 0-4294967295
default: 0
No
performance_schema boolean
on | off
valore predefinito: off per MySQL 5.6, 5.7
valore predefinito: off per MySQL 8.0 e versioni successive istanze con RAM inferiore a 12 GB
valore predefinito: on per MySQL 8.0 e versioni successive istanze con RAM superiore o uguale a 12 GB

Per ulteriori informazioni sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_accounts_size integer
-1 … 1048576

Per ulteriori informazioni sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_digests_size integer
-1 … 1048576

Per ulteriori informazioni sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_error_size integer
0 … 1048576
Sì
performance_schema_events_stages_history_long_size integer
-1 … 1048576
Sì
performance_schema_events_stages_history_size integer
-1 … 1024

Per ulteriori informazioni sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_events_statements_history_long_size integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_events_statements_history_size integer
-1 … 1024

Per ulteriori informazioni sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_events_transactions_history_long_size integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_events_transactions_history_size integer
-1 … 1024

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_events_waits_history_long_size integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_events_waits_history_size integer
-1 … 1024

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_hosts_size integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_cond_classes integer
0 … 256

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_cond_instances integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_digest_length integer
0 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_digest_sample_age integer
0 … 1048576
default: 60
No
performance_schema_max_file_classes integer
0 … 256

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_file_handles integer
0 … 1048576

Per ulteriori informazioni sui flag pperformance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_file_instances integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_index_stat integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_logger_classes integer
0 … 200
default: 80

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_memory_classes integer
0 … 1024

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_metadata_locks integer
-1 … 104857600

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_mutex_classes integer
0 … 256

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_mutex_instances integer
-1 … 104857600

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_prepared_statements_instances integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_program_instances integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_rwlock_classes integer
0 … 256

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_rwlock_instances integer
-1 … 104857600

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_socket_classes integer
0 … 256

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_socket_instances integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_sql_text_length integer
0 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_stage_classes integer
0 … 256

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_statement_classes integer
0 … 256

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_statement_stack integer
1 … 256

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_table_handles integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_table_instances integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_table_lock_stat integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_thread_classes integer
0 … 256

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_max_thread_instances integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_session_connect_attrs_size integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_setup_actors_size integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_setup_objects_size integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
performance_schema_show_processlist boolean
on | off
Valore predefinito: off
No
performance_schema_users_size integer
-1 … 1048576

Per saperne di più sui flag performance_schema, consulta la sezione Suggerimenti.

Sì
preload_buffer_size integer
1024 … 1073741824
default: 32768
No
query_alloc_block_size integer
1024 … 4294967295
No
query_cache_limit integer
0 … 223338299392

Questo flag non è disponibile per MySQL 8.0 e versioni successive, poiché la cache delle query è deprecata a partire da MySQL 5.7.20 e viene rimossa in MySQL 8.0.

No
query_cache_min_res_unit integer
0 … 9223372036854775807

Questo flag non è disponibile per MySQL 8.0 e versioni successive, poiché la cache delle query è deprecata a partire da MySQL 5.7.20 e viene rimossa in MySQL 8.0.

No
query_cache_size integer
0 … 223338299392

Questo flag non è disponibile per MySQL 8.0 e versioni successive, poiché la cache delle query è deprecata a partire da MySQL 5.7.20 e viene rimossa in MySQL 8.0.

No
query_cache_type enumeration
0 … 2

Questo flag non è disponibile per MySQL 8.0 e versioni successive, poiché la cache delle query è deprecata a partire da MySQL 5.7.20 e viene rimossa in MySQL 8.0.

Sì
query_cache_wlock_invalidate boolean
on | off

Questo flag non è disponibile per MySQL 8.0 e versioni successive, poiché la cache delle query è deprecata a partire da MySQL 5.7.20 e viene rimossa in MySQL 8.0.

No
query_prealloc_size integer
8192 … 9223372036854775807
No
range_alloc_block_size integer
4096 … 4294967295
No
range_optimizer_max_mem_size integer
0 … 9223372036854775807
No
read_buffer_size integer
8192 … 2147483647
No
read_only boolean
on | off

Non ha alcun effetto per le repliche.

No
read_rnd_buffer_size integer
1 … 2147483647
No
regexp_stack_limit integer
0 … 2147483647
No
regexp_time_limit integer
0 … 2147483647
default: 32
No
replica_checkpoint_group integer
32 … 524280
Il valore predefinito è 512.

Questo flag non influisce sulle repliche per cui non è abilitato il multi-threading.

No
replica_checkpoint_period integer
1 … 4294967295
Il valore predefinito è 300.

L'unità è in millisecondi.

No
replica_compressed_protocol boolean
on | off
No
replica_net_timeout integer
1 … 31536000

L'unità è espressa in secondi.

No
replica_parallel_type enumeration
DATABASE, LOGICAL_CLOCK
Valore predefinito:
MySQL 8.0.26 o versioni precedenti: DATABASE
MySQL 8.0.27 o versioni successive: LOGICAL_CLOCK

Per informazioni su come utilizzare questo flag e sui relativi valori accettabili, consulta Configurazione della replica parallela.

No
replica_parallel_workers integer

Per informazioni su come utilizzare questo flag e sui relativi valori accettabili, consulta Configurazione della replica parallela.

No
replica_pending_jobs_size_max integer

Per informazioni su come utilizzare questo flag e sui relativi valori accettabili, consulta Configurazione della replica parallela.

No
replica_preserve_commit_order boolean

Per informazioni su come utilizzare questo flag e sui relativi valori accettabili, consulta Configurazione della replica parallela.

No
replica_skip_errors string
Valore predefinito: OFF

Per saperne di più su questo flag, consulta la sezione Suggerimenti.

Sì
replica_sql_verify_checksum boolean
on | off
No
replica_transaction_retries integer
0 … 9223372036854775807
No
replica_type_conversions String
values: ALL_LOSSY, ALL_NON_LOSSY, ALL_SIGNED, ALL_UNSIGNED
No
replicate_do_db string

Per saperne di più su come utilizzare questo flag, consulta la sezione Filtri di replica.

No
replicate_do_table string

Per saperne di più su come utilizzare questo flag, consulta la sezione Filtri di replica.

No
replicate_ignore_db string

Per saperne di più su come utilizzare questo flag, consulta la sezione Filtri di replica.

No
replicate_ignore_table string

Per saperne di più su come utilizzare questo flag, consulta la sezione Filtri di replica.

No
replicate_wild_do_table string

Per saperne di più su come utilizzare questo flag, consulta la sezione Filtri di replica.

No
replicate_wild_ignore_table string

Per saperne di più su come utilizzare questo flag, consulta la sezione Filtri di replica.

No
rpl_read_size integer
8192 … 4294959104
default: 8192
No
schema_definition_cache integer
256 … 524288
default: 256
No
session_track_gtids string
OFF | OWN_GTID | ALL_GTIDS
default: OFF
No
session_track_schema boolean
on | off
default: on
No
session_track_state_change boolean
on | off
default: off
No
session_track_transaction_info string
OFF | STATE | CHARACTERISTICS
default: OFF
No
sha256_password_proxy_users boolean
on | off
predefinito: off
No
show_create_table_verbosity boolean
on | off
valore predefinito: off
No
show_compatibility_56 boolean
on | off

Supportato solo in MySQL 5.7.

No
skip_character_set_client_handshake boolean
on | off
predefinito: off
Sì
skip_show_database flag
on | off
Sì
slave_checkpoint_group integer
32 … 524280
Il valore predefinito è 512.

Questo flag non influisce sulle repliche per cui non è abilitato il multi-threading.

No
slave_checkpoint_period integer
1 … 4294967295
Il valore predefinito è 300.

L'unità è in millisecondi.

No
slave_compressed_protocol boolean
on | off
No
slave_net_timeout integer
1 … 31536000

L'unità è espressa in secondi.

No
slave_parallel_type enumeration
DATABASE, LOGICAL_CLOCK
Valore predefinito:
MySQL 8.0.26 o versioni precedenti: DATABASE
MySQL 8.0.27 o versioni successive: LOGICAL_CLOCK

Per informazioni su come utilizzare questo flag e sui relativi valori accettabili, consulta Configurazione della replica parallela.

No
slave_parallel_workers integer

Per informazioni su come utilizzare questo flag e sui relativi valori accettabili, consulta Configurazione della replica parallela.

No
slave_preserve_commit_order boolean

Per informazioni su come utilizzare questo flag e sui relativi valori accettabili, consulta Configurazione della replica parallela.

No
slave_pending_jobs_size_max integer

Per informazioni su come utilizzare questo flag e sui relativi valori accettabili, consulta Configurazione della replica parallela.

No
slave_skip_errors string
Valore predefinito: OFF

Per saperne di più su questo flag, consulta la sezione Suggerimenti.

Sì
slave_sql_verify_checksum boolean
on | off
No
slave_transaction_retries integer
0 … 9223372036854775807
No
slave_type_conversions string
values: ALL_LOSSY, ALL_NON_LOSSY, ALL_SIGNED, ALL_UNSIGNED
No
slow_launch_time Integer
0 … 31536000
Valore predefinito: 2
No
slow_query_log boolean
on | off

Per ulteriori informazioni sui log delle query lente, consulta la sezione Suggerimenti.

No
sort_buffer_size integer
32768 … 9223372036854775807
No
source_verify_checksum boolean
on | off
Valore predefinito: off
No
sql_generate_invisible_primary_key boolean
on | off
Valore predefinito: off
No
sql_mode string

Consulta le modalità SQL del server nella documentazione di MySQL per i valori consentiti, incluse le modalità combinate, come ANSI. NO_DIR_IN_CREATE non è supportato.

Cloud SQL per MySQL non supporta valori vuoti per il flag sql_mode. Anziché utilizzare un valore vuoto, imposta questo flag sulla modalità NO_ENGINE_SUBSTITUTION.

No
sql_require_primary_key boolean
on | off
Valore predefinito: off
No
sql_select_limit integer 0...9223372036854775807
default: 18446744073709551615

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
stored_program_cache integer
16 … 524288
No
stored_program_definition_cache integer
256 … 524288
Valore predefinito: 256
No
sync_binlog integer
0 … 4294967295

L'impostazione predefinita 1 consente la sincronizzazione del log binario sul disco prima del commit delle transazioni.

Se promuovi una replica con questo flag abilitato, il flag viene rimosso automaticamente, in modo che la replica promossa abbia la durabilità completa per impostazione predefinita. Per utilizzare questo flag con una replica promossa, puoi aggiornarlo nella replica dopo la promozione.

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
sync_master_info integer
0 … 4294967295
Valore predefinito: 10000
No
sync_relay_log integer
0 … 4294967295
Valore predefinito: 10000
No
sync_relay_log_info integer
0 … 4294967295
Valore predefinito: 10000
No
sync_source_info integer
0 … 4294967295
Valore predefinito: 10000
No
sysdate_is_now boolean
on | off
predefinito: off
Sì
table_definition_cache integer
400 … 524288
No
tablespace_definition_cache integer
256 … 524288
default: 256
No
table_open_cache integer
1 … 524288
No
table_open_cache_instances integer
1 … 64
Sì
table_open_cache_triggers integer
1 … 524288
valore predefinito: 524288
No
temptable_max_mmap integer
0 … 68719476736

Valori predefiniti:

  • MySQL 8.0 e versioni precedenti: 1073741824
  • MySQL 8.4 e versioni successive: 0
No
temptable_max_ram integer
2097152 … 68719476736
Valore predefinito: 1073741824
No
thread_cache_size integer
0 … 16384
No
thread_stack integer
131072 … 9223372036854775807
Sì
tls_version String

Dalla versione 5.7 alla versione 8.0.27: TLSv1, TLSv1.1
Versione 8.0.28 o successive: TLSv1.2
Versione 5.7: sì

Versione 8.0 o successive: no
tmp_table_size integer
1024 … 67108864

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
transaction_alloc_block_size integer
1024 … 131072
No
transaction_isolation enumeration
READ-UNCOMMITTED | READ-COMMITTED | REPEATABLE-READ | SERIALIZABLE
Sì
transaction_prealloc_size integer
1024 … 131072
No
transaction_write_set_extraction enumeration

Per informazioni su come utilizzare questo flag e sui relativi valori accettabili, consulta Configurazione della replica parallela. Questo flag non è supportato in MySQL 8.4.

No
unique_checks boolean
on | off
predefinito: on

Per ulteriori informazioni su questo flag, consulta la sezione Suggerimenti.

No
updatable_views_with_limit integer
0 … 1
No
wait_timeout integer
1 … 31536000
No
windowing_use_high_precision boolean
on | off
Valore predefinito: on
No

Nomi dei fusi orari

In questa sezione scoprirai i nomi dei fusi orari supportati da Cloud SQL per MySQL.

La tabella in questa sezione mostra quanto segue:

  • Nome del fuso orario: il nome supportato da Cloud SQL per MySQL.
  • STD: la differenza di fuso orario nell'ora standard (STD).
  • DST: la differenza di fuso orario durante l'ora legale.
  • Nomi sinonimi: i nomi dei fusi orari che potresti voler utilizzare, ma che non sono supportati da Cloud SQL per MySQL. In questo caso, utilizza il nome del fuso orario corrispondente.
nome del fuso orario STD DST Nomi dei sinonimi
Africa/Cairo +02:00 +02:00 Egitto
Africa/Casablanca +01:00 +00:00
Africa/Harare +02:00 +02:00 Africa/Maputo
Africa/Monrovia +00:00 +00:00
Africa/Nairobi +03:00 +03:00 Africa/Addis_Ababa
Africa/Asmera
Africa/Dar_es_Salaam
Africa/Djibouti
Africa/Kampala
Africa/Mogadishu
Indian/Antananarivo
Indian/Comoro
Indian/Mayotte
Africa/Tripoli +02:00 +02:00 Libia
Africa/Windhoek +02:00 +02:00
America/Araguaina −03:00 −03:00
America/Asuncion −04:00 −03:00
America/Bogota −05:00 −05:00
America/Buenos_Aires −03:00 −03:00 America/Argentina/Buenos_Aires
America/Caracas −04:00 −04:00
America/Chicago −06:00 −05:00
America/Chihuahua −07:00 −06:00 America/Ojinaga
America/Cuiaba −04:00 −04:00
America/Denver −07:00 −06:00 America/Shiprock
Navajo
MST7MDT
US/Mountain
America/Detroit −05:00 −04:00
America/Fortaleza −03:00 −03:00
America/Guatemala −06:00 −06:00
America/Halifax −04:00 −03:00 Canada/Atlantico
America/Los_Angeles −08:00 −07:00
America/Manaus −04:00 −04:00 Brasile/Ovest
America/Matamoros −06:00 −05:00
America/Mexico_City −06:00 −05:00
America/Monterrey −06:00 −05:00
America/Montevideo −03:00 −03:00
America/New_York −05:00 −04:00
America/Phoenix −07:00 −07:00 US/Arizona
MST
America/Creston
America/Santiago −04:00 −03:00 Cile/Continentale
America/Sao_Paolo −03:00 −03:00
America/Tijuana −08:00 −07:00 Mexico/BajaNorte
America/Ensenada
America/Santa_Isabel
Asia/Amman +02:00 +03:00
Asia/Ashgabat +05:00 +05:00 Asia/Ashkhabad
Asia/Baghdad +03:00 +03:00
Asia/Baku +04:00 +04:00
Asia/Bangkok +07:00 +07:00 Asia/Phnom_Penh
Asia/Vientiane
Asia/Beirut +02:00 +03:00
Asia/Calcutta +05:30 +05:30 Asia/Kolkata
Asia/Damasco +02:00 +03:00
Asia/Dacca +06:00 +06:00 Asia/Dacca
Asia/Irkutsk +08:00 +08:00
Asia/Gerusalemme +02:00 +03:00 Asia/Tel_Aviv
Israele
Asia/Kabul +04:30 +04:30
Asia/Karachi +05:00 +05:00
Asia/Kathmandu +05:45 +05:45 Asia/Katmandu
Asia/Kolkata +05:30 +05:30
Asia/Krasnoyarsk +07:00 +07:00
Asia/Magadan +11:00 +11:00
Asia/Muscat +04:00 +04:00 Asia/Dubai
Asia/Novosibirsk +07:00 +07:00
Asia/Riyadh +03:00 +03:00 Asia/Kuwait
Antartide/Syowa
Asia/Aden
Asia/Seoul +09:00 +09:00 ROK
Asia/Shanghai +08:00 +08:00 Asia/Chongqing
Asia/Chungking
Asia/Harbin
PRC
Asia/Singapore +08:00 +08:00 Singapore
Asia/Taipei +08:00 +08:00 ROC
Asia/Teheran +03:30 +04:30 Iran
Asia/Tokyo +09:00 +09:00 Giappone
Asia/Ulaanbaatar +08:00 +08:00 Asia/Ulan_Bator
Asia/Vladivostok +10:00 +10:00
Asia/Yakutsk +09:00 +09:00
Asia/Yerevan +04:00 +04:00
Atlantico/Azzorre −01:00 +00:00
Australia/Adelaide +09:30 +10:30 Australia/Sud
Australia/Brisbane +10:00 +10:00 Australia/Queensland
Australia/Darwin +09:30 +09:30 Australia/Nord
Australia/Hobart +10:00 +11:00 Australia/Currie
Australia/Tasmania
Australia/Perth +08:00 +08:00 Australia/Ovest
Australia/Sydney +10:00 +11:00 Australia/NSW
Australia/ACT
Australia/Canberra
Brasile/Est −03:00 −03:00 America/Sao_Paulo
Canada/Terranova −03:30 −02:30 America/St_Johns
Canada/Saskatchewan −06:00 −06:00 America/Regina
Canada/Yukon −07:00 −07:00 America/Whitehorse
Europa/Amsterdam +01:00 +02:00
Europa/Atene +02:00 +03:00
Europa/Dublino +01:00 +00:00 Eire
Europa/Helsinki +02:00 +03:00 Europa/Mariehamn
Europa/Istanbul +03:00 +03:00 Turchia
Asia/Istanbul
Europa/Kaliningrad +02:00 +02:00
Europa/Madrid +01:00 +02:00
Europa/Mosca +03:00 +03:00 ME-DO
Europa/Parigi +01:00 +02:00 MET
CET
Europa/Praga +01:00 +02:00 Europa/Bratislava
Europa/Sarajevo +01:00 +02:00 Europa/Belgrado
Europa/Lubiana
Europa/Podgorica
Europa/Skopje
Europa/Zagabria
Pacifico/Auckland +12:00 +13:00 NZ
Antarctica/McMurdo
Antarctica/South_Pole
Pacifico/Fiji +12:00 +13:00
Pacifico/Guam +10:00 +10:00 Pacifico/Saipan
Pacifico/Honolulu −10:00 −10:00 US/Hawaii
Pacific/Johnston
HST
Pacifico/Samoa -11:00 -11:00 Pacifico/Pago_Pago
USA/Samoa
US/Alaska −09:00 −08:00 America/Anchorage
America/Juneau
America/Metlakatla
America/Nome
America/Sitka
America/Yakutat
US/Centrali −06:00 −05:00 America/Chicago
US/Orientali −05:00 −04:00 America/New_York
US/East-Indiana −05:00 −04:00 America/Indiana/Indianapolis
America/Indianapolis
America/Fort_Wayne
US/Mountain −07:00 −06:00 America/Denver
US/Pacifico −08:00 −07:00 America/Los_Angeles
UTC +00:00 +00:00 Etc/UTC
Etc/UCT
Etc/Universal
Etc/Zulu

Le tabelle dei fusi orari in Cloud SQL potrebbero dover essere aggiornate con i dati più recenti. Ad esempio, un paese potrebbe passare da un fuso orario con ora legale a un fuso orario con ora solare o potrebbe introdurre un nuovo fuso orario.

Per ogni release dell'agente di servizio critico (CSA) per Cloud SQL, le tabelle dei fusi orari vengono aggiornate con i dati più recenti. In questo caso, durante il periodo di non manutenzione, le istanze di replica vengono aggiornate. Le istanze principali vengono quindi aggiornate durante il periodo di manutenzione.

Puoi attendere il periodo di manutenzione regolare per la release CSA o eseguire la manutenzione self-service per aggiornare le tabelle dei fusi orari con i dati più recenti. Per saperne di più sulla visualizzazione delle versioni di manutenzione disponibili, consulta Determina la versione di manutenzione di destinazione.

Suggerimenti per lavorare con i flag

general_log, slow_query_log

Per rendere disponibili i log general o slow query, attiva il flag corrispondente e imposta il flag log_output su FILE. In questo modo, l'output del log è disponibile utilizzando il visualizzatore log nella console Google Cloud . Tieni presente che si applicano i costi di logging di Google Cloud Observability. Per ridurre al minimo i costi di archiviazione delle istanze, i log general e slow query sul disco dell'istanza vengono ruotati quando il file di log ha più di 24 ore (e non sono state apportate modifiche entro questo periodo di tempo) o ha dimensioni superiori a 100 MB. I file di log precedenti vengono eliminati automaticamente dopo la rotazione.

Se log_output è impostato su NONE, non puoi accedere ai log. Se imposti log_output su TABLE, l'output del log viene inserito in una tabella nel database di sistema mysql. Potrebbe consumare una quantità considerevole di spazio su disco. Se questa tabella diventa di grandi dimensioni, può influire sul tempo di riavvio dell'istanza o causare la perdita della copertura dello SLA dell'istanza. Per questo motivo, l'opzione TABLE non è consigliata. Inoltre, i contenuti dei log non sono disponibili in Esplora log e non vengono ruotati. Se necessario, puoi troncare le tabelle di log utilizzando l'API. Per saperne di più, consulta la pagina di riferimento di instances.truncateLog.

expire_logs_days, binlog_expire_logs_seconds
Se attivi il recupero point-in-time, il periodo di scadenza dei log binari è determinato dal valore minore tra il periodo di conservazione dei log delle transazioni e i valori di questi flag. Puoi utilizzare questi flag per gestire il periodo di archiviazione dei log binari nelle repliche. Il flag expire_logs_days viene rimosso da MySQL 8.4 e versioni successive. Per saperne di più, consulta Conservazione dei log delle transazioni.
innodb_buffer_pool_size

Il valore di questo flag corrisponde alle dimensioni in byte del pool di buffer. La dimensione del pool di buffer deve essere sempre uguale o un multiplo del valore ottenuto moltiplicando innodb_buffer_pool_chunk_size per innodb_buffer_pool_instances. Se modifichi le dimensioni del pool di buffer impostandole su un valore non uguale o non multiplo di innodb_buffer_pool_chunk_size moltiplicato per innodb_buffer_pool_instances, Cloud SQL regola automaticamente le dimensioni del pool di buffer. Non puoi attivare questo flag su istanze con meno di 3840 MiB di RAM.

Non puoi configurare questo flag per i tipi di macchine con core condivisi (f1_micro e g1_small). La modifica di questo flag su MySQL 5.6 richiede un riavvio.

In Cloud SQL, i valori predefiniti, minimi e massimi consentiti del flag innodb_buffer_pool_size dipendono dalla memoria dell'istanza. Questi valori possono essere calcolati approssimativamente come percentuale della RAM dell'istanza. Per impostazione predefinita, il valore di questo flag è in genere impostato su un valore vicino al valore massimo consentito. La percentuale di allocazione massima consentita aumenta con le dimensioni dell'istanza. Il valore minimo consentito è in genere circa il 20% della RAM dell'istanza.

Valori approssimativi per questo flag:

Intervallo di RAM per istanza% min.% predefinitaMassima %
0-4,0 GB di RAM~34%
4,0 GB - 7,5 GB~20%~34%~34%
7,5 GB - 12 GB~20%~52%~52%
12GB - 24GB~20%~67%~67%
Almeno 24 GB~20%~72%~72%

I valori esatti possono variare. Quando il pool di buffer gestito è abilitato, apporta modifiche a innodb_buffer_pool_size che non vengono applicate nella console Google Cloud . Per calcolare il valore attuale per la tua istanza, puoi eseguire la query:

  show global variables like 'innodb_buffer_pool_size';
  

Per riferimento, i valori minimi, predefiniti e massimi consentiti sono forniti per i seguenti tipi di macchine.

Tipo di macchina RAM dell'istanza (GB) Min (GB)
(% del totale)
Predefinito (GB)
(% del totale)
Max (GB)
(% del totale)
db-f1-micro 0,6 - 0,053 -
db-g1-small 1,7 - 0,625 -
db-custom-1-3840 3,75 0,875
(23%)
1,375
(37%)
1,375
(37%)
db-custom-2-7680 7,5 1,5
(20%)
4
(53%)
4
(53%)
db-custom-4-15360 15 3
(20%)
10,5
(70%)
10,5
(70%)
db-custom-8-30720 30 6
(20%)
22
(73%)
22
(73%)
db-custom-16-61440 60 12
(20%)
44
(73%)
44
(73%)
db-custom-32-122880 120 24
(20%)
87
(73%)
87
(73%)
db-custom-64-245760 240 48
(20%)
173
(72%)
173
(72%)
db-custom-96-368640 360 72
(20%)
260
(72%)
260
(72%)
db-custom-2-13312 13 3
(23%)
9
(69%)
9
(69%)
db-custom-4-26624 26 6
(23%)
19
(73%)
19
(73%)
db-custom-8-53248 52 11
(21%)
38
(73%)
38
(73%)
db-custom-16-106496 104 21
(20%)
75
(72%)
75
(72%)
db-custom-32-212992 208 42
(20%)
150
(72%)
150
(72%)
db-custom-64-425984 416 84
(20%)
300
(72%)
300
(72%)
db-custom-96-638976 624 125
(20%)
450
(72%)
450
(72%)

Se la memoria utilizzata è elevata per la tua istanza e si verificano eventi out of memory (OOM), puoi attivare il flag innodb_cloudsql_managed_buffer_pool per ridurre temporaneamente il valore di innodb_buffer_pool_size. Per saperne di più, consulta Abilita il pool di buffer gestito.

Quando il pool di buffer gestito apporta modifiche al valore di innodb_buffer_pool_size, le modifiche non vengono applicate al valore del flag visualizzato nella console Google Cloud . Per visualizzare il valore corrente di innodb_buffer_pool_size quando il pool di buffer gestito è abilitato, puoi eseguire una query sul valore del flag utilizzando il client MySQL:
show global variables like 'innodb_buffer_pool_size';
innodb_cloudsql_optimized_write
Questo flag è disponibile solo per le istanze della versione Cloud SQL Enterprise Plus. Il valore predefinito è "ON". Questo flag migliora le prestazioni di scrittura ottimizzando l'algoritmo di flushing, controllando i limiti di flushing e regolando l'attività in background per dare priorità alle operazioni di scrittura del database. Inoltre, questo flag attiva un algoritmo di recupero dagli arresti anomali migliorato per ridurre i tempi di recupero dagli arresti anomali e utilizza in modo adattivo la velocità effettiva di I/O del disco inutilizzata per accelerare il warm-up del pool di buffer. Per la maggior parte dei casi d'uso, con questo flag attivato puoi ottenere prestazioni migliori, come un throughput migliorato e una latenza ridotta. Tuttavia, se le operazioni di scrittura del database causano un carico estremamente elevato sul server, il flag può ritardare alcune attività in background. Questo ritardo può causare un leggero aumento dell'utilizzo del disco, che diminuisce automaticamente quando il carico si riduce. Per impostazione predefinita, il flag innodb_cloudsql_optimized_write è abilitato per tutte le istanze della versione Cloud SQL Enterprise Plus nuove e di cui è stato eseguito l'upgrade. Per le istanze Cloud SQL Enterprise Plus esistenti, questo flag viene attivato dopo l'applicazione dell'aggiornamento di manutenzione correlato. Se devi disattivare il flag, esegui questo comando.
gcloud sql instances patch INSTANCE_NAME \
 --database-flags="innodb_cloudsql_optimized_write=OFF"
La modifica del valore del flag richiede il riavvio dell'istanza.
innodb_file_per_table

Per tutte le versioni di MySQL 5.6 e successive, il valore predefinito è ON.

innodb_flush_log_at_trx_commit, sync_binlog

Per la conformità ACID completa e per mantenere la durabilità e la coerenza in una configurazione di replica, i flag innodb_flush_log_at_trx_commit e sync_binlog devono essere impostati sul valore predefinito 1. Se modifichi il valore predefinito, la durabilità potrebbe diminuire, il che potrebbe causare un'incoerenza tra l'istanza principale e le repliche. Pertanto, l'istanza perde la copertura dello SLA. Inoltre, potrebbe verificarsi una delle seguenti situazioni:

  • Perdita di dati in determinate situazioni, ad esempio un arresto anomalo della VM o un failover per un'istanza HA regionale
  • Dati non sincronizzati nel log binario e nei file di dati InnoDB
  • Perdita o errore dei dati PITR
  • Incoerenza dei dati tra un'istanza principale e le relative repliche
  • Un'interruzione della replica

L'impostazione del valore del flag innodb_flush_log_at_trx_commit o sync_binlog su valori non predefiniti per le istanze primarie, autonome e ad alta affidabilità riduce la durabilità.

Se hai bisogno di prestazioni più elevate per le repliche di lettura, ti consigliamo di impostare il valore innodb_flush_log_at_trx_commit su 2. In questo caso, devi disattivare il log binario sulla replica o impostare sync_binlog su un valore diverso da 1 per ottenere prestazioni migliori.

Per ottenere le massime prestazioni e la minima durabilità, puoi anche impostare il flag innodb_flush_log_at_trx_commit su 0 sulle repliche di lettura, ma apporta questa modifica alla configurazione con cautela. Utilizza gcloud CLI o l'API Cloud SQL Admin per impostare il flag innodb_flush_log_at_trx_commit su 0. Puoi applicare questa configurazione solo alle repliche di lettura, non alle istanze principali o autonome. Il valore 0 per questo flag non è disponibile nella console Google Cloud . Il comando gcloud CLI da utilizzare per questa operazione ha il seguente formato, in cui devono essere inclusi tutti i valori dei flag attuali:

gcloud sql instances patch INSTANCE_NAME \
  --database-flags= FLAG1=VALUE1, FLAG2=VALUE2, innodb_flush_log_at_trx_commit=0
  

Cloud SQL potrebbe modificare temporaneamente i valori dei flag innodb_flush_log_at_trx_commit e sync_binlog impostandoli su quelli predefiniti durante l'esecuzione di un backup. Ciò potrebbe causare una riduzione delle prestazioni durante l'esecuzione dei backup. Per evitare che ciò influisca sulla tua istanza, puoi modificare la finestra di backup quando l'utilizzo dell'istanza è basso. Per saperne di più, consulta Crea e gestisci backup on demand e automatici.

innodb_flush_log_at_timeout

innodb_flush_log_at_timeout consente di modificare la frequenza degli svuotamenti delle pagine in modo da evitare di influire sulle prestazioni del commit del gruppo di log binari. L'impostazione predefinita è una volta al secondo.

Cloud SQL ha esteso questo flag per supportare la specifica di un periodo di tempo in microsecondi.

Esempi:

  • 0.001 per specificare 1 ms
  • 0.0001 per specificare 100 µs
  • 12.5 per specificare 12,5 secondi
  • 12.005 per specificare 12 secondi e 5 ms
  • 0.005100 per specificare 5 ms e 100 us

Per alcuni workload, l'utilizzo della granularità di un secondo intero per lo svuotamento delle pagine potrebbe essere inaccettabile in termini di potenziale perdita di transazioni. Puoi invece eseguire il flush delle pagine utilizzando la granularità in microsecondi per mantenere le prestazioni senza compromettere significativamente la durabilità.

I periodi di tempo in microsecondi per il flag innodb_flush_log_at_timeout sono applicabili solo quando il flag di durabilità innodb_flush_log_at_trx_commit è impostato su 2.

La cancellazione delle pagine potrebbe avvenire con una frequenza maggiore o minore rispetto al valore specificato per innodb_flush_log_at_timeout e il valore non è il limite superiore.

innodb_redo_log_capacity, innodb_log_file_size

Per Cloud SQL per MySQL versione 8.4 e precedenti, se configuri un valore per il flag innodb_redo_log_capacity, Cloud SQL ignora qualsiasi valore definito per il flag innodb_log_file_size.

Se non configuri alcun valore per i flag innodb_redo_log_capacity o innodb_log_file_size, Cloud SQL utilizza il valore predefinito del flag innodb_redo_log_capacity o 104857600 (100 MB).

Se non configuri il flag innodb_redo_log_capacity, ma configuri il flag innodb_log_file_size, il valore della dimensione del redo log innodb viene calcolato moltiplicando innodb_log_file_size per innodb_log_file_in_group. Ad esempio, se configuri innodb_log_file_size su un valore di 10 GB e il valore predefinito di innodb_log_file_in_group è 2, il valore effettivo della dimensione del redo log innodb è 20 GB.

In Cloud SQL per MySQL versione 9.7 e successive, i flag innodb_log_file_size e innodb_log_file_in_group vengono rimossi da Cloud SQL. I valori predefiniti per il flag innodb_redo_log_capacity si basano sulla versione e sulla capacità della RAM dell'istanza, come elencato nella tabella seguente.

Versione Cloud SQLRAMValore predefinito
Cloud SQL Enterprise editionQualsiasi dimensione1 GB
Versione Cloud SQL Enterprise Plus<100 GB1 GB
Versione Cloud SQL Enterprise Plus>100 GB1,5 GB
max_heap_table_size, tmp_table_size

L'esaurimento della memoria dell'istanza disponibile può verificarsi quando imposti tmp_table_size e max_heap_table_size su un valore troppo elevato per il numero di query simultanee elaborate dall'istanza. L'esaurimento della memoria comporta l'arresto anomalo e il riavvio dell'istanza.

Per ulteriori informazioni sull'utilizzo di questi flag, consulta How MySQL Uses Internal Temporary Tables e The MEMORY Storage Engine.

performance_schema

Non puoi attivare questo flag su istanze con un core condiviso (meno di 3 GB di RAM). Se attivi questo flag, non puoi modificare il tipo di macchina in una dimensione che non supporta il flag; devi prima disattivare il flag.

Per le istanze MySQL 8.0 e successive con 12-15 GB di RAM, il valore predefinito di performance_schema è on; tuttavia, gli strumenti dello schema delle prestazioni predefiniti sono disabilitati. Per saperne di più sugli strumenti predefiniti di Performance Schema, consulta La tabella setup_instruments (MySQL 8.0) o La tabella setup_instruments (MySQL 8.4). Se vuoi attivare e utilizzare gli strumenti dello schema di prestazioni in un'istanza con 12-15 GB di RAM, devi impostare esplicitamente il flag performance_schema su on anziché rimandare al valore predefinito. Per le istanze MySQL 8.0 e versioni successive con almeno 15 GB di RAM, il valore predefinito di performance_schema è on gli strumenti dello schema delle prestazioni predefiniti sono abilitati.

event_scheduler

Gli eventi MySQL, noti anche come eventi pianificati, sono attività che puoi pianificare. Gli eventi pianificati sono un gruppo di una o più istruzioni SQL impostate per l'esecuzione a uno o più intervalli specificati. Il valore predefinito per MySQL 5.7 è OFF, mentre per MySQL 8.0 e versioni successive è ON. Cloud SQL non consente di abilitare questo flag sulle repliche di lettura, dove il valore predefinito è OFF. Per saperne di più sul flag event_scheduler, consulta event_scheduler.

Se il flag event_scheduler è impostato su ON per una replica di lettura, può causare errori in base al tipo di istruzioni definite negli eventi:

  • Se l'evento pianificato è un evento write su una replica di lettura, si verifica un errore perché le repliche di lettura sono di sola lettura. Per saperne di più, consulta Replica di lettura.
  • Se l'evento pianificato contiene un'operazione di arresto, ad esempio kill, event_scheduler la applica alla replica. In questo modo, la replica viene interrotta ed eliminata.

Per evitare errori di questo tipo, Cloud SQL si assicura che il flag event_scheduler sia impostato su OFF nelle repliche di lettura. Se una replica di lettura viene promossa a istanza principale, questa limitazione viene rimossa.

Per saperne di più su come configurare event_scheduler, consulta Configura i flag di database.

replica_skip_errors,slave_skip_errors
L'impostazione del flag replica_skip_errors o slave_skip_errors può causare problemi di replica. In generale, se si verifica un errore durante l'esecuzione di un'istruzione, la replica viene interrotta. L'utilizzo di questo flag causerà l'omissione dell'errore e la continuazione della replica, con conseguente incoerenza tra l'istanza principale e la replica. Questo può anche rendere più difficile la risoluzione dei problemi di replica. Cloud SQL consiglia di utilizzare questo flag solo se necessario. Se riscontri errori di replica, consulta la pagina Risoluzione dei problemi di Cloud SQL: replica per ulteriori informazioni su come risolvere questo problema.
character_set_client
character_set_connection
character_set_results
collation_connection
innodb_buffer_pool_dump_now
innodb_buffer_pool_load_abort
innodb_buffer_pool_load_now
innodb_ft_aux_table
foreign_key_checks
sql_select_limit
unique_checks
Questi flag non possono essere selezionati direttamente nella console Google Cloud o utilizzando gcloud CLI. Per utilizzare questi flag, utilizza il seguente comando:
SET GLOBAL FLAG_NAME=FLAG_VALUE
L'utilizzo del comando SET GLOBAL richiede il privilegio CLOUDSQL_SPECIAL_SYSEM_VARIABLES_ADMIN, che viene concesso al ruolo cloudsqlsuperuser. Nota: il privilegio CLOUDSQL_SPECIAL_SYSEM_VARIABLES_ADMIN è disponibile solo in MySQL 8.0 per Cloud SQL. Per saperne di più su come concedere l'accesso con privilegi speciali a un utente specifico, consulta Informazioni sugli utenti MySQL. Questi flag non sono persistenti. Quando l'istanza Cloud SQL viene ricreata o riavviata, le impostazioni dei flag vengono reimpostate sul valore predefinito.
caching_sha2_password_proxy_users

Utilizza il flag caching_sha2_password_proxy_users per la connettività dell'utente proxy in MySQL 9.7. Poiché il metodo di autenticazione mysql_native_password non è più disponibile in MySQL 9.7, non puoi utilizzare il flag mysql_native_password_proxy_users.

Il flag caching_sha2_password_proxy_users controlla se il plug-in di autenticazione integrato caching_sha2_password supporta gli utenti proxy. Il flag non ha effetto se la variabile di sistema check_proxy_users non è abilitata.

binlog_order_commits

Il valore predefinito del flag binlog_order_commits è ON. Cloud SQL consiglia di non modificare il valore predefinito di questo flag. Se il valore predefinito viene modificato in OFF, il commit delle transazioni nello stesso gruppo di log binari verrà eseguito in un ordine diverso rispetto a quando sono state scritte nel log binario. Questo influisce sulle seguenti operazioni che eseguono transazioni nell'ordine del log binario:

  • Replica: potrebbe causare incoerenza dei dati tra l'origine e le repliche
  • Point-in-time-recovery: potrebbe causare incoerenza dei dati tra lo stato ripristinato del PITR e lo stato storico
optimizer_switch,optimizer_trace,optimizer_trace_features

I flag dell'ottimizzatore hanno valori separati da virgole. Puoi impostare questi flag utilizzando la console Google Cloud o gcloud CLI. Per saperne di più su come impostare questo flag utilizzando la console, consulta Configura i flag di database. Se utilizzi gcloud CLI, puoi specificare il valore di questi flag in due modi diversi:

Per impostare più flag secondari dell'ottimizzatore in un unico comando, utilizza la virgola come delimitatore per separare i nomi dei flag. Se imposti un singolo valore del flag secondario utilizzando il comando gcloud CLI, tutti i flag secondari impostati in precedenza vengono sovrascritti.

Ad esempio, se esegui il comando seguente, il valore previsto per il flag secondario batched_key_access viene impostato su on e tutti gli altri flag secondari per optimizer_flags vengono impostati sui valori predefiniti.

gcloud sql instances patch my-instance --database-flags=^~^optimizer_switch=batched_key_access=on

Se esegui il comando seguente, il valore del flag secondario block_nested_loop viene impostato su on e tutti gli altri flag secondari per optimizer_switch vengono sovrascritti e impostati sui valori predefiniti.

gcloud sql instances patch my-instance --database-flags=^~^optimizer_switch=block_nested_loop=on

Questo include batched_key_access, che è stato impostato su on dal comando precedente. Per mantenere tutti i flag secondari impostati in precedenza e aggiungerne di nuovi, devi aggiungere i valori di tutti i flag secondari che vuoi impostare quando ne aggiungi uno nuovo.

In Cloud SQL per MySQL 9.7, puoi specificare il flag hypergraph_optimizer=on per attivare l'ottimizzatore ipergrafico. Per ulteriori informazioni sulle ottimizzazioni attivabili e sull'ottimizzatore di ipergrafi, consulta Ottimizzazioni attivabili e L'ottimizzatore di ipergrafi è ora disponibile in MySQL 9.7 Community Edition.

Flag di sistema modificati in Cloud SQL

Tutti gli altri flag del sistema di database non elencati nella sezione Flag supportati sono chiamati flag gestiti. Per alcuni flag gestiti, Cloud SQL imposta il flag su un valore diverso da quello predefinito per garantire che le istanze Cloud SQL vengano eseguite in modo affidabile. Non puoi modificare i valori di questi flag di sistema. Il seguente elenco mostra i flag gestiti con un'impostazione non predefinita:
Nome variabile Impostazione in Cloud SQL. Note
binlog_format ROW Differisce solo in MySQL 5.6
binlog_error_action ABORT_SERVER Differisce solo in MySQL 5.6
innodb_doublewrite_pages 64 Si applica a MySQL 8.0.26 e versioni successive
innodb_file_format Barracuda Differisce solo in MySQL 5.6
memlock true
skip_name_resolve ON
relay_log_info_repository TABELLA Rimosso in MySQL 8.4
relay_log_recovery ON
master_info_repository TABELLA Rimosso in MySQL 8.4
rpl_semi_sync_master_enabled 1
rpl_semi_sync_master_timeout 3000
admin_address 127.0.0.1 Differisce in MySQL 8.0 e versioni successive.
create_admin_listener_thread ON
port-open-timeout 120 Differisce in MySQL 8.0 e versioni successive.
partial_revokes ON MySQL 8.0 e versioni successive. Per ulteriori informazioni su questo flag, consulta Flag di sistema per le revoche parziali in MySQL 8.0.

Flag di sistema partial_revokes in MySQL 8.0 e versioni successive

Il flag partial_revokes consente di limitare l'accesso degli utenti a uno schema di database. In Cloud SQL per MySQL versione 8.0 e successive, il flag partial_revokes è impostato su ON. Ciò limita l'utilizzo di caratteri jolly durante la concessione o la revoca dei privilegi utente agli schemi di database in MySQL 8.0. Aggiorna l'istruzione GRANT per utilizzare il nome completo dello schema del database anziché i caratteri jolly.

Ad esempio, se utilizzi il seguente comando con il carattere jolly %\ per concedere i privilegi a un utente in MySQL 5.7, all'utente verranno concessi i privilegi per tutti i database che terminano con _foobar.

GRANT ALL PRIVILEGES ON `%\_foobar`.*  TO  'testuser'@'%';

Tuttavia, in MySQL 8.0, agli utenti verrà concesso l'accesso solo al database che corrisponde esattamente a %\_foobar.

Esistono due modi diversi per concedere l'accesso a più database in MySQL 8.0 e versioni successive.

  1. Puoi concedere le autorizzazioni a database specifici utilizzando i nomi completi dei database, come mostrato nel seguente comando:

      grant select on test1_foobar.* to 'testuser'@'%';
      grant select on test2_foobar.* to 'testuser'@'%';
      grant select on test3_foobar.* to 'testuser'@'%';
    
  2. Con partial_revokes, puoi utilizzare il comando grant e revoke per concedere i privilegi utente su tutti gli schemi del database, limitando l'accesso ad alcuni schemi del database.

      grant select on *.* to 'testuser'@'%';
      revoke select on test3_foobar.* from 'testuser'@'%';
    

    In questo modo, viene concesso l'accesso a tutti gli schemi del database, mentre l'accesso a test3_foobar.* viene limitato.

Filtri di replica

I filtri di replica possono essere impostati solo sulle repliche Cloud SQL. Ogni filtro di replica è impostato come un singolo flag per più database, in cui ogni nome di database è separato da una virgola. Puoi configurare un filtro di replica su una replica Cloud SQL utilizzando la console o il seguente comando:

gcloud sql instances patch REPLICA_NAME --database-flags=^~^REPLICATION_FILTER_NAME=DATABASE_NAME1,DATABASE_NAME, etc

I filtri di replica non supportano i nomi dei database che contengono valori con virgole. Il valore ^~^ nel comando precedente è necessario per i flag di database che sono valori separati da virgola.

Quando imposti un flag di filtro di replica, tieni presente quanto segue:

  • Se la replica non è più in stato integro, i dati filtrati dai filtri di replica possono essere visualizzati nella replica, poiché Cloud SQL utilizza i dati di origine della replica principale per ricostruire la replica dell'istanza.
  • Non puoi impostare filtri di replica sullo schema mysql.
  • Le regole dei filtri di replica non si applicano alle esportazioni serverless.

Flag di Index Advisor

Di seguito è riportato un elenco dei flag di database utilizzati da Cloud SQL per MySQL per abilitare e gestire le funzionalità specifiche di Index Advisor.

Nome del contrassegno Tipo
Valori accettati e note
Riavvio
necessario?
cloudsql_index_advisor_auto_advisor_schedule string
predefinito: 00:00
No
cloudsql_index_advisor_run_at_timestamp Datetime
predefinito: 00:00:00
No

Flag con alias

Il seguente elenco contiene i nomi dei flag che sono stati modificati da Cloud SQL per MySQL 8.0.26 e versioni successive.

Nome del flag deprecato Nome nuovo flag
log_slow_slave_statements log_slow_replica_statements
master_verify_checksum source_verify_checksum
slave_checkpoint_group replica_checkpoint_group
slave_checkpoint_period replica_checkpoint_period
slave_compressed_protocol replica_compressed_protocol
slave_net_timeout replica_net_timeout
slave_parallel_type replica_parallel_type
slave_parallel_workers replica_parallel_workers
slave_pending_jobs_size_max replica_pending_jobs_size_max
slave_preserve_commit_order replica_preserve_commit_order
slave_skip_errors replica_skip_errors
slave_sql_verify_checksum replica_sql_verify_checksum
slave_transaction_retries replica_transaction_retries
slave_type_conversions replica_type_conversions
sync_master_info sync_source_info

Se l'istanza Cloud SQL utilizza un nome di flag deprecato, modifica l'istanza Cloud SQL, elimina il nome del flag deprecato e aggiungi il nuovo flag all'istanza. Per saperne di più, consulta Configura un flag di database.

Risoluzione dei problemi

Problema Risoluzione dei problemi
Dopo aver attivato un flag, l'istanza entra in un loop tra panico e arresto anomalo. Contatta l' assistenza clienti per richiedere la rimozione del flag, seguita da un hard drain. In questo modo, l'istanza viene riavviata su un host diverso con una nuova configurazione senza il flag o l'impostazione indesiderati.
Visualizzi il messaggio di errore Bad syntax for dict arg quando provi a impostare un flag. I valori dei parametri complessi, come gli elenchi separati da virgole, richiedono un trattamento speciale se utilizzati con i comandi gcloud.

Passaggi successivi