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 pelo Análise de registros do console Google Cloud .

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.

Configurar flags de bancos de dados

As seções a seguir abordam tarefas comuns de gerenciamento de flags.

Definir uma flag de banco de dados

Console

  1. No consoleGoogle Cloud , selecione o projeto que contém a instância do Cloud SQL para a qual você quer definir uma flag de banco de dados.
  2. Abra a instância e clique em Editar.
  3. Acesse a seção Flags.
  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

Terraform

Para adicionar sinalizações do banco de dados, use um recurso do 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
}

Aplique as alterações

Para aplicar a configuração do Terraform em um Google Cloud projeto, siga as etapas nas seções a seguir.

Preparar o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o projeto Google Cloud padrão em que você quer aplicar as configurações do Terraform.

    Você só precisa executar esse comando uma vez por projeto, e ele pode ser executado em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    As variáveis de ambiente serão substituídas se você definir valores explícitos no arquivo de configuração do Terraform.

Preparar o diretório

Cada arquivo de configuração do Terraform precisa ter o próprio diretório, também chamado de módulo raiz.

  1. No Cloud Shell, crie um diretório e um novo arquivo dentro dele. O nome do arquivo precisa ter a extensão .tf, por exemplo, main.tf. Neste tutorial, o arquivo é chamado de main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se você estiver seguindo um tutorial, poderá copiar o exemplo de código em cada seção ou etapa.

    Copie o exemplo de código no main.tf recém-criado.

    Se preferir, copie o código do GitHub. Isso é recomendado quando o snippet do Terraform faz parte de uma solução de ponta a ponta.

  3. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  4. Salve as alterações.
  5. Inicialize o Terraform. Você só precisa fazer isso uma vez por diretório.
    terraform init

    Opcionalmente, para usar a versão mais recente do provedor do Google, inclua a opção -upgrade:

    terraform init -upgrade

Aplique as alterações

  1. Revise a configuração e verifique se os recursos que o Terraform vai criar ou atualizar correspondem às suas expectativas:
    terraform plan

    Faça as correções necessárias na configuração.

  2. Para aplicar a configuração do Terraform, execute o comando a seguir e digite yes no prompt:
    terraform apply

    Aguarde até que o Terraform exiba a mensagem "Apply complete!".

  3. Abra seu Google Cloud projeto para conferir os resultados. No console do Google Cloud , navegue até seus recursos na UI para verificar se foram criados ou atualizados pelo Terraform.

Excluir as alterações

Para excluir as mudanças, faça o seguinte:

  1. Para desativar a proteção contra exclusão, no arquivo de configuração do Terraform, defina o argumento deletion_protection como false.
    deletion_protection =  "false"
  2. Para aplicar a configuração atualizada do Terraform, execute o comando a seguir e digite yes no prompt:
    terraform apply
  1. Remova os recursos aplicados anteriormente com a configuração do Terraform executando o seguinte comando e inserindo yes no prompt:

    terraform destroy

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ê vai 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ê vai 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ê vai 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ê vai 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.

Redefinir todas as sinalizações para o valor padrão

Console

  1. No consoleGoogle Cloud , selecione o projeto que contém a instância do Cloud SQL para que você quer limpar todas as flags.
  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ê vai 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ê vai receber uma resposta JSON semelhante a esta:

Ver 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).

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 consoleGoogle Cloud , selecione o projeto que contém a instância do Cloud SQL para a qual você quer ver as flags do banco de dados que foram definidas.
  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.

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 flags não mencionadas nesta seção não são compatíveis.

Para uma determinada sinalização, o Cloud SQL pode aceitar uma faixa ou valor 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 | H | 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
activate_mandatory_roles boolean
on | off
padrão: on
Não
autocommit boolean
on | off
padrão: on
Não
auto_increment_increment integer
1 ... 65535
Não
auto_increment_offset integer
1 ... 65535
Não
automatic_sp_privileges boolean
on | off
padrão: on
Não
back_log integer
1 ... 65535
padrão: max_connections
MySQL 8.4 e versões anteriores: 4000
MySQL 9.7 e versões mais recentes: 10000
Sim
binlog_cache_size integer
4096 ... 9223372036854775807
Não
binlog_expire_logs_seconds integer
0 ou 86400 (1 day) ... 4294967295 (max value)
O padrão é 86400, o que equivale a 1 dia.

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 o MySQL 5.7 e versões mais recentes

O padrão é 0.

Não
binlog_group_commit_sync_no_delay_count 0 ... 1000000

Compatível com o MySQL 5.7 e versões mais recentes

O padrão é 0.

Não
binlog_gtid_simple_recovery boolean
on | off
padrão: on
Sim
binlog_order_commits boolean
on | off
padrão: on

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

Não
binlog_row_image enumeration
full (padrão), minimal, ou noblob
Não
binlog_row_metadata enumeration
full ou minimal (padrão)
Não
binlog_row_value_options string
PARTIAL_JSON
Não
binlog_rows_query_log_events boolean
on | off
padrão: off
Não
binlog_stmt_cache_size 4096 ... 9223372036854775807 Não
binlog_transaction_dependency_history_size integer
1 ... 10000000 padrão:
- MySQL 8.4 e versões anteriores: 25000
- MySQL 9.7 e versões mais recentes: 10000000

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

Não
binlog_transaction_dependency_tracking enumeration

Para informações sobre como usar essa flag e os valores aceitáveis, consulte Configurar a replicação paralela. Essa flag não é compatível com o MySQL 8.4 e versões mais recentes.

Não
block_encryption_mode string
aes-keylen-mode
padrão: aes-128-ECB
Não
bulk_insert_buffer_size integer
0 ... 4294967295
padrão: 8388608
Não
caching_sha2_password_storage_format string
CRYPT5 | PBKDF2_SHA512
padrão: CRYPT5
Não
caching_sha2_password_enforce_storage_format boolean
1 (true) | 0 (false)
padrão: 0 (false)
Não
caching_sha2_password_proxy_users boolean
on | off
padrão: OFF

Para mais informações sobre essa sinalização, consulte a seção Dicas.

Não
collation_connection string
padrão:
MySQL 8.0 e versões mais recentes - utf8mb4_0900_ai_ci

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

Não
collation_server string
padrão:
MySQL 5.7 - utf8_general_ci
MySQL 8.0 and later - utf8mb4_0900_ai_ci
Não
character_set_client string

padrão:
MySQL 5.7: utf8
MySQL 8.0 e versões mais recentes: utf8mb4

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

Não
character_set_connection string
padrão:
MySQL 5.7: utf8
MySQL 8.0 e versões mais recentes: utf8mb4

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

Não
character_set_results string
utf8 ou utf8mb4
padrão:
MySQL 5.7: utf8
MySQL 8.0 e versões mais recentes: utf8mb4

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

Não
character_set_server string
utf8 ou utf8mb4 (recomendado)
Sim
check_proxy_users boolean
on | off
padrão: off
Não
cloudsql_allow_analyze_table boolean on | off
padrão: off
Não
cloudsql_avoid_parse_session_logging boolean on | off
padrão: off
Não
cloudsql_iam_authentication boolean on | off
padrão: off
Compatível com MySQL 5.7 e versões mais recentes para Cloud SQL.
Não
cloudsql_ignore_innodb_encryption boolean on | off
padrão: off
Não
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

