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 Explorador de registros do Console do 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 sinalizações do banco de dados

Definir uma sinalização do banco de dados

Console

  1. No Console do Google Cloud, selecione o projeto que contém a instância do Cloud SQL para a qual você quer definir uma sinalização de banco de dados.
  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

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 projeto do Google Cloud, conclua as etapas nas seções a seguir.

Preparar o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o projeto padrão do Google Cloud 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 projeto do Google Cloud para ver os resultados. No console do Google Cloud, navegue até seus recursos na IU 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ê 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.

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

Console

  1. No Console do Google Cloud, selecione o projeto que contém a instância do Cloud SQL para que você quer limpar todas as sinalizações.
  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:

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 Console do Google Cloud, selecione o projeto que contém a instância do Cloud SQL para a qual você quer ver as sinalizações 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 sinalizações não mencionadas abaixo 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
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
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 é 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_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

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
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
collation_connection string
padrão:
MySQL 8.0 - 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 - utf8mb4_0900_ai_ci
Não
character_set_client string

padrão:
MySQL 5.7: utf8
MySQL 8.0: 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: utf8mb4

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

Não
character_set_results string
utf8 or utf8mb4
padrão:
MySQL 5.7: utf8
MySQL 8.0: 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_iam_authentication boolean on | off
padrão: off
Compatível com MySQL 5.7 e 8.0 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: clique aqui.
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
No
cloudsql_vector boolean on | off
padrão: off
Sim
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
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_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.

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

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
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
Não
innodb_change_buffering string

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

Não
innodb_checksum_algorithm string

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

Não
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 8.0.

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 MySQL 5.7 e 8.0.

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_ vizinhos enumeration
0 ... 2

Compatível com MySQL 5.6, 5.7 e 8.0.

Valores padrão:

  • MySQL 5.6: 0
  • MySQL 5.7: 2
  • MySQL 8.0: 2
  • Não
    innodb_flush_sync boolean
    on | off
    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

    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_io_capacity integer
    100 ... 100000
    Padrão: 5000

    Compatível com MySQL 5.6, 5.7 e 8.0.

    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

    Compatível com MySQL 5.6, 5.7 e 8.0.

    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_compressed_pages boolean
    on | off
    padrão: on
    Não
    innodb_log_file_size integer
    MySQL 5.6: 1048576 ... 274877906944
    MySQL 5.7: 4194304 ... 274877906944
    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_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: 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 8.0. Padrão: 4. Para a versão 5.7, o padrão é 32.
    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 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_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

    Compatível com MySQL 5.6, 5.7, 8.0

    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
    Essa sinalização é usada apenas para o MySQL 5.7.
    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
    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 (em inglês) integer
    1 ... 3
    padrão:
    MySQL 5.7: 3
    MySQL 8.0: 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, 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 ou MySQL 8.0, 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+: 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 sinalizações 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 sinalizações de vários valores.

    Não
    optimizer_trace_features multi-value repeated string

    Consulte a seção Dicas para mais informações sobre sinalizações 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 MySQL 5.6, 5.7 e para 8.0 se a RAM da instância for menor que 15 GB.

    padrão: on, para MySQL 8.0 se a RAM da instância for maior que 15 GB

    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_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 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_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 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
    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, 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.

    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.

    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
    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 sinalização, consulte a seção Filtros de replicação.

    Não
    replicate_do_table string

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

    Não
    replicate_ignore_db string

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

    Não
    replicate_ignore_table string

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

    Não
    replicate_wild_do_table string

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

    Não
    replicate_wild_ignore_table string

    Para mais informações sobre como usar essa sinalização, 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

    Compatível apenas com 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_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...18446744073709551615
    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
    temptable_max_mmap integer
    0 ... 68719476736
    Padrão: 1073741824
    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.

    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 console do Google Cloud. Lembre-se que as cobranças da 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 dessa duração) 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. 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 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%)

    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 uma instância de alta disponibilidade 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 sinalização 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 sinalização 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 alterar temporariamente os valores da sinalização 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.

    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 15.360 MiB 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 sinalização. Será preciso desativar essa sinalização primeiro.

    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 sinalização event_scheduler como OFF ao criar réplicas.

    Para saber mais sobre como ativar ou desativar o event_scheduler, consulte Configurar sinalizações 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 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 console do Google Cloud ou usando a gcloud CLI. 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.

    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.

    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
    • Recuperação pontual: 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 sinalizações do otimizador têm valores separados por vírgula. É possível definir essas sinalizações usando o Console ou o gcloud. Para mais informações sobre como definir essa sinalização usando o console, consulte Configurar sinalizações do banco de dados. Se estiver usando o gcloud, você poderá especificar o valor dessas sinalizações usando duas maneiras diferentes:

    Para definir várias sub-sinalizações do otimizador em um comando, use o delimitador de vírgula para separar o nome de cada sinalização. Se você definir um único valor de sub-sinalização usando o comando gcloud, ele substituirá todas as subsinalizações definidas anteriormente. Por exemplo, se você executar o comando a seguir, o valor esperado para a sub-sinalização batched_key_access será definido como on, e todas as outras para as sinalizações do optimizer_flags serão definidas para os valores padrão.
    gcloud sql instances patch my-instance --database-flags=^~^optimizer_switch=batched_key_access=on
    
    Se você executar o comando a seguir, o valor da sub-sinalização block_nested_loop será definido como on e todas as outras subsinalizações para o optimizer_switch serão substituídas e definidas com 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 subsinalizações definidas anteriormente e adicionar novas, adicione os valores de todas as subsinalizações que você quer definir ao adicionar uma nova.

    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_doublewrite_pages 64 Aplicável ao MySQL 8.0.26 e superior
    innodb_file_format Barracuda Diferenciação apenas no MySQL 5.6
    innodb_flush_method O_DIRECT
    memlock true
    skip_name_resolve ATIVADO
    relay_log_info_repository TABELA
    relay_log_recovery ATIVADO
    master_info_repositório TABELA
    rpl_semi_sync_master_enabled 1
    rpl_semi_sync_master_timeout 3000
    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
    partial_revokes ATIVADO Somente MySQL 8.0. 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

    A flag partial_revokes permite limitar o acesso de usuários em um esquema de bancos de dados. No Cloud SQL para MySQL versão 8.0, 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.

    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 boolean
    on | off
    padrão: off
    Sim
    cloudsql_index_advisor_auto_advisor_schedule string
    padrão: 00:00
    No
    cloudsql_index_advisor_run_at_timestamp Datetime
    padrão: 00:00:00
    No

    Sinalizações com alias

    A lista a seguir contém os nomes de sinalização 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 sinalização 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