Configura marcas de base de datos

En esta página, se describe cómo configurar las marcas de base de datos de Cloud SQL y se muestra una lista de aquellas que puedes configurar para tu instancia. Las marcas de base de datos se usan en muchas operaciones, como el ajuste de los parámetros de MySQL, el ajuste de las opciones y la configuración y el ajuste de una instancia.

En algunos casos, para configurar una marca necesitas configurar también otra marca para habilitar del todo la funcionalidad deseada. Por ejemplo, para habilitar el registro lento de consultas, debes configurar la marca slow_query_log en on y la marca log_output en FILE, de modo que tus registros estén disponibles mediante el visor de registros de Google Cloud Console.

Cuando se configura, quita o modifica una marca para una instancia de base de datos, es posible que se reinicie la base de datos. El valor de marca se conserva para la instancia hasta que lo quites. Si la instancia es la fuente de una réplica y la instancia se reinicia, la réplica también se reinicia para alinearse con la configuración actual de la instancia.

Configura marcas de base de datos

Cómo definir una marca de base de datos

Console

  1. En Google Cloud Console, crea un proyecto nuevo de Cloud Console o selecciona el nombre de un proyecto existente para abrirlo.
  2. Abre la instancia y haz clic en Editar.
  3. Desplázate hacia abajo hasta la sección Marcas.
  4. Para configurar una marca que no se configuró antes en la instancia, haz clic en Agregar elemento, elige la marca del menú desplegable y configura su valor.
  5. Haz clic en Guardar para guardar los cambios.
  6. Confirma tus cambios en Marcas en la página Descripción general.

gcloud

Edita la instancia:

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

Mediante este comando, se reemplazarán todas las marcas de bases de datos establecidas con anterioridad. Para conservarlas y agregar nuevas, incluye los valores de todas las marcas que desees configurar en la instancia. Cualquier marca que no esté incluida de forma explícita se establecerá con su valor predeterminado. Para marcas que no tomen un valor, especifica el nombre de la marca seguido por un signo igual (“=”).

Por ejemplo, para configurar las marcas general_log, skip_show_database y wait_timeout, puedes usar el siguiente comando:

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

REST v1

Si deseas configurar una marca para una base de datos existente, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Por ejemplo, si deseas configurar la marca general_log para una base de datos existente, usa el siguiente comando:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Si hay marcas existentes configuradas para la base de datos, modifica el comando anterior a fin de incluirlas. El comando PATCH reemplaza las marcas existentes con las especificadas en la solicitud.

REST v1beta4

Si deseas configurar una marca para una base de datos existente, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Por ejemplo, si deseas configurar la marca general_log para una base de datos existente, usa el siguiente comando:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Si hay marcas existentes configuradas para la base de datos, modifica el comando anterior a fin de incluirlas. El comando PATCH reemplaza las marcas existentes con las especificadas en la solicitud.

Restablece todas las marcas a su valor predeterminado

Console

  1. En Google Cloud Console, crea un proyecto nuevo de Cloud Console o selecciona el nombre de un proyecto existente para abrirlo.
  2. Abre la instancia y haz clic en Editar.
  3. Abre la sección Marcas de base de datos.
  4. Haz clic en las X ubicadas junto a todas las marcas que se muestran.
  5. Haz clic en Guardar para guardar los cambios.

gcloud

Restablece todas las marcas a sus valores predeterminados en una instancia:

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

Se te solicitará que confirmes que se reiniciará la instancia.

REST v1

Para borrar todas las marcas de una instancia existente, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

REST v1beta4

Para borrar todas las marcas de una instancia existente, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Ve los valores actuales de las marcas de base de datos

Para ver todos los valores actuales de las variables del sistema de MySQL, accede a la instancia con el cliente mysql y, luego, ingresa la siguiente declaración:

 SHOW VARIABLES;

Ten en cuenta que solo puedes cambiar el valor para las marcas compatibles (como se indica a continuación).

Cómo determinar qué marcas de base de datos se configuraron para una instancia

Para ver que marcas se configuraron para una instancia de Cloud SQL, sigue estos pasos:

Console

  1. En Google Cloud Console, crea un proyecto nuevo de Cloud Console o selecciona el nombre de un proyecto existente para abrirlo.
  2. Selecciona la instancia para abrir la página de descripción general de la instancia.

    Las marcas de base de datos que se configuraron se enumeran en la sección Marcas de base de datos.

gcloud