padrão: create_user, alter_user, grant e update
Não
cloudsql_mysql_audit_data_masking_regex string
max_string_length: 2048
padrão: consulte Configurações do plug-in de auditoria.
Não
cloudsql_mysql_audit_log_write_period integer
0...5000 milissegundos
padrão: 500 milissegundos
Não
cloudsql_mysql_audit_max_query_length integer
-1...1073741824
padrão: -1
Não
cloudsql_parameterized_secure_view boolean
on | off
padrão: off
Não
cloudsql_vector boolean on | off
padrão: off
Sim
cloudsql_vector_iterative_filtering boolean

padrão: off
Não
cloudsql_vector_iterative_filtering_max_neighbors integer
10...1000
padrão: 500
Não
cloudsql_vector_max_mem_size integer
1073741824...innodb_buffer_pool_size/2
padrão: 1073741824 em bytes
Sim
completion_type enumeration
NO_CHAIN (padrão), CHAIN ou RELEASE
Não
concurrent_insert enumeration
NEVER, AUTO (padrão) ou ALWAYS
Não
connect_timeout integer
2 ... 31536000
padrão: 10
Não
connection_memory_chunk_size integer
0 ... 536870912
Padrão:
MySQL 8.0.28 a 8.0.33: 8912
MySQL 8.0.34 e versões mais recentes: 8192
Não
connection_memory_limit integer
2097152 ... 9223372036854775807
Não
connection_memory_status_limit integer
16777216 ... 9223372036854775807
padrão: 9223372036854775807
Não
cte_max_recursion_depth integer
0 ... 4294967295
padrão: 1000
Não
default_authentication_plugin string
mysql_native_password|caching_sha2_password
Sim
default_password_lifetime integer 0...65535
padrão: 0
Não
default_time_zone string
Há duas maneiras de especificar os fusos horários: deslocamentos e nomes de fusos horários. Por exemplo, +00:00 é a diferença de fuso horário para Londres (que está no fuso horário UTC), e Europe/London é o nome do fuso horário dela.

Use valores para especificar deslocamentos de fuso horário, de -12:59 a +13:00. Os zeros iniciais são obrigatórios.

Ao usar nomes de fusos horários, é possível ajustar automaticamente o horário de verão. Os ajustes de fuso horário não são compatíveis. Veja uma lista de nomes de fusos horários compatíveis com o Cloud SQL para MySQL. É necessário atualizar essa sinalização manualmente na instância principal e em todas as réplicas de leitura.

Para definir o fuso horário sem reiniciar a instância do Cloud SQL, use o comando set time_zone=timezone_offset ou timezone_name com a sinalização init_connect.

Sim
default_tmp_storage_engine string
INNODB|MEMORY
padrão: INNODB
Não
default_week_format integer
0 ... 7
padrão: 0
Não
delay_key_write enumeration
OFF, ON (padrão), ou ALL
Não
disconnect_on_expired_password boolean on | off
padrão: on
Sim
div_precision_increment integer
0 ... 30
default: 4
Não
end_markers_in_json boolean
on | off
padrão: off
Não
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.

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

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

Observação: essa flag não é compatível com o MySQL 8.4. Use binlog_expire_logs_seconds, em vez disso. Consulte a seção Dicas para mais informações sobre essa flag.

Não
explicit_defaults_for_timestamp boolean
on | off

Não
flush_time integer
0 ... 31536000
padrão: 0
Não
foreign_key_checks boolean
on | off
padrão: on

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

Não
ft_max_word_len integer
10 ... 252
Sim
ft_min_word_len integer
1 ... 16
Sim
ft_query_expansion_limit integer
0 ... 1000
Sim
ft_stopword_file string
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
global_connection_memory_limit integer
16777216 ... 9223372036854775807
Não
global_connection_memory_status_limit integer
16777216 ... 9223372036854775807
padrão: 9223372036854775807
Não
global_connection_memory_tracking boolean
on | off
Padrão: off
Não
group_concat_max_len integer
4 ... 17179869184
Não
gtid_executed_compression_period integer
0 ... 4294967295
padrão (até a versão 8.0.22): 1000
padrão (versão) 8.0.23+): 0
Não
histogram_generation_max_mem_size integer
1000000 ... 4294967295
padrão: 20000000
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_autoextend_increment integer
1 ... 1000
Não
innodb_autoinc_lock_mode integer
0 ... 2
Sim
innodb_buffer_pool_chunk_size integer
1048576 ... (innodb_buffer_pool_size/innodb_buffer_pool_instances)

Esse valor de sinalização depende de innodb_buffer_pool_size e innodb_buffer_pool_instances. O MySQL pode ajustar automaticamente o valor de innodb_buffer_pool_chunk_size com base nessas duas sinalizações.

Sim
innodb_buffer_pool_dump_pct integer
1 ... 100
Padrão: 25
Não
innodb_buffer_pool_dump_at_shutdown boolean
on | off
Não
innodb_buffer_pool_dump_now boolean
on | off

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

Não
innodb_buffer_pool_instances integer
1 ... 64
Sim
innodb_buffer_pool_load_abort boolean
on | off

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

Não
innodb_buffer_pool_load_at_startup boolean
on | off
Sim
innodb_buffer_pool_load_now boolean
on | off

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

Não
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
padrão:
- MySQL 8.4 e versões anteriores: 25
- MySQL 9.7 e versões mais recentes: 5
Não
innodb_change_buffering string

Opções: none, inserts, deletes, changes, purges, all.

padrão:
- MySQL 8.0 e versões anteriores: none
- MySQL 8.4 e versões mais recentes: all
Não
innodb_checksum_algorithm string

Opções: crc32, strict_crc32, innodb, strict_innod, none, strict_none.

Não
innodb_cloudsql_managed_buffer_pool boolean
on | off
Padrão: off
Não
innodb_cloudsql_managed_buffer_pool_threshold_pct integer
50 ... 99
Intervalo de RAM da instânciaPadrão
< 3 GB de RAMN/A (núcleo compartilhado indisponível)
3 a 8 GB de RAM90
8 a 15 GB de RAM92
15 a 100 GB de RAM95
> 100 GB de RAM97
Não
innodb_cloudsql_optimized_write boolean

Essa flag está disponível apenas para instâncias com a edição Enterprise Plus do Cloud SQL. Para mais informações sobre essa sinalização, consulte a seção Dicas.

Sim
innodb_cmp_per_index_enabled boolean
on | off
Não
innodb_commit_concurrency integer
0 ... 1000
Sim
innodb_compression_failure_threshold_pct integer
0 ... 100
Não
innodb_compression_level integer
0 ... 9
Não
innodb_compression_pad_pct_max integer
0 ... 75
Não
innodb_concurrency_tickets integer
1 ... 4294967295
Não
innodb_deadlock_detect boolean
on | off

Compatível com o MySQL 5.7 e versões mais recentes.

Padrão: on

Não
innodb_disable_sort_file_cache boolean
on | off
Não
innodb_doublewrite_batch_size integer
0 ... 256
Padrão: 0
Sim
innodb_doublewrite_files integer
2 ... 128
Sim
innodb_doublewrite_pages integer
4 ... 512
Padrão: 64
Sim
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_timeout double
0.0001... 2700
padrão: 1

Compatível com o MySQL 5.7 e versões mais recentes.

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

Não
innodb_flush_log_at_trx_commit integer
1, 2
Padrão: 1

Se você promover uma réplica com essa sinalização ativada, ela será removida automaticamente, fazendo com que a réplica promovida tenha durabilidade total por padrão. Para usar essa sinalização com uma réplica promovida, é possível atualizar a sinalização para a réplica após a promoção.

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

Não
innodb_flush_method string

Opções: fsync, O_DIRECT, O_DSYNC

