Como configurar sinalizações do banco de dados

Nesta página, descrevemos como configurar sinalizações de banco de dados para o Cloud SQL e listamos as sinalizações que podem ser definidas para sua instância. É possível usar sinalizações de banco de dados em muitas operações, como no ajuste dos parâmetros do MySQL, das opções e na configuração e nos ajustes de uma instância.

Em alguns casos, para configurar uma sinalização pode ser necessário configurar outra para ativar toda a funcionalidade desejada. Por exemplo, para ativar a geração lenta de registros de consulta, é necessário definir as sinalização slow_query_log como on e a sinalização log_output como FILE. Dessa forma, os registros serão disponibilizados por meio do Visualizador de registros no Console do Google Cloud Platform.

Ao definir, remover ou mudar uma sinalização para uma instância de banco de dados, ele pode ser reiniciado. O valor da sinalização persiste nessa instância até você removê-lo. Se a instância for a origem de uma réplica e a instância for reiniciada, a réplica também será reiniciada para se alinhar com a configuração atual da instância.

Como configurar sinalizações do banco de dados

Como configurar uma sinalização do banco de dados

Console

  1. No Console do Google Cloud, crie um novo projeto do Console do Cloud ou abra um atual selecionando o nome dele.
  2. Abra a instância e clique em Editar.
  3. Role a tela para baixo até a seção Sinalizações.
  4. Para definir uma sinalização que ainda não tenha sido definida, clique em Adicionar item, selecione a sinalização no menu suspenso e defina o valor.
  5. Clique em Salvar para salvar as alterações.
  6. Confirme as alterações em Sinalizações, na página "Visão geral".

gcloud

Edite a instância:

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

Esse comando substituirá todas as sinalizações do banco de dados definidas anteriormente. Para manter essas sinalizações e adicionar novas, inclua os valores de todas as que você quiser configurar na instância. Qualquer sinalização não incluída especificamente será definida com o valor padrão. Para sinalizações sem valor, especifique o nome da sinalização seguido de um sinal de igual ("=").

Por exemplo, para definir os sinalizadores general_log, skip_show_database e wait_timeout, use o seguinte comando:

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

REST v1

Para definir uma sinalização de um banco de dados atual:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Por exemplo, para definir a sinalização general_log para um banco de dados existente, use:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Se houver sinalizações para o banco de dados, modifique o comando anterior para incluí-las. O comando PATCH substitui as sinalizações existentes pelas especificadas na solicitação.

REST v1beta4

Para definir uma sinalização de um banco de dados atual:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Por exemplo, para definir a sinalização general_log para um banco de dados existente, use:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Se houver sinalizações para o banco de dados, modifique o comando anterior para incluí-las. O comando PATCH substitui as sinalizações existentes pelas especificadas na solicitação.

Como redefinir as sinalizações ao valor padrão

Console

  1. No Console do Google Cloud, crie um novo projeto do Console do Cloud ou abra um atual selecionando o nome dele.
  2. Abra a instância e clique em Editar.
  3. Abra a seção Sinalizações do banco de dados.
  4. Clique no X ao lado de todas as sinalizações exibidas.
  5. Clique em Salvar para salvar as alterações.

gcloud

Redefina todas as sinalizações ao valor padrão em uma instância:

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

Confirme se a instância será reiniciada.

REST v1

Para apagar todas as sinalizações de uma instância existente:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

REST v1beta4

Para apagar todas as sinalizações de uma instância existente:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Como visualizar os valores atuais das sinalizações do banco de dados

Para visualizar todos os valores atuais das variáveis do sistema MySQL, faça login na instância com o cliente mysql e insira a seguinte instrução:

 SHOW VARIABLES;

É possível alterar o valor somente para sinalizações compatíveis (conforme listado abaixo).

Como determinar quais sinalizações do banco de dados foram configuradas para uma instância

Para ver quais sinalizações foram definidas para uma instância do Cloud SQL:

Console

  1. No Console do Google Cloud, crie um novo projeto do Console do Cloud ou abra um atual selecionando o nome dele.
  2. Selecione a instância para abrir a página Visão geral da instância.

    As sinalizações do banco de dados que foram configuradas estão listadas na seção Sinalizações do banco de dados.