Obtén el estado de la instancia:

gcloud sql instances describe INSTANCE_NAME

En el resultado, las marcas de base de datos se indican en settings como el grupo databaseFlags. Para obtener más información sobre la representación de las marcas en el resultado, consulta Representación de recursos de instancias.

REST v1

Para enumerar las marcas configuradas para una instancia, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

En el resultado, busca el campo databaseFlags.

REST v1beta4

Para enumerar las marcas configuradas para una instancia, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

En el resultado, busca el campo databaseFlags.

Marcas administradas por Cloud SQL

Cloud SQL ajusta ciertas marcas de sistema según el tipo de máquina de la instancia. No puedes cambiar estos valores.

innodb_buffer_pool_instances
  • 1 para db-f1-micro y db-g1-small.
  • 1 si RAM < 7.5 GB.
  • 2 si 7.5 GB <= RAM < 13 GB
  • 4 si 13 GB <= RAM < 26 GB.
  • 8 si RAM >= 26 GB.

Marcas compatibles

Las marcas compatibles con Cloud SQL son las más solicitadas para MySQL. No se admiten las marcas que no se mencionan a continuación.

En el caso de una marca determinada, es posible que Cloud SQL sea compatible con un rango diferente del parámetro o la opción correspondiente de MySQL.

Las marcas aplican a todas las versiones de MySQL compatibles con Cloud SQL, excepto que se indique lo contrario.

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

Marca de Cloud SQL Tipo
Notas y valores aceptables
¿Reinicio
obligatorio?
activate_all_roles_on_login boolean
on | off
valor predeterminado: off
No
auto_increment_increment integer
1 ... 65535
No
auto_increment_offset integer
1 ... 65535
No
binlog_cache_size integer
4096 ... 9223372036854775807
No
binlog_expire_log_seconds integer
0 o 86400 (1 day) ... 4294967295 (max value)
El valor predeterminado es 2,592,000, que equivale a 30 días.

Consulta la sección Sugerencias para obtener más información sobre esta marca.

No
binlog_group_commit_sync_delay 0 ... 1000000

Compatible con MySQL 5.7 y 8.0

La cantidad predeterminada es 0.

No
binlog_group_commit_sync_no_delay_count 0 ... 1000000

Compatible con MySQL 5.7 y 8.0

La cantidad predeterminada es 0.

No
binlog_row_image enumeration
full (predeterminado), minimal o noblob
No
binlog_stmt_cache_size 4096 ... 9223372036854775807 No
binlog_transaction_dependency_history_size integer

Si necesitas información para usar esta marca y sus valores admitidos, consulta Configura la replicación paralela.

No
binlog_transaction_dependency_tracking enumeration

Si necesitas información para usar esta marca y sus valores admitidos, consulta Configura la replicación paralela.

No
character_set_server string
utf8 o utf8mb4 (recomendado)
default_password_lifetime integer 0...65535
valor predeterminado: 0
No
default_time_zone string
Especifica valores como desplazamientos de zona horaria, desde -12:59 hasta +13:00. Los ceros iniciales son obligatorios.

Por ejemplo, Londres está en la zona horaria UTC, que es +00:00 en los valores admitidos de esta marca. Las áreas con nombre, como “Europa/Londres”, no son compatibles con Cloud SQL.

disconnect_on_expired_password boolean on | off
valor predeterminado: on
eq_range_index_dive_limit integer
0 ... 2147483647
No
event_scheduler boolean
on|off

Si usas el programador de eventos, configura tu instancia con una política de activación de ALWAYS para asegurarte de que se ejecuten los eventos programados.

No
expire_log_days integer
099
El valor predeterminado es 0, lo que significa que no se realiza la eliminación automática.

Consulta la sección Sugerencias para obtener más información sobre esta marca.

No
explicit_defaults_for_timestamp boolean
on|off
ft_max_word_len integer
10 ... 252
ft_min_word_len integer
1 ... 16
ft_query_expansion_limit integer
0 ... 1000
general_log boolean
on|off

Consulta la sección Sugerencias para obtener más información sobre registros generales.

No
generated_random_password_length integer 5-255
valor predeterminado: 20
No
group_concat_max_len integer
4 ... 17179869184
No
init_connect string No
innodb_adaptive_hash_index boolean
on | off
No
innodb_adaptive_hash_index_parts integer
1 ... 512
innodb_adaptive_max_sleep_delay integer
0 ... 1000000
No
innodb_autoinc_lock_mode integer
0 ... 2
innodb_buffer_pool_size integer