Padrão: O_DIRECT
Sim
innodb_flush_ vizinhos enumeration
0 ... 2
Valores padrão:
- MySQL 5.6: 0
- MySQL 5.7 a 8.0:2
- MySQL 8.4 e versões mais recentes: 0
Não
innodb_flush_sync boolean
on | off
Não
innodb_flushing_avg_loops integer
1 ... 1000
Padrão: 30
Não
innodb_fsync_threshold integer
0 ... 9223372036854775807
Padrão: 0
Não
innodb_ft_aux_table string

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

Sim
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
Sim
innodb_ft_min_token_size integer
0 ... 16
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 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_idle_flush_pct integer
0 ... 100
Padrão: 100
Não
innodb_io_capacity integer
100 ... 100000
Padrão: 5000

Para saber mais sobre como configurar o desempenho do disco, consulte a tabela VMs E2 em Configurar discos para atender aos requisitos de desempenho.

Não
innodb_io_capacity_max integer
100 ... 100000
Padrão: 10000

Para saber mais sobre como configurar o desempenho do disco, consulte a tabela VMs E2 em Configurar discos para atender aos requisitos de desempenho.

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_checksums boolean
on | off
padrão: on
Não
innodb_log_file_size integer
- MySQL 5.6: 1048576 ... 274877906944
- MySQL 5.7 a 8.4: 4194304 ... 274877906944
- MySQL 9.7: removido do banco de dados

Para mais informações sobre essa sinalização, consulte a seção Dicas.

Sim
innodb_log_spin_cpu_abs_lwm integer
0 ... 4294967295
padrão: 80
Não
innodb_log_spin_cpu_pct_hwm integer
0 ... 100
padrão: 50
Não
innodb_log_wait_for_flush_spin_hwm integer
0 ... 4294967295
padrão: 400
Não
innodb_log_write_ahead_size integer
512 ... 65536
padrão: 8192
Não
innodb_lru_scan_depth integer
100 ... 9223372036854775807
Não
innodb_max_dirty_pages_pct float
0 ... 99.99
padrão: 90
Não
innodb_max_dirty_pages_pct_lwm float
0 ... 99.99
padrão: 10
Não
innodb_max_purge_lag integer
0 ... 4294967295
padrão: 0
Não
innodb_max_undo_log_size integer
10485760 ... 9223372036854775807
padrão: 1073741824
Não
innodb_max_purge_lag_delay integer
0 ... 10000000
padrão: 0
Não
innodb_monitor_disable string Não
innodb_monitor_enable string Não
innodb_monitor_reset string
counter, module, pattern, all
Não
innodb_monitor_reset_all enumeration
Valores válidos: counter, module, pattern, all
Não
innodb_native_foreign_keys boolean
on | off
padrão: off
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_open_files integer
100 ... 2147483647
padrão:
MySQL 5.7: 2000
MySQL 8.0 e versões mais recentes: 4000
8.0.28: Não
8.0.27: Sim
innodb_optimize_fulltext_only boolean
on | off
Não
innodb_page_cleaners integer
1 ... 64
Compatível com MySQL 5.7 e versões mais recentes. Para o MySQL 5.7 e 8.0, o padrão é 4. No MySQL 8.4, o padrão é igual ao valor configurado para a flag innodb_buffer_pool_instances.
Sim
innodb_parallel_read_threads integer
1 ... 256
padrão: 4
Não
innodb_print_all_deadlocks boolean
on | off
padrão: off
Não
innodb_print_ddl_logs boolean
on | off
Não
innodb_purge_batch_size integer
1 ... 5000
padrão: 300
Não
innodb_purge_rseg_truncate_frequency integer
1 ... 128
padrão: 128
Não
innodb_purge_threads integer
1 ... 32
Valores padrão:
- MySQL 5.6: 1
- MySQL 5.7 e versões mais recentes: 4
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_redo_log_capacity integer
- MySQL 8.0.33 e versões anteriores: 8388608 (8 MB) ... 137438953472 (128 GB)
- MySQL 8.0.34 e versões mais recentes: 8388608 (8 MB) ... 549755813888 (512 GB)

Para mais informações sobre essa sinalização, consulte a seção Dicas.

Não
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_segment_reserve_factor float
.03 ... 40
padrão: 12.5
Não
innodb_sort_buffer_size integer
65536 ... 67108864
Sim
innodb_spin_wait_delay integer
- MySQL 5.7: 0 ... 1000000
- MySQL 8.0.13+: 0 ... 1000
padrão: 6
Não
innodb_stats_auto_recalc boolean
on | off
Não
innodb_stats_include_delete_marked boolean
on | off
padrão: 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

O padrão é 1.

Sim
innodb_sync_spin_loops integer
0 ... 4294967295
padrão: 30
Não
innodb_table_locks boolean
on | off
padrão: on
Não
innodb_thread_concurrency integer
0 ... 1000
Não
innodb_thread_sleep_delay integer
0 ... 1000000
Não
innodb_undo_log_truncate boolean
on | off
padrão: on
Não
innodb_use_native_aio boolean
on | off
padrão: on
Sim
innodb_write_io_threads integer
1 ... 64
Sim
interactive_timeout integer
1 ... 31536000
Não
internal_tmp_disk_storage_engine enumeration
INNODB | MYISAM
Padrão: INNODB
Não
internal_tmp_mem_storage_engine enumeration
MEMORY, TempTable
.
Não
join_buffer_size integer
128 ... 9223372036854775807
Não
keep_files_on_create boolean
on | off
padrão: off
Não
key_buffer_size integer
4096 ... 4294967295
padrão: 8388608
Não
key_cache_age_threshold integer
100 ... 9223372036854775807
padrão: 300
Não
key_cache_block_size integer
512 ... 16384
padrão: 1024
Não
key_cache_division_limit integer
1 ... 100
padrão: 100
Não
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
padrão: en_US
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_error_verbosity integer
1 ... 3
padrão:
MySQL 5.7: 3
MySQL 8.0 e mais recentes: 2
Não
log_queries_not_using_indexes boolean
on | off
Não
log_slow_admin_statements boolean
on | off
padrão: off
Não
log_slow_extra boolean
on | off
padrão: off
Não
log_slow_replica_statements boolean
on | off Padrão: off
Não
log_slow_slave_statements boolean
on | off Padrão: off
Não
log_throttle_queries_not_using_indexes integer
0 ... 9223372036854775807
Não
log_timestamps string
"UTC | SYSTEM"
padrão: UTC
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 5.7 | 8.0 integer
0 or 1
Padrão: 0

Se você usar o valor padrão 0 para essa sinalização, os nomes da tabela e do banco de dados diferenciam maiúsculas de minúsculas. Quando definido como 1, os nomes de tabelas e bancos de dados não diferenciam maiúsculas de minúsculas.

Para instâncias do MySQL 5.7, é possível alterar o valor dessa sinalização a qualquer momento. Se você fizer isso, entenda como a mudança afeta suas tabelas e bancos de dados.

Para instâncias do MySQL 8.0 e mais recentes, só é possível definir o valor dessa sinalização como um valor desejado enquanto uma instância estiver sendo criada. Após definir esse valor, não será possível fazer alterações. Além disso, para uma instância existente, não é possível alterar o valor dessa sinalização.

Ao criar réplicas de leitura para instâncias do MySQL 5.7, MySQL 8.0 ou MySQL 8.4, a réplica herda esse valor de sinalização da principal.