gcloud

Veja o estado da instância:

gcloud sql instances describe INSTANCE_NAME

Na saída, as sinalizações do banco de dados são listados no settings como a coleção databaseFlags. Para saber mais sobre a representação das sinalizações na saída, consulte Representação do recurso das instâncias.

REST v1

Para listar as configurações de uma instância:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Na saída, procure o campo databaseFlags.

REST v1beta4

Para listar as configurações de uma instância:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Na saída, procure o campo databaseFlags.

Sinalizações gerenciadas pelo Cloud SQL

O Cloud SQL ajusta determinadas sinalizações do sistema, dependendo do tipo de máquina da instância. Não é possível ajustar esses valores.

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

Sinalizações aceitas

As sinalizações compatíveis no Cloud SQL são as mais solicitadas para o MySQL. As sinalizações não mencionadas abaixo não são compatíveis.

Para uma determinada sinalização, o Cloud SQL pode aceitar uma faixa diferente do parâmetro ou da opção correspondente do MySQL.

As sinalizações são aplicáveis a todas as versões do MySQL compatíveis com o Cloud SQL, exceto quando indicado.

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

Sinalização do Cloud SQL Digite
Valores e notas aceitáveis
Necessário
reiniciar?
activate_all_roles_on_login boolean
on | off
padrão: off
Não
auto_increment_increment integer
1 ... 65535
Não
auto_increment_offset integer
1 ... 65535
Não
binlog_cache_size integer
4096 ... 9223372036854775807
Não
binlog_expire_log_seconds integer
0 ou 86400 (1 day) ... 4294967295 (max value)
O padrão é 2592000, o que equivale a 30 dias.

Consulte a seção Dicas para mais informações sobre essa sinalização.

Não
binlog_group_commit_sync_delay 0 ... 1000000

Compatível com MySQL 5.7, 8.0

O padrão é 0.

Não
binlog_group_commit_sync_no_delay_count 0 ... 1000000

Compatível com MySQL 5.7, 8.0

O padrão é 0.

Não
binlog_row_image enumeration
full (padrão), minimal, ou noblob
Não
binlog_stmt_cache_size 4096 ... 9223372036854775807 Não
binlog_transaction_dependency_history_size integer

Para informações sobre como usar essa sinalização e os valores aceitáveis, consulte Como configurar a replicação paralela.

Não
binlog_transaction_dependency_tracking enumeration

Para informações sobre como usar essa sinalização e os valores aceitáveis, consulte Como configurar a replicação paralela.

Não
character_set_server string
utf8 ou utf8mb4 (recomendado)
Sim
default_password_lifetime integer 0...65535
padrão: 0
Não
default_time_zone string
Especifique valores como deslocamentos de fuso horário, de -12:59 a +13:00. Zeros à esquerda são obrigatórios.

Por exemplo, Londres está no fuso horário UTC, que é +00:00 nos valores suportados para essa sinalização. Áreas com nome, como "Europa/Londres", não são compatíveis com o Cloud SQL.

Sim
disconnect_on_expired_password boolean on | off
padrão: on
Sim
eq_range_index_dive_limit integer
0 ... 2147483647
Não
event_scheduler boolean
on | off

Se você estiver usando o Programador de eventos, configure a instância com uma política de ativação definida como SEMPRE para garantir a execução dos eventos programados.

Não
expire_log_days integer
0 ... 99
O padrão é 0, o que significa que não há remoção automática.

Consulte a seção Dicas para mais informações sobre essa sinalização.

Não
explicit_defaults_for_timestamp boolean
on | off
Sim
ft_max_word_len integer
10 ... 252
Sim
ft_min_word_len integer
1 ... 16
Sim
ft_query_expansion_limit integer
0 ... 1000
Sim
general_log boolean
on | off

Consulte a seção Dicas para mais informações sobre registros gerais.

Não
generated_random_password_length integer 5-255
padrão: 20
Não
group_concat_max_len integer
4 ... 17179869184
Não
init_connect string Não
innodb_adaptive_hash_index boolean
on | off
Não
innodb_adaptive_hash_index_parts integer
1 ... 512
Sim
innodb_adaptive_max_sleep_delay integer
0 ... 1000000
Não
innodb_autoinc_lock_mode integer
0 ... 2
Sim
innodb_buffer_pool_size integer