Se requiere un reinicio para esta marca de MySQL 5.6. Consulta la sección Sugerencias para obtener más información sobre esta marca.

No
innodb_change_buffer_max_size integer
0 ... 50
No
innodb_concurrency_tickets integer
1 ... 4294967295
No
innodb_file_per_table boolean
on|off

Consulta la sección Sugerencias para obtener más información sobre esta marca.

No
innodb_fill_factor integer
10 ... 100
No
innodb_flush_log_at_trx_commit integer
1, 2
Configuración predeterminada: 1.

Consulta la sección Sugerencias para obtener más información sobre esta marca.

No
innodb_ft_cache_size integer
1600000 ... 80000000
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

Solo compatible con MySQL 5.6 y versiones posteriores.

innodb_ft_min_token_size integer
0 ... 16

Solo compatible con MySQL 5.6 y versiones posteriores.

innodb_ft_num_word_optimize integer
1000 ... 10000
No
innodb_ft_result_cache_limit integer
1000000 ... 4294967295
No
innodb_ft_server_stopword_table string

Solo compatible con MySQL 5.6 y versiones posteriores.

No
innodb_ft_sort_pll_degree integer
1 ... 32
innodb_ft_total_cache_size integer
32000000 ... 1600000000
innodb_ft_user_stopword_table string No
innodb_large_prefix boolean
on|off

Solo compatible con MySQL 5.6.

No
innodb_lock_wait_timeout integer
1 ... 1073741824
No
innodb_log_buffer_size integer
262144 ... 4294967295
innodb_log_file_size integer
MySQL 5.6: 1048576 ... 274877906944
MySQL 5.7: 4194304 ... 274877906944
innodb_lru_scan_depth integer
100 ... 9223372036854775807
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_optimize_fulltext_only boolean
on | off
No
innodb_print_all_deadlocks boolean
on | off
No
innodb_purge_threads 1 ... 32

Compatible con MySQL 5.6, 5.7 y 8.0

La cantidad predeterminada es 1.

innodb_random_read_ahead boolean
on | off
No
innodb_read_ahead_threshold integer
0 ... 64
No
innodb_read_io_threads integer
1 ... 64
innodb_replication_delay integer
0 ... 4294967295
No
innodb_rollback_on_timeout boolean
on | off
innodb_rollback_segments integer
1 ... 128
No
innodb_sort_buffer_size integer
65536 ... 67108864
innodb_stats_auto_recalc boolean
on | 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

Compatible con MySQL 5.6, 5.7 y 8.0

La cantidad predeterminada es 1.

innodb_thread_concurrency integer
0 ... 1000
No
innodb_thread_sleep_delay integer
0 ... 1000000
No
innodb_write_io_threads integer
1 ... 64
interactive_timeout integer
1 ... 31536000
No
internal_tmp_mem_storage_engine enumeration
MEMORY, TempTable
Esta marca solo se usa para MySQL 8.0.
No
join_buffer_size integer
128 ... 9223372036854775807
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_queries_not_using_indexes boolean
on | off
No
log_throttle_queries_not_using_indexes integer
0 ... 9223372036854775807
No
long_query_time float
0 ... 30000000

Cloud SQL permite configurar esta marca a menos de 1 si es necesario.

Si también se habilita la marca log_queries_not_using_indexes, es posible que veas búsquedas con menos de la hora especificada aquí.

No
lower_case_table_names integer
0 o 1

En la mayoría de los casos, usa el valor predeterminado igual a 0, que hace que los nombres de tablas y bases de datos no distingan mayúsculas de minúsculas. Si necesitas cambiar el valor de esta marca, asegúrate de comprender las consecuencias que tendrá este cambio para las tablas y bases de datos existentes.

mandatory_roles string role name
valor predeterminado: empty string
No
max_allowed_packet integer
16384 …  1073741824

Este valor debe ser un múltiplo de 1,024, si sql_mode=TRADITIONAL o sql_mode=STRICT_ALL_TABLES.

No
max_binlog_size integer
4096 ... 1073741824
No
max_connections integer
14 …  262143
max_digest_length integer
0 ... 1048576
max_execution_time integer
0 ... 9223372036854775807
No
max_heap_table_size integer
16384 …  67108864