Sim
mandatory_roles string role name
padrão: empty string
Não
master_verify_checksum boolean
on | off Padrão: off
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_cache_size integer
4096 ... 4294967296
padrão: 4294967296
Não
max_binlog_size integer
4096 ... 1073741824
Não
max_binlog_stmt_cache_size integer
4096 ... 4294967296
padrão: 4294967296
Não
max_connect_errors integer
1 ... 9223372036854775807
padrão: 100
Não
max_connections integer
1 ... 100000
Não
max_digest_length integer
0 ... 1048576
Sim
max_error_count integer
0 ... 65535
padrão:
- MySQL 5.7 ou anterior: 64
- MySQL 8.0 e mais recentes: 1024
Não
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
min_examined_row_limit integer
0 ... 4294967295
padrão: 0
Não
myisam_data_pointer_size integer
2...7
padrão: 6
Não
myisam_max_sort_file_size integer
0...9223372036853727232
padrão: 9223372036853727232
Não
myisam_mmap_size integer
7...9223372036854775807
padrão: 9223372036854775807
Sim
myisam_sort_buffer_size integer
4096...4294967295
padrão: 8388608
Não
myisam_stats_method string
"nulls_unequal, nulls_equal, nulls_ignored"
padrão: nulls_unequal
Não
myisam_use_mmap boolean
on | off
padrão: off
Não
mysql_native_password_proxy_users boolean
on | off
padrão: off
Não
net_buffer_length integer
1024 ... 1048576
padrão: 16384
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
ngram_token_size integer
1 ... 10
padrão: 2
Sim
optimizer_prune_level integer
0 ... 1
Não
optimizer_search_depth integer
0 ... 62
Não
optimizer_switch multi-value repeated string

Consulte a seção Dicas para mais informações sobre flags de vários valores.

Não
optimizer_trace multi-value repeated string
enabled=on, enabled=off, one_line=on, one_line=off

Consulte a seção Dicas para mais informações sobre flags de vários valores.

Não
optimizer_trace_features multi-value repeated string

Consulte a seção Dicas para mais informações sobre flags de vários valores.

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: off para instâncias do MySQL 5.6 e 5.7
padrão: off para instâncias do MySQL 8.0 e mais recentes com RAM menor que 12 GB
padrão: on para instâncias do MySQL 8.0 e mais recentes com RAM maior ou igual a 12 GB

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

Sim
performance_schema_accounts_size integer
-1 ... 1048576

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

Sim
performance_schema_digests_size integer
-1 ... 1048576

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

Sim
performance_schema_error_size integer
0 ... 1048576
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 flags performance_schema.

Sim
performance_schema_events_statements_history_long_size integer
-1 ... 1048576

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

Sim
performance_schema_events_statements_history_size integer
-1 ... 1024

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

Sim
performance_schema_events_transactions_history_long_size integer
-1 ... 1048576

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

Sim
performance_schema_events_transactions_history_size integer
-1 ... 1024

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

Sim
performance_schema_events_waits_history_long_size integer
-1 ... 1048576

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

Sim
performance_schema_events_waits_history_size integer
-1 ... 1024

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

Sim
performance_schema_hosts_size integer
-1 ... 1048576

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

Sim
performance_schema_max_cond_classes integer
0 ... 256

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

Sim
performance_schema_max_cond_instances integer
-1 ... 1048576

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

Sim
performance_schema_max_digest_length integer
0 ... 1048576

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

Sim
performance_schema_max_digest_sample_age integer
0 ... 1048576
padrão: 60
Não
performance_schema_max_file_classes integer
0 ... 256

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

Sim
performance_schema_max_file_handles integer
0 ... 1048576

Consulte a seção Dicas para mais informações sobre flags pperformance_schema.

Sim
performance_schema_max_file_instances integer
-1 ... 1048576

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

Sim
performance_schema_max_index_stat integer
-1 ... 1048576

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

Sim
performance_schema_max_logger_classes integer
0 ... 200
padrão: 80

Para mais informações sobre flags performance_schema, consulte a seção Dicas.

Sim
performance_schema_max_memory_classes integer
0 ... 1024

Para mais informações sobre flags performance_schema, consulte a seção Dicas.

Sim
performance_schema_max_metadata_locks integer
-1 ... 104857600

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

Sim
performance_schema_max_mutex_classes integer
0 ... 256

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

Sim
performance_schema_max_mutex_instances integer
-1 ... 104857600

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

Sim
performance_schema_max_prepared_statements_instances integer
-1 ... 1048576

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

Sim
performance_schema_max_program_instances integer
-1 ... 1048576

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

Sim
performance_schema_max_rwlock_classes integer
0 ... 256

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

Sim
performance_schema_max_rwlock_instances integer
-1 ... 104857600

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

Sim
performance_schema_max_socket_classes integer
0 ... 256

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

Sim
performance_schema_max_socket_instances integer
-1 ... 1048576

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

Sim
performance_schema_max_sql_text_length integer
0 ... 1048576

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

Sim
performance_schema_max_stage_classes integer
0 ... 256

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

Sim
performance_schema_max_statement_classes integer
0 ... 256

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

Sim
performance_schema_max_statement_stack integer
1 ... 256

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

Sim
performance_schema_max_table_handles integer
-1 ... 1048576

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

Sim
performance_schema_max_table_instances integer
-1 ... 1048576

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

Sim
performance_schema_max_table_lock_stat integer
-1 ... 1048576

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

Sim
performance_schema_max_thread_classes integer
0 ... 256

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

Sim
performance_schema_max_thread_instances integer
-1 ... 1048576

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

Sim
performance_schema_session_connect_attrs_size integer
-1 ... 1048576

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

Sim
performance_schema_setup_actors_size integer
-1 ... 1048576

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

Sim
performance_schema_setup_objects_size integer
-1 ... 1048576

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

Sim
performance_schema_show_processlist boolean
on | off
Padrão: off
Não
performance_schema_users_size integer
-1 ... 1048576

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

Sim
preload_buffer_size integer
1024 ... 1073741824
padrão: 32768
Não
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 e mais recentes, 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 e mais recentes, 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 e mais recentes, 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_type enumeration
0 ... 2

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

Sim
query_cache_wlock_invalidate boolean
on | off

Essa sinalização não está disponível para o MySQL 8.0 e mais recentes, 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
regexp_stack_limit integer
0 ... 2147483647
Não
regexp_time_limit integer
0 ... 2147483647
padrão: 32
Não
replica_checkpoint_group integer
32 ... 524280
O padrão é 512.

Essa sinalização não afeta réplicas que não têm o multithreading ativado.

Não
replica_checkpoint_period integer
1 ... 4294967295
O padrão é 300.

A unidade é milissegundos.

Não
replica_compressed_protocol boolean
on | off
Não
replica_net_timeout integer
1 ... 31536000

A unidade é de segundos.

Não
replica_parallel_type enumeration
DATABASE, LOGICAL_CLOCK
Padrão:
MySQL 8.0.26 ou anterior: DATABASE
MySQL 8.0.27 ou posterior: LOGICAL_CLOCK

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

Não
replica_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
replica_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
replica_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
replica_skip_errors string
Padrão: OFF

Para mais informações sobre essa sinalização, consulte a seção Dicas.

Sim
replica_sql_verify_checksum boolean
on | off
Não
replica_transaction_retries integer
0 ... 9223372036854775807
Não
replica_type_conversions String
valores: ALL_LOSSY, ALL_NON_LOSSY, ALL_SIGNED, ALL_UNSIGNED
Não
replicate_do_db string

Para mais informações sobre como usar essa flag, consulte a seção Filtros de replicação.