É necessário reiniciar para configurar esta sinalização para o MySQL 5.6. Consulte a seção Dicas para mais informações sobre essa sinalização.

Não
innodb_change_buffer_max_size integer
0 ... 50
Não
innodb_concurrency_tickets integer
1 ... 4294967295
Não
innodb_file_per_table boolean
on | off

Consulte a seção Dicas para mais informações sobre esta sinalização.

Não
innodb_fill_factor integer
10 ... 100
Não
innodb_flush_log_at_trx_commit integer
1, 2
Padrão: 1.

Consulte a seção Dicas para mais informações sobre esta sinalização.

Não
innodb_ft_cache_size integer
1600000 ... 80000000
Sim
innodb_ft_enable_diag_print boolean
on | off
Não
innodb_ft_enable_stopword boolean
on | off
Não
innodb_ft_max_token_size integer
10 ... 252

Compatível apenas com MySQL 5.6 e versões posteriores.

Sim
innodb_ft_min_token_size integer
0 ... 16

Compatível apenas com MySQL 5.6 e versões posteriores.

Sim
innodb_ft_num_word_optimize integer
1000 ... 10000
Não
innodb_ft_result_cache_limit integer
1000000 ... 4294967295
Não
innodb_ft_server_stopword_table string

Compatível apenas com MySQL 5.6 e versões posteriores.

Não
innodb_ft_sort_pll_degree integer
1 ... 32
Sim
innodb_ft_total_cache_size integer
32000000 ... 1600000000
Sim
innodb_ft_user_stopword_table string Não
innodb_large_prefix boolean
on | off

Compatível apenas com MySQL 5.6.

Não
innodb_lock_wait_timeout integer
1 ... 1073741824
Não
innodb_log_buffer_size integer
262144 ... 4294967295
Sim
innodb_log_file_size integer
MySQL 5.6: 1048576 ... 274877906944
MySQL 5.7: 4194304 ... 274877906944
Sim
innodb_lru_scan_depth integer
100 ... 9223372036854775807
Não
innodb_old_blocks_pct integer
5 ... 95
Não
innodb_old_blocks_time integer
0 ... 4294967295
Não
innodb_online_alter_log_max_size integer
65536 ... 9223372036854775807
Não
innodb_optimize_fulltext_only boolean
on | off
Não
innodb_print_all_deadlocks boolean
on | off
Não
innodb_purge_threads 1 ... 32

Compatível com MySQL 5.6, 5.7, 8.0

O padrão é 1.

Sim
innodb_random_read_ahead boolean
on | off
Não
innodb_read_ahead_threshold integer
0 ... 64
Não
innodb_read_io_threads integer
1 ... 64
Sim
innodb_replication_delay integer
0 ... 4294967295
Não
innodb_rollback_on_timeout boolean
on | off
Sim
innodb_rollback_segments integer
1 ... 128
Não
innodb_sort_buffer_size integer
65536 ... 67108864
Sim
innodb_stats_auto_recalc boolean
on | off
Não
innodb_stats_method enumeration
nulls_equal | nulls_unequal | nulls_ignored
Não
innodb_stats_on_metadata boolean
on | off
Não
innodb_stats_persistent boolean
on | off
Não
innodb_stats_persistent_sample_pages integer
1 ... 9223372036854775807
Não
innodb_stats_sample_pages integer
1 ... 9223372036854775807
Não
innodb_stats_transient_sample_pages integer
1 ... 9223372036854775807
Não
innodb_status_output boolean
on | off
Não
innodb_status_output_locks boolean
on | off
Não
innodb_strict_mode boolean
on | off
Não
innodb_sync_array_size 1 ... 1024

Compatível com MySQL 5.6, 5.7, 8.0

O padrão é 1.