Consulta la sección Sugerencias para obtener más información sobre esta marca.

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
0 ... 1048576
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
net_read_timeout integer
30 ... 4294967295
No
net_retry_count integer
10 ... 4294967295
No
net_write_timeout integer
60 ... 4294967295
No
optimizer_prune_level integer
0 ... 1
No
optimizer_search_depth integer
0 ... 62
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
valor predeterminado: 0
No
password_require_current boolean on | off
valor predeterminado: off
No
password_reuse_interval integer 0-4294967295
valor predeterminado: 0
No
performance_schema boolean
on | off (predeterminado)

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_accounts_size integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_digests_size integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_events_stages_history_long_size integer
-1 ... 1048576
performance_schema_events_stages_history_size integer
-1 …  1024

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_events_statements_history_long_size integer
-1 … 1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_events_statements_history_size integer
-1 …  1024

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_events_transactions_history_long_size integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_events_transactions_history_size integer
-1 …  1024

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_events_waits_history_long_size integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_events_waits_history_size integer
-1 …  1024

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_hosts_size integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_cond_classes integer
0 …  256

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_cond_instances integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_digest_length integer
0 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_file_classes integer
0 …  256

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_file_handles integer
0 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_file_instances integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_index_stat integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_memory_classes integer
0 …  1024

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_metadata_locks integer
-1 …  104857600

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_mutex_classes integer
0 …  256

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_mutex_instances integer
-1 …  104857600

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_prepared_statements_instances integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_program_instances integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_rwlock_classes integer
0 …  256

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_rwlock_instances integer
-1 …  104857600

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_socket_classes integer
0 …  256

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_socket_instances integer
-1 … 1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_sql_text_length integer
0 … 1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_stage_classes integer
0 …  256

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_statement_classes integer
0 …  256

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_statement_stack integer
1 …  256

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_table_handles integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_table_instances integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_table_lock_stat integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_thread_classes integer
0 …  256

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_max_thread_instances integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_session_connect_attrs_size integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_setup_actors_size integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_setup_objects_size integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

performance_schema_users_size integer
-1 …  1048576

Consulta la sección Sugerencias para obtener más información sobre las marcas performance_schema.

query_alloc_block_size integer
1024 ... 4294967295
No
query_cache_limit integer
0 ... 223338299392

Esta marca no está disponible para MySQL 8.0 porque la caché de consultas es obsoleta a partir de MySQL 5.7.20 y se quita en MySQL 8.0.

No
query_cache_min_res_unit integer
0 ... 9223372036854775807

Esta marca no está disponible para MySQL 8.0 porque la caché de consultas es obsoleta a partir de MySQL 5.7.20 y se quita en MySQL 8.0.

No
query_cache_size integer
0 ... 223338299392

Esta marca no está disponible para MySQL 8.0 porque la caché de consultas es obsoleta a partir de MySQL 5.7.20 y se quita en MySQL 8.0. Consulta la sección Sugerencias para obtener más información sobre esta marca.

No
query_cache_type enumeration
0 ... 2

Esta marca no está disponible para MySQL 8.0 porque la caché de consultas es obsoleta a partir de MySQL 5.7.20 y se quita en MySQL 8.0. Consulta la sección Sugerencias para obtener más información sobre esta marca.

query_cache_wlock_invalidate boolean
on | off

Esta marca no está disponible para MySQL 8.0 porque la caché de consultas es obsoleta a partir de MySQL 5.7.20 y se quita en 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

No tiene efecto en réplicas.

No
read_rnd_buffer_size integer
1 ... 2147483647
No
show_compatibility_56 boolean
on | off

Solo compatible con MySQL 5.7.

No
skip_show_database flag
on | off
slave_parallel_type enumeration

Si necesitas información para usar esta marca y sus valores admitidos, consulta Configura la replicación paralela.

No
slave_parallel_workers integer

Si necesitas información para usar esta marca y sus valores admitidos, consulta Configura la replicación paralela.

No
slave_preserve_commit_order boolean

Si necesitas información para usar esta marca y sus valores admitidos, consulta Configura la replicación paralela.

No
slave_pending_jobs_size_max integer

Si necesitas información para usar esta marca y sus valores admitidos, consulta Configura la replicación paralela.

No
slow_query_log boolean
on | off

Consulta la sección Sugerencias para obtener más información sobre registros lentos de consultas.

No
sort_buffer_size integer
32768 ... 9223372036854775807
No
sql_mode string