Não
replicate_do_table string

Para mais informações sobre como usar essa flag, consulte a seção Filtros de replicação.

Não
replicate_ignore_db string

Para mais informações sobre como usar essa flag, consulte a seção Filtros de replicação.

Não
replicate_ignore_table string

Para mais informações sobre como usar essa flag, consulte a seção Filtros de replicação.

Não
replicate_wild_do_table string

Para mais informações sobre como usar essa flag, consulte a seção Filtros de replicação.

Não
replicate_wild_ignore_table string

Para mais informações sobre como usar essa flag, consulte a seção Filtros de replicação.

Não
rpl_read_size integer
8192 ... 4294959104
padrão: 8192
Não
schema_definition_cache integer
256 ... 524288
padrão: 256
Não
session_track_gtids string
OFF | OWN_GTID | ALL_GTIDS
padrão: OFF
Não
session_track_schema boolean
on | off
padrão: on
Não
session_track_state_change boolean
on | off
padrão: off
Não
session_track_transaction_info string
OFF | STATE | CHARACTERISTICS
padrão: OFF
Não
sha256_password_proxy_users boolean
on | off
padrão: off
Não
show_create_table_verbosity boolean
on | off
padrão: off
Não
show_compatibility_56 boolean
on | off

Suporte apenas no MySQL 5.7.

Não
skip_character_set_client_handshake boolean
on | off
padrão: off
Sim
skip_show_database flag
on | off
Sim
slave_checkpoint_group integer
32 ... 524280
O padrão é 512.

Essa sinalização não afeta réplicas que não têm o multithreading ativado.

Não
slave_checkpoint_period integer
1 ... 4294967295
O padrão é 300.

A unidade é milissegundos.

Não
slave_compressed_protocol boolean
on | off
Não
slave_net_timeout integer
1 ... 31536000

A unidade é de segundos.

Não
slave_parallel_type (em inglês) enumeration
DATABASE, LOGICAL_CLOCK
Padrão:
MySQL 8.0.26 ou anterior: DATABASE
MySQL 8.0.27 ou posterior: LOGICAL_CLOCK

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
slave_skip_errors string
Padrão: OFF

Para mais informações sobre essa sinalização, consulte a seção Dicas.

Sim
slave_sql_verify_checksum boolean
on | off
Não
slave_transaction_retries integer
0 ... 9223372036854775807
Não
slave_type_conversions string
valores: ALL_LOSSY, ALL_NON_LOSSY, ALL_SIGNED, ALL_UNSIGNED
Não
slow_launch_time Integer
0 ... 31536000
Padrão: 2
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
source_verify_checksum boolean
on | off
Padrão: off
Não
sql_generate_invisible_primary_key boolean
on | off
Padrão: off
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
sql_require_primary_key boolean
on | off
Padrão: off
Não
sql_select_limit integer 0...9223372036854775807
padrão: 18446744073709551615

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

Não
stored_program_cache integer
16 ... 524288
Não
stored_program_definition_cache integer
256 ... 524288
Padrão: 256
Não
sync_binlog integer
0 ... 4294967295

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

Se você promover uma réplica com essa sinalização ativada, ela será removida automaticamente, fazendo com que a réplica promovida tenha durabilidade total por padrão. Para usar essa sinalização com uma réplica promovida, é possível atualizar a sinalização para a réplica após a promoção.

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

Não
sync_master_info integer
0 ... 4294967295
Padrão: 10000
Não
sync_relay_log integer
0 ... 4294967295
Padrão: 10000
Não
sync_relay_log_info integer
0 ... 4294967295
Padrão: 10000
Não
sync_source_info integer
0 ... 4294967295
Padrão: 10000
Não
sysdate_is_now boolean
on | off
padrão: off
Sim
table_definition_cache integer
400 ... 524288
Não
tablespace_definition_cache integer
256 ... 524288
padrão: 256
Não
table_open_cache integer
1 ... 524288
Não
table_open_cache_instances integer
1 ... 64
Sim
table_open_cache_triggers integer
1 ... 524288
padrão: 524288
Não
temptable_max_mmap integer
0 ... 68719476736

Valores padrão:

  • MySQL 8.0 e versões anteriores: 1073741824
  • MySQL 8.4 e mais recente: 0
Não
temptable_max_ram integer
2097152 ... 68719476736
Padrão: 1073741824
Não
thread_cache_size integer
0 ... 16384
Não
thread_stack integer
131072 ... 9223372036854775807
Sim
tls_version String

Versão 5.7 à 8.0.27: TLSv1, TLSv1.1
Versão 8.0.28 ou mais recente: TLSv1.2
Versão 5.7: Sim

Versão 8.0 ou mais recente: Não
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. Essa flag não é compatível com o MySQL 8.4.

Não
unique_checks boolean
on | off
padrão: on

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

Não
updatable_views_with_limit integer
0 ... 1
Não
wait_timeout integer
1 ... 31536000
Não
windowing_use_high_precision boolean
on | off
Padrão: on
Não

Nomes de fuso horário

Nesta seção, você vai aprender sobre os nomes de fuso horário compatíveis com o Cloud SQL para MySQL.

A tabela nesta seção exibe o seguinte:

  • Nome do fuso horário: o nome suportado pelo Cloud SQL para MySQL.
  • STD: a diferença de fuso horário no horário padrão (STD).
  • DST: é a diferença de fuso horário no horário de verão (DST).
  • Nomes de sinônimo: os nomes dos fusos horários que você talvez queira usar, mas não são compatíveis com o Cloud SQL para MySQL. Se isso ocorrer, use o nome de fuso horário correspondente.