Sim
innodb_thread_concurrency integer
0 ... 1000
Não
innodb_thread_sleep_delay integer
0 ... 1000000
Não
innodb_write_io_threads integer
1 ... 64
Sim
interactive_timeout integer
1 ... 31536000
Não
internal_tmp_mem_storage_engine enumeration
MEMORY, TempTable
Essa sinalização é usada apenas para o MySQL 8.0.
Não
join_buffer_size integer
128 ... 9223372036854775807
Não
local_infile boolean
on | off
Não
lock_wait_timeout integer
1 ... 31536000
Não
log_bin_trust_function_creators boolean
on | off
Não
log_output set
FILE | TABLE | NONE
Não
log_queries_not_using_indexes boolean
on | off
Não
log_throttle_queries_not_using_indexes integer
0 ... 9223372036854775807
Não
long_query_time float
0 ... 30000000

O Cloud SQL possibilita que você defina esta sinalização para menos de 1, se necessário.

Se a sinalização log_queries_not_using_indexes também estiver ativada, será possível ver as consultas com menos do que o tempo especificado aqui.

Não
lower_case_table_names integer
0 ou 1

Na maioria dos casos, use o valor padrão 0. Isso faz com que os nomes de tabela e banco de dados diferenciem maiúsculas e minúsculas. Se você precisar alterar o valor dessa sinalização, confirme como a alteração afetará suas tabelas e bancos de dados atuais.

Sim
mandatory_roles string role name
padrão: empty string
Não
max_allowed_packet integer
16384 ... 1073741824

Esse valor precisa ser um múltiplo de 1024, se sql_mode=TRADITIONAL ou sql_mode=STRICT_ALL_TABLES.

Não
max_binlog_size integer
4096 ... 1073741824
Não
max_connections integer
14 ... 262143
Sim
max_digest_length integer
0 ... 1048576
Sim
max_execution_time integer
0 ... 9223372036854775807
Não
max_heap_table_size integer
16384 ... 67108864

Consulte a seção Dicas para mais informações sobre esta sinalização.

Não
max_join_size integer
16 ... 9223372036854775807
Não
max_length_for_sort_data integer
4 ... 8388608
Não
max_points_in_geometry integer
3 ... 1048576
Não
max_prepared_stmt_count integer
0 ... 1048576
Não
max_seeks_for_key integer
1 ... 9223372036854775807
Não
max_sort_length integer
4 ... 8388608
Não
max_sp_recursion_depth integer
0 ... 255
Não
max_user_connections integer
0 ... 4294967295
Não
max_write_lock_count integer
1 ... 9223372036854775807
Não
net_read_timeout integer
30 ... 4294967295
Não
net_retry_count integer
10 ... 4294967295
Não
net_write_timeout integer
60 ... 4294967295
Não
optimizer_prune_level integer
0 ... 1
Não
optimizer_search_depth integer
0 ... 62
Não
optimizer_trace_max_mem_size integer
0 ... 9223372036854775807
Não
optimizer_trace_offset integer
-9223372036854775808 ... 9223372036854775807
Não
parser_max_mem_size integer
10000000 ... 9223372036854775807
Não
password_history integer 0-4294967295
padrão: 0
Não
password_require_current boolean on | off
padrão: off
Não
password_reuse_interval integer 0-4294967295
padrão: 0
Não
performance_schema boolean
on | off (padrão)

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_accounts_size integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_digests_size integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

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

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_events_statements_history_long_size integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_events_statements_history_size integer
-1 ... 1024

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_events_transactions_history_long_size integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_events_transactions_history_size integer
-1 ... 1024

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_events_waits_history_long_size integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_events_waits_history_size integer
-1 ... 1024

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_hosts_size integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_cond_classes integer
0 ... 256

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_cond_instances integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_digest_length integer
0 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_file_classes integer
0 ... 256

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_file_handles integer
0 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_file_instances integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_index_stat integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_memory_classes integer
0 ... 1024

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_metadata_locks integer
-1 ... 104857600

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_mutex_classes integer
0 ... 256

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_mutex_instances integer
-1 ... 104857600

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_prepared_statements_instances integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_program_instances integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_rwlock_classes integer
0 ... 256

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_rwlock_instances integer
-1 ... 104857600

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_socket_classes integer
0 ... 256

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_socket_instances integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_sql_text_length integer
0 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_stage_classes integer
0 ... 256

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_statement_classes integer
0 ... 256

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_statement_stack integer
1 ... 256

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_table_handles integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_table_instances integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_table_lock_stat integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_thread_classes integer
0 ... 256

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_max_thread_instances integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_session_connect_attrs_size integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_setup_actors_size integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_setup_objects_size integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
performance_schema_users_size integer
-1 ... 1048576