Consulta los modos SQL de servidor en la documentación de MySQL para conocer los valores permitidos, incluidos los modos combinados, como ANSI. NO_DIR_IN_CREATE no es compatible.

Cloud SQL para MySQL no admite valores vacíos para la marca sql_mode. En lugar de usar un valor vacío, configura esta marca en el modo NO_ENGINE_SUBSTITUTION.

No
stored_program_cache integer
16 ... 524288
No
sync_binlog integer
0 …  4294967295

Solo compatible con réplicas de lectura y réplicas de servidor externo en MySQL 5.7 y 8.0.

La configuración predeterminada de 1 habilita la sincronización del registro binario en el disco antes de que se confirmen las transacciones.

Esta marca no es compatible con instancias principales ni réplicas de conmutación por error de alta disponibilidad heredadas. Si se asciende una réplica que usa esta marca, se quita la marca.

No
table_definition_cache integer
400 ... 524288
No
table_open_cache integer
1 ... 524288
No
table_open_cache_instances integer
1 ... 64
thread_cache_size integer
0 ... 16384
No
thread_stack integer
131072 ... 9223372036854775807
tmp_table_size integer
1024 …  67108864

Consulta la sección Sugerencias para obtener más información sobre esta marca.

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

Si necesitas información para usar esta marca y sus valores admitidos, consulta Configura la replicación paralela.

No
updatable_views_with_limit integer
0 ... 1
No
wait_timeout integer
1 ... 31536000
No

Sugerencias para trabajar con marcas

general_log, slow_query_log

Para que los registros general o slow query estén disponibles, habilita la marca correspondiente y configura la marca log_output como FILE. Esto hace que el resultado del registro esté disponible mediante el visor de registros de Google Cloud Console. Ten en cuenta que se aplican los cargos de registro de Google Cloud's operations suite. Para minimizar el costo de almacenamiento de la instancia, los registros general y slow query en el disco de la instancia se rotarán cuando el archivo de registro tenga más de 24 horas (y no se realicen cambios dentro de esa duración) o supere los 100 MB. Los archivos de registro antiguos se borrarán automáticamente después de la rotación.

Si log_output está configurado como NONE, no podrás acceder a los registros. Si configuras log_output como TABLE, el resultado del registro se ubica en una tabla en tu base de datos. Dado que la hora de reinicio de la instancia o su cobertura del ANS podrían verse afectadas si la tabla se agranda demasiado, no se recomienda la opción TABLE. Si es necesario, puedes usar la API para truncar las tablas de registro. Para obtener más información, consulta la página de referencia de instances.truncateLog.

expire_logs_days, binlog_expire_logs_seconds
Si habilitas la recuperación de un momento determinado, el período de vencimiento de los registros binarios se determinará según el menor del período de retención de registros de transacciones y el valor de esta marca. Para obtener más información, consulta la página Retención del registro de transacciones.
innodb_buffer_pool_size

El valor de innodb_buffer_pool_size es el tamaño en bytes del grupo de búfer. No puedes habilitar esta marca en instancias que tengan menos de 3,840 MiB de RAM.

No se puede configurar esta marca para los tipos de máquina de núcleo compartido (f1_micro y g1_small). Se debe reiniciar para cambiar esta marca en MySQL 5.6.

En Cloud SQL, los valores predeterminados mínimos y máximos permitidos de la marca innodb_buffer_pool_size dependen de la memoria de la instancia. Estos valores se pueden calcular como un porcentaje de la RAM de la instancia. De forma predeterminada, el valor de esta marca suele establecerse cerca del valor máximo permitido. El porcentaje de asignación máximo permitido aumenta con el tamaño de la instancia. Por lo general, el valor mínimo permitido es de alrededor del 20% de la RAM de la instancia.

Valores aproximados para esta marca:

Rango de RAM de la instancia% mín% predeterminado% máx
0 - 4.0GB de RAM~34%
4.0GB - 7.5GB~20%~34%~34%
7.5 GB - 12 GB~20%~52%~52%
12 GB - 24 GB~20%~67%~67%
24 GB o más~20%~72%~72%

Los valores exactos pueden variar. Para calcular el valor actual de tu instancia, puedes ejecutar la consulta:

  show global variables like 'innodb_buffer_pool_size'
  

Como referencia, se proporcionan los valores mínimos y máximos permitidos, los predeterminados para los tipos predefinidos de máquinas a continuación.