nome do fuso horário STD DST Nomes de sinônimos
Africa/Cairo +02:00 +02:00 Egito
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 África/Adis_Abeba
África/Asmara
África/Dar_es_Salaam
África/Djibouti
África/Kampala
África/Mogadishu
Índia/Antananarivo
Índia/Comoro
Índia/Mayotte
Africa/Tripoli +02:00 +02:00 Líbia
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 América/Shiprock
Navajo
MST7MDT
EUA/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/Atlantic
America/Los_Angeles −08:00 −07:00
America/Manaus −04:00 −04:00 Brazil/West
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 EUA/Arizona
MST
América/Creston
America/Santiago −04:00 −03:00 Chile/Continental
America/Sao_Paolo −03:00 −03:00
America/Tijuana −08:00 −07:00 México/BajaNorte
América/Ensenada
América/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 Ásia/Phnom_Penh
Ásia/Vientiane
Asia/Beirut +02:00 +03:00
Asia/Calcutta +05:30 +05:30 Asia/Kolkata
Asia/Damascus +02:00 +03:00
Asia/Dhaka +06:00 +06:00 Asia/Dacca
Asia/Irkutsk +08:00 +08:00
Asia/Jerusalem +02:00 +03:00 Ásia/Tel_Aviv
Israel
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 Ásia/Kuwait
Antártica/Syowa
Ásia/Aden
Asia/Seoul +09:00 +09:00 ROK
Asia/Shanghai +08:00 +08:00 Ásia/Chongqing
Ásia/Chungking
Ásia/Harbin
PRC
Asia/Singapore +08:00 +08:00 Singapura
Asia/Taipei +08:00 +08:00 ROC
Asia/Tehran +03:30 +04:30 Irã
Asia/Tokyo +09:00 +09:00 Japão
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
Atlantic/Azores −01:00 +00:00
Australia/Adelaide +09:30 +10:30 Australia/South
Australia/Brisbane +10:00 +10:00 Australia/Queensland
Australia/Darwin +09:30 +09:30 Australia/North
Australia/Hobart +10:00 +11:00 Austrália/Currie
Austrália/Tasmânia
Australia/Perth +08:00 +08:00 Australia/West
Australia/Sydney +10:00 +11:00 Austrália/NSW
Austrália/ACT
Austrália/Camberra
Brazil/East −03:00 −03:00 America/Sao_Paulo
Canada/Newfoundland −03:30 −02:30 America/St_Johns
Canada/Saskatchewan −06:00 −06:00 America/Regina
Canada/Yukon −07:00 −07:00 America/Whitehorse
Europe/Amsterdam +01:00 +02:00
Europe/Athens +02:00 +03:00
Europe/Dublin +01:00 +00:00 Eire
Europe/Helsinki +02:00 +03:00 Europe/Mariehamn
Europe/Istanbul +03:00 +03:00 Turquia
Ásia/Istambul
Europe/Kaliningrad +02:00 +02:00
Europe/Madrid +01:00 +02:00
Europe/Moscow +03:00 +03:00 W-SU
Europe/Paris +01:00 +02:00 MET
CET
Europe/Prague +01:00 +02:00 Europe/Bratislava
Europe/Sarajevo +01:00 +02:00 Europa/Belgrado
Europa/Liubliana
Europa/Podgorica
Europa/Skopje
Europa/Zagreb
Pacific/Auckland +12:00 +13:00 NZ
Antártica/McMurdo
Antártica/South_Pole
Pacific/Fiji +12:00 +13:00
Pacific/Guam +10:00 +10:00 Pacific/Saipan
Pacific/Honolulu −10:00 −10:00 EUA/Havaí
Pacífico/Johnston
HST
Pacific/Samoa −11:00 −11:00 Pacífico/Pago_Pago
EUA/Samoa
US/Alaska −09:00 −08:00 América/Anchorage
América/Juneau
América/Metlakatla
América/Nome
América/Sitka
América/Yakutat
US/Central −06:00 −05:00 America/Chicago
US/Eastern −05:00 −04:00 America/New_York
US/East-Indiana −05:00 −04:00 América/Indiana/Indianápolis
América/Indianápolis
América/Fort_Wayne
US/Mountain −07:00 −06:00 America/Denver
US/Pacific −08:00 −07:00 America/Los_Angeles
UTC +00:00 +00:00 Etc/UTC
Etc/UCT
Etc/Universal
Etc/Zulu

Talvez seja necessário atualizar as tabelas de fuso horário no Cloud SQL com os dados mais recentes. Por exemplo, um país pode mudar de um deslocamento de fuso horário DST para um deslocamento de STD ou um país pode introduzir um novo fuso horário.

As tabelas de fuso horário são atualizadas com os dados mais recentes de cada versão do CSA para o Cloud SQL. Quando isso acontece, as instâncias de réplica são atualizadas durante a janela de não manutenção. As instâncias primárias são atualizadas durante a janela de manutenção.

Aguarde até a janela de manutenção normal da versão do CSA ou faça uma manutenção de autoatendimento para atualizar as tabelas de fuso horário com os dados mais recentes. Para mais informações sobre como visualizar as versões de manutenção disponíveis, consulte Determinar a versão de manutenção de destino.

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 Google Cloud console. As cobranças de geração de registros do Google Cloud Observability 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 desse período) ou for maior que 100 MB. Os arquivos de registro antigos são excluídos automaticamente após a 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 do sistema mysql. Ele pode consumir uma quantidade considerável de espaço em disco. Se essa tabela ficar muito grande, ela poderá afetar o tempo de reinicialização da instância ou fazer com que a instância perca a cobertura do SLA. Por esse motivo, a opção TABLE não é recomendada. Além disso, o conteúdo não está disponível no Explorador de registros nem é alternado. Se necessário, também é possível truncar suas tabelas de registros usando a API. Para 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 dessas sinalizações. Use essas sinalizações para gerenciar por quanto tempo os registros binários são armazenados nas réplicas. A flag expire_logs_days foi removida do MySQL 8.4 e versões mais recentes. Para mais informações, consulte Retenção de registros de transação.
innodb_buffer_pool_size

O valor dessa flag é o tamanho em bytes do pool de buffer. O tamanho do pool de buffers precisa ser sempre igual ou um múltiplo do valor obtido ao multiplicar innodb_buffer_pool_chunk_size por innodb_buffer_pool_instances. Se você alterar o tamanho do pool de buffer para um valor que não seja igual ou múltiplo de innodb_buffer_pool_chunk_size multiplicado por innodb_buffer_pool_instances, o Cloud SQL vai ajustar o tamanho do pool de buffer automaticamente. Não é possível ativar essa flag em instâncias com menos de 3.840 MiB de RAM.

Não é possível configurar essa flag 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. Quando o pool de buffers gerenciado está ativado, ele faz ajustes no innodb_buffer_pool_size que não são refletidos no console Google Cloud . 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 seguintes tipos de máquina.

Tipo de máquina RAM da instância (GB) Mín. (GB)
(% do total)
Padrão (GB)
(% do total)
Máx. (GB)
(% do total)
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 o uso da memória da sua instância estiver alto e você estiver enfrentando eventos de memória insuficiente (OOM), ative a flag innodb_cloudsql_managed_buffer_pool para reduzir temporariamente o valor de innodb_buffer_pool_size. Para mais informações, consulte Ativar o pool de buffers gerenciado.

Quando o pool de buffers gerenciado faz ajustes no valor de innodb_buffer_pool_size, as mudanças não são refletidas no valor da flag exibido no console Google Cloud . Para conferir o valor atual de innodb_buffer_pool_size quando o pool de buffer gerenciado está ativado, consulte o valor da flag usando o cliente MySQL:
show global variables like 'innodb_buffer_pool_size';
innodb_cloudsql_optimized_write
Essa flag está disponível apenas para instâncias do Cloud SQL Enterprise Plus. O valor padrão é "ON". Essa flag melhora o desempenho de gravação otimizando o algoritmo de limpeza, controlando os limites de limpeza e ajustando a atividade em segundo plano para priorizar as operações de gravação do banco de dados. Além disso, essa flag ativa um algoritmo de recuperação de falhas aprimorado para reduzir o tempo de recuperação de falhas e usa a capacidade de processamento de E/S de disco não utilizada de forma adaptativa para acelerar o pré-aquecimento do pool de buffers. Na maioria dos casos de uso, você pode ter um desempenho melhor, como maior capacidade de processamento e menor latência, com essa flag ativada. No entanto, se as operações de gravação do banco de dados causarem uma carga extremamente pesada no servidor, a flag poderá atrasar algumas atividades em segundo plano. Esse atraso pode causar um pequeno aumento no uso do disco, que diminui automaticamente após a redução da carga. Por padrão, a flag innodb_cloudsql_optimized_write é ativada para todas as instâncias novas e atualizadas do Cloud SQL Enterprise Plus. Para instâncias atuais do Cloud SQL Enterprise Plus, essa flag é ativada depois que a atualização de manutenção relacionada é aplicada. Se você precisar desativar a flag, execute o seguinte comando.
gcloud sql instances patch INSTANCE_NAME \
 --database-flags="innodb_cloudsql_optimized_write=OFF"