Consulte a seção Dicas para mais informações sobre sinalizações performance_schema.

Sim
query_alloc_block_size integer
1024 ... 4294967295
Não
query_cache_limit integer
0 ... 223338299392

Essa sinalização não está disponível para o MySQL 8.0, já que o cache de consulta está obsoleto desde o MySQL 5.7.20 e foi removido no MySQL 8.0.

Não
query_cache_min_res_unit integer
0 ... 9223372036854775807

Essa sinalização não está disponível para o MySQL 8.0, já que o cache de consulta está obsoleto desde o MySQL 5.7.20 e foi removido no MySQL 8.0.

Não
query_cache_size integer
0 ... 223338299392

Essa sinalização não está disponível para o MySQL 8.0, já que o cache de consulta está obsoleto desde o MySQL 5.7.20 e foi removido no MySQL 8.0. Consulte a seção Dicas para mais informações sobre esta sinalização.

Não
query_cache_type enumeration
0 ... 2

Essa sinalização não está disponível para o MySQL 8.0, já que o cache de consulta está obsoleto desde o MySQL 5.7.20 e foi removido no MySQL 8.0. Consulte a seção Dicas para mais informações sobre esta sinalização.

Sim
query_cache_wlock_invalidate boolean
on | off

Essa sinalização não está disponível para o MySQL 8.0, já que o cache de consulta está obsoleto desde o MySQL 5.7.20 e foi removido no MySQL 8.0.

Não
query_prealloc_size integer
8192 ... 9223372036854775807
Não
range_alloc_block_size integer
4096 ... 4294967295
Não
range_optimizer_max_mem_size integer
0 ... 9223372036854775807
Não
read_buffer_size integer
8192 ... 2147483647
Não
read_only boolean
on | off

Não afeta as réplicas.

Não
read_rnd_buffer_size integer
1 ... 2147483647
Não
show_compatibility_56 boolean
on | off

Compatível apenas com MySQL 5.7.

Não
skip_show_database flag
on | off
Sim
slave_parallel_type enumeration

Para informações sobre como usar essa sinalização e os valores aceitáveis, consulte Como configurar a replicação paralela.

Não
slave_parallel_workers integer

Para informações sobre como usar essa sinalização e os valores aceitáveis, consulte Como configurar a replicação paralela.

Não
slave_preserve_commit_order boolean

Para informações sobre como usar essa sinalização e os valores aceitáveis, consulte Como configurar a replicação paralela.

Não
slave_pending_jobs_size_max integer

Para informações sobre como usar essa sinalização e os valores aceitáveis, consulte Como configurar a replicação paralela.

Não
slow_query_log boolean
on | off

Consulte a seção Dicas para mais informações sobre registros de consulta lentos.

Não
sort_buffer_size integer
32768 ... 9223372036854775807
Não
sql_mode string

Consulte Server SQL Modes na documentação do MySQL para ver os valores permitidos. A inclusão de modos combinados, como ANSI. NO_DIR_IN_CREATE não é aceita.

O Cloud SQL para MySQL não é compatível com valores vazios para a sinalização sql_mode. Em vez de usar um valor vazio, defina essa sinalização para o como NO_ENGINE_SUBSTITUTION.

Não
stored_program_cache integer
16 ... 524288
Não
sync_binlog integer
0 ... 4294967295

Compatível apenas com réplicas de leitura e réplicas de servidores externos no MySQL 5.7 e 8.0.

A configuração padrão 1 ativa a sincronização do registro binário com o disco antes de as transações serem confirmadas.

Essa sinalização não é compatível com instâncias principais ou réplicas de failover de alta disponibilidade legadas. Se houver a remoção de uma réplica que usa essa sinalização, a sinalização será removida.