Tipo predefinido de máquina RAM de instancias (GB) Mín (GB)
(% del total)
Predeterminado (GB)
(% del total)
Máximo (GB)
(% del total)
f1-micro 0.6 - 0.053 -
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%)

innodb_file_per_table

Para todas las versiones de MySQL 5.6 y posteriores, el valor predeterminado es ON.

innodb_flush_log_at_trx_commit
Si necesitas mayor rendimiento, te recomendamos que establezcas el valor en 2. Cloud SQL no admite que se establezca el valor de esta marca en 0. Si configuras el valor de la marca en 2, debes inhabilitar el registro binario en la réplica o establecer sync_binlog en un valor distinto de 1.

Solo puedes habilitar esta marca para réplicas de lectura y réplicas de servidores externos. En las réplicas de servidores externos, esta marca se debe configurar en el valor predeterminado de 1 para el cumplimiento total de ACID. No puedes habilitar esta marca en instancias principales o réplicas de conmutación por error.

max_heap_table_size, tmp_table_size

Se puede agotar la memoria de instancia disponible cuando la configuración tmp_table_size y max_heap_table_size es muy alta para la cantidad de consultas simultáneas que procesa la instancia. Si la memoria se agota, la instancia falla y se reinicia.

Para obtener más información sobre cómo trabajar con estas marcas, consulta cómo MySQL usa tablas temporales internas y este artículo sobre el motor de almacenamiento MEMORY.

performance_schema

No puedes habilitar esta marca en instancias que tengan menos de 26,624 MiB de RAM. Si habilitas esta marca, no puedes cambiar el tipo de máquina a un tamaño que no sea compatible con la marca. Primero debes inhabilitar esta marca.

Marcas del sistema modificadas en Cloud SQL

Todas las demás marcas del sistema de base de datos que no aparecen en la sección marcas admitidas se denominan marcas administradas. En el caso de ciertas marcas administradas, Cloud SQL establece la marca en un valor diferente a la predeterminada para garantizar que las instancias de Cloud SQL se ejecuten de manera confiable. No puedes cambiar los valores en estas marcas del sistema.

A continuación, se enumeran las marcas administradas con una configuración no predeterminada.

Nombre de la variable Configuración en Cloud SQL. Notas
binlog_format ROW Solo en MySQL 5.6
binlog_error_action ABORT_SERVER Solo en MySQL 5.6
innodb_file_format Barracuda Solo en MySQL 5.6
innodb_flush_method O_DIRECT
innodb_flush_neighbors 0 (en MySQL 5.6) y 2 (en MySQL 5.7 y 8.0)
innodb_io_capacity 5000
innodb_buffer_pool_instances
Tamaño de la instancia
(primera coincidencia)
innodb_buffer_pool_instances
< 1024 1
< 2048 1
< 7680 1
< 13312 2
< 26624 4
default 8
memlock true
skip_name_resolve ACTIVADA
relay_log_info_repository TABLA
relay_log_recovery ACTIVADA
slave_net_timeout 30
master_info_repository TABLA
rpl_semi_sync_master_enabled 1
rpl_semi_sync_master_timeout 3000
innodb_page_cleaners 8 Solo difiere en MySQL 5.7, 8.0
admin_address 127.0.0.1 Solo difiere en MySQL 8.0
create_admin_listener_thread ACTIVADA
port-open-timeout 120 Solo difiere en MySQL 8.0
innodb_io_capacity_max 10000

Soluciona problemas

Problema Soluciona problemas
Después de habilitar una marca, la instancia ejecuta bucles de fallas. Comunícate con la asistencia al cliente para solicitar la eliminación de una marca seguida de una operación de hard drain. Esto obliga a la instancia a reiniciarse en un host diferente con una configuración nueva, sin la marca ni la configuración no deseadas.
Verás el mensaje de error Bad syntax for dict arg cuando intentes configurar una marca. Los valores de los parámetros complejos, como las listas separadas por comas, requieren un tratamiento especial cuando se usan con comandos de gcloud.
La zona horaria no cambia de forma automática Los cambios automáticos de la zona horaria no son compatibles con Cloud SQL para MySQL y deben realizarse de forma manual, no en función de una string, sino en función del valor de desplazamiento de zona horaria.

Edita la instancia para cambiar la marca default_time_zone. No se admiten áreas de nombre. Por ejemplo:

Europe/LondonLondres se encuentra en la zona horaria UTC, que sería un valor admitido de +00:00 para la marca default_time_zone.

¿Qué sigue?