Para mudar o valor da flag, é necessário reiniciar a instância.
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, sync_binlog
Para conformidade total com ACID e para manter a durabilidade e a consistência em uma configuração de replicação, as sinalizações innodb_flush_log_at_trx_commit e sync_binlog precisam ser definidas com o valor padrão de 1. Se você alterar o valor padrão, a durabilidade pode diminuir, o que pode levar à inconsistência entre a instância principal e as réplicas. Portanto, a instância perde a cobertura do SLA. Além disso, as seguintes situações podem ocorrer:
  • Perda de dados em determinadas situações, como uma falha de VM ou failover para a instância de HA regional
  • Dados não sincronizados no registro binário e nos arquivos de dados InnoDB
  • Perda ou falha de dados PITR
  • Inconsistência de dados entre uma instância primária e as respectivas réplicas
  • Uma falha na replicação
Definir o valor da flag innodb_flush_log_at_trx_commit ou sync_binlog como valores não padrão para instâncias primárias, autônomas e de alta disponibilidade reduz a durabilidade. Se você precisar de um desempenho melhor para réplicas de leitura, recomendamos definir o valor innodb_flush_log_at_trx_commit 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 flag como 2, será necessário desativar o registro binário na réplica ou definir sync_binlog com um valor diferente de 1 para um melhor desempenho. O Cloud SQL pode mudar temporariamente os valores das flags innodb_flush_log_at_trx_commit e sync_binlog para o padrão ao fazer um backup. Isso pode reduzir o desempenho ao fazer backups. Para evitar que isso afete a instância, altere a janela de backup quando o uso da instância for baixo. Para mais informações, consulte Criar e gerenciar backups automáticos e sob demanda.
innodb_flush_log_at_timeout

innodb_flush_log_at_timeout permite modificar a frequência de limpezas de página para evitar o impacto no desempenho da confirmação do grupo de registros binários. A configuração padrão é uma vez por segundo.

O Cloud SQL estendeu essa sinalização para aceitar a especificação de um período em microssegundos.

Exemplos:

  • 0.001 para especificar 1 ms
  • 0.0001 para especificar 100 nós
  • 12.5 para especificar 12,5 segundos
  • 12.005 para especificar 12 segundos e 5 ms
  • 0.005100 para especificar 5 ms e 100 us

Para determinadas cargas de trabalho, o uso de uma granularidade de segundos inteiros para limpeza de páginas pode ser inaceitável em termos de possível perda de transação. Em vez disso, é possível limpar as páginas usando granularidade de microssegundos para manter o desempenho sem comprometer significativamente a durabilidade.

Os períodos de microssegundos para a sinalização innodb_flush_log_at_timeout são aplicáveis apenas quando a sinalização de durabilidade innodb_flush_log_at_trx_commit está definida como 2.

A limpeza das páginas pode acontecer com mais ou menos frequência do que o valor especificado para innodb_flush_log_at_timeout, e o valor não é o limite máximo.

innodb_redo_log_capacity, innodb_log_file_size

No Cloud SQL para MySQL versão 8.4 e anteriores, se você configurar um valor para a flag innodb_redo_log_capacity, o Cloud SQL vai ignorar qualquer valor definido para a flag innodb_log_file_size. Se você não configurar nenhum valor para as flags innodb_redo_log_capacity ou innodb_log_file_size, o Cloud SQL usará o valor padrão da flag innodb_redo_log_capacity ou 104857600 (100 MB). Se você não configurar a flag innodb_redo_log_capacity, mas configurar a flag innodb_log_file_size, o valor do tamanho do log de refazer do InnoDB será calculado por innodb_log_file_size * innodb_log_file_in_group. Por exemplo, se você configurar innodb_log_file_size com um valor de 10 GB e o valor padrão de innodb_log_file_in_group for 2, o valor efetivo do tamanho do log de refazer do InnoDB será de 20 GB.

No Cloud SQL para MySQL versão 9.7 e mais recentes, as flags innodb_log_file_size e innodb_log_file_in_group foram removidas do Cloud SQL. Os valores padrão da flag innodb_redo_log_capacity são baseados na edição e na capacidade de RAM da instância, conforme listado na tabela a seguir.

Edição do Cloud SQLRAMValor padrão
Edição Enterprise do Cloud SQLQualquer tamanho1 GB
Edição do Cloud SQL Enterprise Plus<100 GB1 GB
Edição do Cloud SQL Enterprise Plus>100 GB1,5 GB
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 flag em instâncias com um núcleo compartilhado (menos de 3 GB de RAM). Se você ativar essa sinalização, não poderá alterar o tipo de máquina para um tamanho que não seja compatível com a flag. Será preciso desativá-la primeiro.

Para instâncias do MySQL 8.0 e versões mais recentes com 12 GB a 15 GB de RAM, o valor padrão de performance_schema é on. No entanto, os instrumentos padrão do esquema de desempenho são desativados. Para mais informações sobre instrumentos padrão do esquema de desempenho, consulte A tabela setup_instruments (MySQL 8.0) ou A tabela setup_instruments (MySQL 8.4). Se você quiser ativar e usar instrumentos do esquema de desempenho em uma instância de 12 GB a 15 GB de RAM, defina explicitamente a flag performance_schema como on em vez de usar o valor padrão. Para instâncias do MySQL 8.0 e mais recentes com ≥15 GB de RAM, o valor padrão de performance_schema é on e os instrumentos padrão do esquema de desempenho são ativados.

event_scheduler
Os eventos do MySQL, também conhecidos como eventos programados, são tarefas que podem ser agendadas. Eventos programados são um grupo de uma ou mais instruções SQL configuradas para serem executadas em um ou mais intervalos especificados. O valor padrão do MySQL 5.7 é OFF e o valor padrão do MySQL 8.0 é ON. Para saber mais sobre a sinalização event_scheduler, consulte event_scheduler. Se a sinalização event_scheduler estiver definida como ON para uma réplica de leitura, ela poderá causar erros com base no tipo de instruções definidas nos eventos:
  • Se o evento programado for write em uma réplica de leitura, ele causará um erro, já que as réplicas de leitura são somente leitura. Consulte Réplicas de leitura para mais informações.
  • Se o evento programado contiver uma operação de parada, como kill, event_scheduler a aplicará à réplica. Isso interrompe a replicação e exclui a réplica.
Para evitar esses erros, defina a flag event_scheduler como OFF ao criar réplicas. Para saber mais sobre como ativar ou desativar o event_scheduler, consulte Configurar flags do banco de dados.
replica_skip_errors,slave_skip_errors
Definir a sinalização replica_skip_errors ou slave_skip_errors pode causar problemas de replicação. Em geral, se ocorrer um erro ao executar uma instrução, a replicação será interrompida. O uso dessa sinalização fará com que o erro seja ignorado e a replicação continue, resultando em inconsistência entre a instância principal e a réplica. Isso também pode dificultar a solução de problemas de replicação. O Cloud SQL recomenda o uso dessa sinalização apenas se necessário. Se você estiver enfrentando erros de replicação, consulte a página Como solucionar problemas do Cloud SQL: replicação para mais informações sobre como resolver esse 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
Essas flags não podem ser selecionadas diretamente no Google Cloud console ou usando a CLI gcloud. Para usar essas sinalizações, use o seguinte comando:
SET GLOBAL FLAG_NAME=FLAG_VALUE
O uso do comando SET GLOBAL requer o privilégio CLOUDSQL_SPECIAL_SYSEM_VARIABLES_ADMIN, que é concedido ao papel cloudsqlsuperuser. Observação: o privilégio CLOUDSQL_SPECIAL_SYSEM_VARIABLES_ADMIN só está disponível no MySQL 8.0 para o Cloud SQL. Para mais informações sobre como conceder acesso de privilégio especial a um usuário específico, consulte Sobre os usuários do MySQL. Essas sinalizações não são mantidas. Quando a instância do Cloud SQL é recriada ou reiniciada, as configurações de sinalização são redefinidas para o valor padrão.
caching_sha2_password_proxy_users