Não
table_definition_cache integer
400 ... 524288
Não
table_open_cache integer
1 ... 524288
Não
table_open_cache_instances integer
1 ... 64
Sim
thread_cache_size integer
0 ... 16384
Não
thread_stack integer
131072 ... 9223372036854775807
Sim
tmp_table_size integer
1024 ... 67108864

Consulte a seção Dicas para mais informações sobre essa sinalização.

Não
transaction_alloc_block_size integer
1024 ... 131072
Não
transaction_isolation enumeration
READ-UNCOMMITTED | READ-COMMITTED | REPEATABLE-READ | SERIALIZABLE
Sim
transaction_prealloc_size integer
1024 ... 131072
Não
transaction_write_set_extraction enumeration

Para informações sobre como usar essa sinalização e os valores aceitáveis, consulte Como configurar a replicação paralela.

Não
updatable_views_with_limit integer
0 ... 1
Não
wait_timeout integer
1 ... 31536000
Não

Dicas para trabalhar com sinalizações

general_log, slow_query_log

Para tornar disponíveis os registros general ou slow query, ative a sinalização correspondente e defina a sinalização log_output como FILE. Isso disponibiliza a saída de registro usando o visualizador de registros no Console do Google Cloud. As cobranças de registro do pacote de operações do Google Cloud são aplicáveis. Para minimizar o custo de armazenamento da instância, os registros general e slow query no disco da instância serão alternados quando o arquivo de registros tiver mais de 24 horas (e nenhuma alteração tiver sido feita dentro dessa duração) ou maior que 100 MB de tamanho. Os arquivos de registros antigos serão excluídos automaticamente depois da rotação.

Se log_output estiver definido como NONE, não será possível acessar os registros. Se você definir log_output como TABLE, a saída do registro será colocada em uma tabela no banco de dados. Se essa tabela ficar muito grande, isso afetará o tempo de reinicialização da instância ou resultará na perda da cobertura do SLA. Por isso, não recomendamos usar a opção TABLE. Se necessário, também é possível truncar suas tabelas de registros usando a API. Para obter mais informações, consulte a página de referência instance.truncateLog.

expire_logs_days, binlog_expire_logs_seconds
Se você ativar a recuperação pontual, o período de expiração dos registros binários será determinado pelo menor período de armazenamento e pelo valor dessa sinalização. Para mais informações, consulte a página Retenção de registros de transação.
innodb_buffer_pool_size

O valor de innodb_buffer_pool_size é o tamanho em bytes do pool de buffer. Não é possível ativar essa sinalização em instâncias com menos de 3.840 MiB de RAM.

Essa sinalização não é configurável para tipos de máquina com núcleo compartilhado (f1_micro e g1_small). Mudar essa sinalização no MySQL 5.6 requer uma reinicialização.

No Cloud SQL, os valores padrão, mínimo permitido e máximo permitidos da sinalização innodb_buffer_pool_size dependem da memória da instância. Esses valores podem ser calculados aproximadamente como uma porcentagem da RAM da instância. Por padrão, o valor dessa sinalização normalmente é definido próximo ao valor máximo permitido. A porcentagem de alocação máxima permitida aumenta com o tamanho da instância. O valor mínimo permitido geralmente é cerca de 20% da RAM da instância.

Valores aproximados para esta sinalização:

Intervalo de RAM da instânciaMín. %Padrão %Máx. %
0 - 4,0 GB de RAM~34%
4,0 GB - 7,5 GB~20%~34%~34%
7,5 GB a 12 GB~20%~52%~52%
12 GB a 24 GB~20%~67%~67%
24 GB ou mais~20%~72%~72%

Os valores exatos podem variar. Para calcular o valor atual da instância, execute esta consulta:

  show global variables like 'innodb_buffer_pool_size'
  

Para referência, os valores mínimo permitido, padrão e máximo permitido são fornecidos para os tipos de máquina predefinidos abaixo.

Tipo de máquina predefinido RAM da instância (GB) Mín. (GB)
(% do total)
Padrão (GB)
(% do total)
Máx. (GB)
(% do 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

Em todas as versões do MySQL 5.6 e superiores, o valor padrão é ON.

innodb_flush_log_at_trx_commit
Se você precisar de um desempenho melhor, recomendamos definir o valor como 2. O Cloud SQL não é compatível com a definição do valor dessa sinalização como 0. Se você definir o valor da sinalização como 2, será necessário desativar o registro binário na réplica ou definir sync_binlog como um valor diferente de 1.

Só é possível ativar essa sinalização em réplicas de leitura e réplicas de servidores externos. Para réplicas de servidores externos, essa sinalização precisa ser definida como o valor padrão 1 para conformidade total com ACID. Não é possível ativar essa sinalização em instâncias principais ou réplicas de failover.

max_heap_table_size, tmp_table_size

A exaustão da memória da instância disponível pode ocorrer quando você define tmp_table_size e max_heap_table_size muito alto para o número de consultas simultâneas processadas pela instância. A exaustão da memória causa falha e reinício da instância.

Para mais informações sobre como usar essas sinalizações, consulte Como o MySQL usa tabelas temporárias internas e O mecanismo de armazenamento MEMORY.

performance_schema

Não é possível ativar essa sinalização em instâncias com menos de 26.624 MiB de RAM. Se você ativar essa sinalização, não será possível alterar o tipo de máquina para um tamanho que não seja compatível com a sinalização. É necessário desativar essa sinalização primeiro.

Sinalizações do sistema alteradas no Cloud SQL

Todas as outras sinalizações do sistema de banco de dados que não estão listadas na seção sinalizações compatíveis são chamadas de sinalizações gerenciadas. Para determinadas sinalizações gerenciadas, o Cloud SQL define a sinalização como um valor diferente da configuração padrão para garantir que as instâncias do Cloud SQL sejam executadas de maneira confiável. Não é possível alterar os valores nessas sinalizações do sistema.

As sinalizações gerenciadas com uma configuração não padrão estão listadas abaixo.

Nome da variável Configuração no Cloud SQL. Observações
binlog_format (em inglês) Row Diferenciação apenas no MySQL 5.6
binlog_error_action ABORT_SERVER Diferenciação apenas no MySQL 5.6
innodb_file_format Barracuda Diferenciação apenas no MySQL 5.6
innodb_flush_method O_DIRECT
innodb_flush_ vizinhos 0 (no MySQL 5.6) e 2 (no MySQL 5.7 e 8.0)
innodb_io_capacity 5000
innodb_buffer_pool_instances
Tamanho da instância
(primeira correspondência)
innodb_buffer_pool_instances
< 1024 1
< 2048 1
< 7680 1
< 13312 2
< 26624 4
padrão 8
memlock true
skip_name_resolve ATIVADO
relay_log_info_repository TABELA
relay_log_recovery ATIVADO
slave_net_timeout 30
master_info_repositório TABELA
rpl_semi_sync_master_enabled 1
rpl_semi_sync_master_timeout 3000
innodb_page_cleaners 8 Diferenciado apenas no MySQL 5.7, 8.0
admin_address 127.0.0.1 Diferenciado apenas no MySQL 8.0
create_admin_listener_thread ATIVADO
port-open-timeout 120 Diferenciado apenas no MySQL 8.0
innodb_io_capacity_max 10000

Solução de problemas

Problema Solução de problemas
Após a ativação de uma sinalização, a instância fica alternando entre pânico e falha. Entre em contato com o suporte ao cliente para solicitar a remoção de uma sinalização, seguida de um hard drain. Isso força a instância a reiniciar em um host diferente com uma nova configuração sem a sinalização ou a configuração não pretendida.
Você verá a mensagem de erro Bad syntax for dict arg ao tentar definir uma sinalização. Valores de parâmetro complexos, como listas separadas por vírgulas, exigem tratamento especial quando usados com comandos gcloud.
O fuso horário não muda automaticamente. As alterações automáticas de fuso horário não estão disponíveis no Cloud SQL para MySQL e precisam ser feitas manualmente, e não por string, mas por valor de ajuste de fuso horário.

Edite a instância para alterar a sinalização default_time_zone. As áreas de nome não são compatíveis. Exemplo:

Europe/LondonLondres está no fuso horário UTC, que seria um valor compatível com +00:00 para a sinalização default_time_zone.

A seguir