Use a flag caching_sha2_password_proxy_users para conectividade de usuário de proxy no MySQL 9.7. Como o método de autenticação mysql_native_password não está mais disponível no MySQL 9.7, não é possível usar a flag mysql_native_password_proxy_users.

A flag caching_sha2_password_proxy_users controla se o plug-in de autenticação integrada caching_sha2_password é compatível com usuários de proxy. A flag não tem efeito a menos que a variável de sistema check_proxy_users esteja ativada.

binlog_order_commits

O valor padrão da sinalização binlog_order_commits é ON. O Cloud SQL recomenda não alterar o valor padrão dessa sinalização. Se o valor padrão for alterado para OFF, as transações no mesmo grupo de registros binários serão confirmadas em uma ordem diferente daquela em que foram gravadas no registro binário. Isso afeta as seguintes operações que executam transações na ordem de registro binário:

  • Replicação: pode levar à inconsistência de dados entre a origem e as réplicas
  • Point-in-time-recovery: pode levar à inconsistência de dados entre o estado restaurado da PITR e o estado histórico
optimizer_switch,optimizer_trace,optimizer_trace_features

As flags do otimizador têm valores separados por vírgula. É possível definir essas flags usando o console do Google Cloud ou a CLI gcloud. Para mais informações sobre como definir essa flag usando o console, consulte Configurar flags do banco de dados. Se você estiver usando a CLI gcloud, poderá especificar o valor dessas flags de duas maneiras diferentes:

Para definir várias subflags do otimizador em um comando, use o delimitador de vírgula para separar o nome de cada flag. Se você definir um único valor de subflag usando o comando da CLI gcloud, ele vai substituir todas as subflags definidas anteriormente.

Por exemplo, se você executar o comando a seguir, o valor esperado para a subflag batched_key_access será definido como on, e todas as outras subflags para optimizer_flags serão definidas como os valores padrão.

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

Se você executar o comando abaixo, o valor da subflag block_nested_loop será definido como on, e todas as outras subflags para optimizer_switch serão substituídas e definidas como os valores padrão.

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

Isso inclui batched_key_access, que foi definido como on pelo comando anterior. Para manter todas as subflags definidas anteriormente e adicionar novas, é necessário adicionar os valores de todas as subflags que você quer definir ao adicionar uma nova subflag.

No Cloud SQL para MySQL 9.7, é possível especificar a flag hypergraph_optimizer=on para ativar o otimizador de hipergrafos. Para mais informações sobre otimizações alternáveis e o otimizador de hipergrafos, consulte Otimizações alternáveis e O otimizador de hipergrafos já está disponível no MySQL 9.7 Community Edition.

Sinalizações do sistema alteradas no Cloud SQL

Todas as outras flags do sistema de banco de dados que não estão listadas na seção flags compatíveis são chamadas de flags 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. A lista a seguir mostra as flags gerenciadas com uma configuração não padrão:
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_doublewrite_pages 64 Aplicável ao MySQL 8.0.26 e versões mais recentes
innodb_file_format Barracuda Diferenciação apenas no MySQL 5.6
memlock verdadeiro
skip_name_resolve ATIVADO
relay_log_info_repository TABELA Removido no MySQL 8.4
relay_log_recovery ATIVADO
master_info_repositório TABELA Removido no MySQL 8.4
rpl_semi_sync_master_enabled 1
rpl_semi_sync_master_timeout 3000
admin_address 127.0.0.1 Diferente no MySQL 8.0 e versões mais recentes.
create_admin_listener_thread ATIVADO
port-open-timeout 120 Diferente no MySQL 8.0 e versões mais recentes.
partial_revokes ATIVADO MySQL 8.0 e posterior Para mais informações sobre essa flag, consulte Flag parcial do sistema no MySQL 8.0.

Flag parcial_revokes do sistema no MySQL 8.0 e versões mais recentes

A flag partial_revokes permite limitar o acesso de usuários em um esquema de banco de dados. No Cloud SQL para MySQL versão 8.0 e mais recentes, a flag partial_revokes está definida como ON. Isso limita o uso de caracteres curinga na concessão ou revogação de privilégios de usuário para esquemas de banco de dados no MySQL 8.0. Atualize sua instrução GRANT para usar o nome completo do esquema do banco de dados em vez de usar caracteres curinga.

Por exemplo, se você usar o comando a seguir com o caractere curinga %\ para conceder privilégios a um usuário no MySQL 5.7, o usuário receberá privilégios para todos os bancos de dados que terminam com _foobar.

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

No entanto, no MySQL 8.0, os usuários só terão acesso ao banco de dados que corresponder exatamente a %\_foobar.

Há duas maneiras diferentes de conceder acesso a vários bancos de dados no MySQL 8.0 e versões mais recentes.

  1. É possível conceder permissões a bancos de dados específicos usando os nomes completos deles, conforme mostrado no comando abaixo:

      grant select on test1_foobar.* to 'testuser'@'%';
      grant select on test2_foobar.* to 'testuser'@'%';
      grant select on test3_foobar.* to 'testuser'@'%';
    
  2. Com partial_revokes, é possível usar os comandos grant e revoke para conceder privilégios de usuário a todos os esquemas de banco de dados ao mesmo tempo que restringe o acesso a alguns esquemas de banco de dados.

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

    Concede acesso a todos os esquemas de banco de dados, restringindo o acesso a test3_foobar.*.

Filtros de replicação

Os filtros de replicação só podem ser definidos em réplicas do Cloud SQL. Cada filtro de replicação é definido como uma única sinalização para vários bancos de dados, em que cada nome de banco de dados é separado por uma vírgula. É possível configurar um filtro de replicação em uma réplica do Cloud SQL usando o console ou o seguinte comando:

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

Os filtros de replicação não são compatíveis com nomes de bancos de dados que contêm valores com vírgulas. O valor ^~^ no comando anterior é necessário para sinalizações de banco de dados que são valores separados por vírgula.

Ao definir uma sinalização de filtro de replicação, tenha em mente o seguinte:

  • Se a réplica se tornar não íntegra, os dados filtrados por filtros de replicação poderão aparecer na réplica, já que o Cloud SQL usa dados de origem da instância principal para recriar a réplica da instância.
  • Não é possível definir filtros de replicação no esquema mysql.
  • As regras do filtro de replicação não se aplicam a exportações sem servidor.

Flags do consultor de índice

Veja a seguir uma lista de flags do banco de dados que o Cloud SQL para MySQL usa para ativar e gerenciar recursos específicos do consultor de índice.

Nome da flag Digite
valores e notas aceitáveis
Necessário
reiniciar?
cloudsql_index_advisor_auto_advisor_schedule string
padrão: 00:00
Não
cloudsql_index_advisor_run_at_timestamp Datetime
padrão: 00:00:00
Não

Sinalizações com alias

A lista a seguir contém os nomes de flags que foram alterados pelo Cloud SQL para MySQL versões 8.0.26 e posteriores.

Nome da sinalização descontinuado Novo nome da sinalização
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 a instância do Cloud SQL estiver usando um nome de sinalização descontinuado, edite essa instância, exclua o nome descontinuado da sinalização e adicione a nova sinalização à instância. Para mais informações, consulte Definir uma flag de banco de dados.

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.

A seguir