Configure as flags da base de dados

Esta página descreve como configurar as flags da base de dados para o Cloud SQL e apresenta as flags que pode definir para a sua instância. Usa flags de base de dados para muitas operações, incluindo ajustar parâmetros do MySQL, ajustar opções e configurar e otimizar uma instância.

Em alguns casos, a definição de uma flag pode exigir que defina outra flag para ativar totalmente a funcionalidade que quer usar. Por exemplo, para ativar o registo de consultas lentas, tem de definir o indicador slow_query_log como on e o indicador log_output como FILE para disponibilizar os seus registos através do Google Cloud Explorador de registos da consola.

Quando define, remove ou modifica uma flag para uma instância da base de dados, a base de dados pode ser reiniciada. O valor da flag é, em seguida, mantido para a instância até que o remova. Se a instância for a origem de uma réplica e for reiniciada, a réplica também é reiniciada para se alinhar com a configuração atual da instância.

Configure as flags da base de dados

As secções seguintes abordam tarefas comuns de gestão de denúncias.

Defina uma flag da base de dados

Consola

  1. Na Google Cloud consola, selecione o projeto que contém a instância do Cloud SQL para a qual quer definir uma flag de base de dados.
  2. Abra a instância e clique em Editar.
  3. Aceda à secção Flags.
  4. Para definir uma flag que não tenha sido definida na instância anteriormente, clique em Adicionar item, escolha a flag no menu pendente e defina o respetivo valor.
  5. Clique em Guardar para guardar as alterações.
  6. Confirme as alterações em Sinalizações na página Vista geral.

gcloud

Edite a instância:

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

Este comando substitui todas as flags da base de dados definidas anteriormente. Para manter esses valores e adicionar novos, inclua os valores de todas as flags que quer definir na instância. Qualquer flag não incluída especificamente é definida com o respetivo valor predefinido. Para flags que não aceitam um valor, especifique o nome da flag seguido de um sinal de igual ("=").

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

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

Terraform

Para adicionar flags de base 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 num Google Cloud projeto, conclua os passos nas secções seguintes.

Prepare o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o Google Cloud projeto predefinido onde quer aplicar as suas configurações do Terraform.

    Só tem de executar este comando uma vez por projeto e pode executá-lo em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    As variáveis de ambiente são substituídas se definir valores explícitos no ficheiro de configuração do Terraform.

Prepare o diretório

Cada ficheiro de configuração do Terraform tem de ter o seu próprio diretório (também denominado módulo raiz).

  1. No Cloud Shell, crie um diretório e um novo ficheiro nesse diretório. O nome do ficheiro tem de ter a extensão .tf, por exemplo, main.tf. Neste tutorial, o ficheiro é denominado main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se estiver a seguir um tutorial, pode copiar o código de exemplo em cada secção ou passo.

    Copie o exemplo de código para o ficheiro main.tf criado recentemente.

    Opcionalmente, copie o código do GitHub. Isto é recomendado quando o fragmento do Terraform faz parte de uma solução completa.

  3. Reveja e modifique os parâmetros de exemplo para aplicar ao seu ambiente.
  4. Guarde as alterações.
  5. Inicialize o Terraform. Só tem de fazer isto uma vez por diretório.
    terraform init

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

    terraform init -upgrade

Aplique as alterações

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

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

  2. Aplique a configuração do Terraform executando o seguinte comando e introduzindo yes no comando:
    terraform apply

    Aguarde até que o Terraform apresente a mensagem "Apply complete!" (Aplicação concluída!).

  3. Abra o seu Google Cloud projeto para ver os resultados. Na Google Cloud consola, navegue para os seus recursos na IU para se certificar de que o Terraform os criou ou atualizou.

Eliminar as alterações

Para eliminar as alterações, faça o seguinte:

  1. Para desativar a proteção contra eliminação, no ficheiro de configuração do Terraform, defina o argumento deletion_protection como false.
    deletion_protection =  "false"
  2. Aplique a configuração do Terraform atualizada executando o seguinte comando e introduzindo yes no comando:
    terraform apply
  1. Remova os recursos aplicados anteriormente com a sua configuração do Terraform executando o seguinte comando e introduzindo yes no comando:

    terraform destroy

REST v1

Para definir uma flag para uma base de dados existente:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • 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 do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Por exemplo, para definir a flag general_log para uma utilização de base de dados existente:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • 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 do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Se existirem flags configuradas para a base de dados, modifique o comando anterior para as incluir. O comando PATCH substitui as flags existentes pelas especificadas no pedido.

REST v1beta4

Para definir uma flag para uma base de dados existente:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • 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 do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Por exemplo, para definir a flag general_log para uma utilização de base de dados existente:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • 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 do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Se existirem flags configuradas para a base de dados, modifique o comando anterior para as incluir. O comando PATCH substitui as flags existentes pelas especificadas no pedido.

Limpe todas as flags para os respetivos valores predefinidos

Consola

  1. Na Google Cloud consola, selecione o projeto que contém a instância do Cloud SQL para a qual quer limpar todas as flags.
  2. Abra a instância e clique em Editar.
  3. Abra a secção Indicadores da base de dados.
  4. Clique no X junto a todas as denúncias apresentadas.
  5. Clique em Guardar para guardar as alterações.

gcloud

Limpe todos os sinalizadores para os respetivos valores predefinidos numa instância:

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

É-lhe pedido que confirme que a instância vai ser reiniciada.

REST v1

Para limpar todas as flags de uma instância existente:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • 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 do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

Para limpar todas as flags de uma instância existente:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • 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 do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Veja os valores atuais das flags da base de dados

Para ver todos os valores atuais das variáveis do sistema MySQL, inicie sessão na sua instância com o cliente mysql e introduza a seguinte declaração:

 SHOW VARIABLES;

Tenha em atenção que só pode alterar o valor para flags suportadas (conforme indicado abaixo).

Determine que flags de base de dados foram definidas para uma instância

Para ver que flags foram definidas para uma instância do Cloud SQL:

Consola

  1. Na Google Cloud consola, selecione o projeto que contém a instância do Cloud SQL para a qual quer ver as flags da base de dados que foram definidas.
  2. Selecione a instância para abrir a respetiva página Vista geral da instância.

    As flags da base de dados que foram definidas são apresentadas na secção Flags da base de dados.

gcloud

Veja o estado da instância:

gcloud sql instances describe INSTANCE_NAME

Na saída, as flags da base de dados são apresentadas sob o nome da coleção settings.databaseFlags Para mais informações acerca da representação das flags no resultado, consulte Representação do recurso Instances.

REST v1

Para listar as flags configuradas para uma instância:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • 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 o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Na saída, procure o campo databaseFlags.

REST v1beta4

Para listar as flags configuradas para uma instância:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • 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 o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Na saída, procure o campo databaseFlags.

Flags geridas pelo Cloud SQL

O Cloud SQL ajusta determinados flags do sistema consoante o tipo de máquina da instância.

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

Sinalizadores suportados

As flags suportadas no Cloud SQL são as flags pedidas com maior frequência para o MySQL. As flags não mencionadas abaixo não são suportadas.

Para uma determinada flag, o Cloud SQL pode suportar um valor ou um intervalo diferente do parâmetro ou da opção do MySQL correspondente.

As flags aplicam-se a todas as versões do MySQL suportadas pelo 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

Para mais informações acerca desta indicação, consulte a secção Sugestões.

Flag do Cloud SQL Tipo
Valores aceitáveis e notas
É necessário reiniciar o dispositivo
?
activate_all_roles_on_login boolean
on | off
predefinição: off
Não
autocommit boolean
on | off
predefiniçã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
predefinição: on
Não
back_log integer
1 ... 65535
default: max_connections
Sim
binlog_cache_size integer
4096 9223372036854775807
Não
binlog_expire_logs_seconds integer
0 ou 86400 (1 day)4294967295 (max value)
A predefinição é 2592000, o que equivale a 30 dias.

Consulte a secção Sugestões para mais informações acerca desta flag.

Não
binlog_group_commit_sync_delay 0 … 1000000

Suportado no MySQL 5.7 e posteriores

A predefinição é 0.

Não
binlog_group_commit_sync_no_delay_count 0 … 1000000

Suportado no MySQL 5.7 e posteriores

A predefinição é 0.

Não
binlog_gtid_simple_recovery boolean
on | off
predefinição: on
Sim
binlog_order_commits boolean
on | off
predefinição: on

Consulte a secção Sugestões para mais informações acerca desta flag.

Não
binlog_row_image enumeration
full (predefinição), minimal ou noblob
Não
binlog_row_metadata enumeration
full ou minimal (predefinição)
Não
binlog_row_value_options string
PARTIAL_JSON
Não
binlog_rows_query_log_events boolean
on | off
predefinição: off
Não
binlog_stmt_cache_size 4096 ... 9223372036854775807 Não
binlog_transaction_dependency_history_size integer

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

Não
binlog_transaction_dependency_tracking enumeration

Para obter informações sobre como usar esta flag e os respetivos valores aceitáveis, consulte o artigo Configurar a replicação paralela. Esta flag não é suportada no MySQL 8.4.

Não
block_encryption_mode string
aes-keylen-mode
default: aes-128-ECB
Não
bulk_insert_buffer_size integer
0 4294967295
predefinição: 8388608
Não
collation_connection string
predefinição:
MySQL 8.0 e posterior – utf8mb4_0900_ai_ci

Consulte a secção Sugestões para mais informações acerca desta indicação.

Não
collation_server string
predefinição:
MySQL 5.7 – utf8_general_ci
MySQL 8.0 e posterior – utf8mb4_0900_ai_ci
Não
character_set_client string

predefinição:
MySQL 5.7: utf8
MySQL 8.0 e posterior: utf8mb4

Consulte a secção Sugestões para mais informações acerca desta indicação.

Não
character_set_connection string
predefinição:
MySQL 5.7: utf8
MySQL 8.0 e posterior: utf8mb4

Consulte a secção Sugestões para mais informações acerca desta indicação.

Não
character_set_results string
utf8 ou utf8mb4
predefinição:
MySQL 5.7: utf8
MySQL 8.0 e posterior: utf8mb4

Consulte a secção Sugestões para mais informações acerca desta indicação.

Não
character_set_server string
utf8 ou utf8mb4 (recomendado)
Sim
check_proxy_users boolean
on | off
predefinição: off
Não
cloudsql_allow_analyze_table boolean on | off
default: off
Não
cloudsql_iam_authentication boolean on | off
default: off
Supported in MySQL 5.7 and later for Cloud SQL.
Não
cloudsql_ignore_innodb_encryption boolean on | off
default: 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, ��, 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_relaylog_events

default: create_user, alter_user, grant e updatecreate_dbshow_eventsshow_create_triggershow_grantsshow_binlog_events
Não
cloudsql_mysql_audit_data_masking_regex string
max_string_length: 2048
predefinição: clique aqui.
Não
cloudsql_mysql_audit_log_write_period integer
0...5000 milissegundos
predefinição: 500 milissegundos
Não
cloudsql_mysql_audit_max_query_length integer
-1...1073741824
predefinição: -1
Não
cloudsql_vector boolean on | off
predefinição: off
Sim
cloudsql_vector_max_mem_size integer
1073741824...innodb_buffer_pool_size/2
predefinição: 1073741824 em bytes
Sim
completion_type enumeration
NO_CHAIN (predefinição), CHAIN ou RELEASE
Não
concurrent_insert enumeration
NEVER, AUTO (predefinição) ou ALWAYS
Não
connect_timeout integer
231536000
predefinição: 10
Não
cte_max_recursion_depth integer
04294967295
predefinição: 1000
Não
default_authentication_plugin string
mysql_native_password|caching_sha2_password
Sim
default_password_lifetime integer 0...65535
predefinição: 0
Não
default_time_zone string
Existem duas formas de especificar fusos horários: como desvios de fusos horários e nomes de fusos horários. Por exemplo, +00:00 é a diferença para o fuso horário de Londres (que está no fuso horário UTC) e Europe/London é o nome do fuso horário.

Use valores para especificar desvios de fuso horário, de -12:59 a +13:00. São necessários zeros à esquerda.

Quando usa nomes de fusos horários, o ajuste automático à mudança da hora é suportado. Quando usa desvios de fuso horário, não é suportado. Consulte uma lista de nomes de fusos horários suportados pelo Cloud SQL para MySQL. Tem de atualizar esta flag manualmente na instância principal e em todas as réplicas de leitura para a ter em conta.

Para definir o fuso horário sem provocar um reinício da instância do Cloud SQL, use o comando set time_zone=timezone_offset ou timezone_name com a flag init_connect.

Sim
default_week_format integer
0 ... 7
predefinição: 0
Não
delay_key_write enumeration
OFF, ON (predefinição) ou ALL
Não
disconnect_on_expired_password boolean on | off
predefinição: on
Sim
div_precision_increment integer
030
predefinição: 4
Não
end_markers_in_json boolean
on | off
predefinição: off
Não
eq_range_index_dive_limit integer
0 2147483647
Não
event_scheduler boolean
on | off

Se estiver a usar o agendador de eventos, configure a sua instância com uma política de ativação de ALWAYS para garantir que os eventos agendados são executados.

Consulte a secção Sugestões para mais informações acerca desta flag.

Não
expire_logs_days integer
0 ... 99
A predefinição é 0, o que significa que não existe remoção automática.

Nota: esta flag não é suportada no MySQL 8.4. Em alternativa, use binlog_expire_logs_seconds. Consulte a secção Sugestões para mais informações acerca desta flag.

Não
explicit_defaults_for_timestamp boolean
on | off

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

Consulte a secção Sugestões para mais informações acerca desta indicaçã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 secção Sugestões para mais informações sobre os registos gerais.

Não
generated_random_password_length integer 5-255
predefinição: 20
Não
group_concat_max_len integer
4 17179869184
Não
gtid_executed_compression_period integer
0 ... 4294967295
predefinição (até à versão 8.0.22): 1000
predefinição (versão 8.0.23 ou superior): 0
Não
histogram_generation_max_mem_size integer
10000004294967295
predefiniçã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
11000
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)

O valor desta flag 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 nestas duas flags.

Sim
innodb_buffer_pool_dump_pct integer
1 ... 100
Predefiniçã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 secção Sugestões para mais informações acerca desta flag.

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

Consulte a secção Sugestões para mais informações acerca desta flag.

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

Consulte a secção Sugestões para mais informações acerca desta flag.

Não
innodb_buffer_pool_size integer

A definição desta flag para o MySQL 5.6 requer um reinício. Consulte a secção Sugestões para mais informações sobre esta flag.

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 e strict_none.

Não
innodb_cloudsql_optimized_write boolean

Esta flag só está disponível para instâncias com a edição Cloud SQL Enterprise Plus. Para mais informações acerca desta flag, consulte a secção Sugestões.

Sim
innodb_cmp_per_index_enabled boolean
on | off
Não
innodb_commit_concurrency integer
01000
Sim
innodb_compression_failure_threshold_pct integer
0100
Não
innodb_compression_level integer
09
Não
innodb_compression_pad_pct_max integer
075
Não
innodb_concurrency_tickets integer
1 4294967295
Não
innodb_deadlock_detect boolean
on | off

Suportado no MySQL 5.7 e posteriores.

Predefinição: on

Não
innodb_disable_sort_file_cache boolean
on | off
Não
innodb_doublewrite_batch_size integer
0 ... 256
Predefinição: 0
Sim
innodb_doublewrite_files integer
2 128
Sim
innodb_doublewrite_pages integer
4 ... 512
Predefinição: 64
Sim
innodb_file_per_table boolean
on | off

Consulte a secção Sugestões para mais informações acerca desta indicação.

Não
innodb_fill_factor integer
10 100
Não
innodb_flush_log_at_timeout double
0.0001... 2700
Predefinição: 1

Suportado no MySQL 5.7 e posterior.

Consulte a secção Sugestões para mais informações acerca desta indicação.

Não
innodb_flush_log_at_trx_commit integer
1, 2
Predefinição: 1

Se promover uma réplica com esta flag ativada, a flag é removida automaticamente, o que faz com que a réplica promovida tenha durabilidade total por predefinição. Para usar esta flag com uma réplica promovida, pode atualizar a flag para a réplica após a promoção.

Consulte a secção Sugestões para mais informações acerca desta indicação.

Não
innodb_flush_neighbors enumeration
0 ... 2
Valores predefinidos:
  • MySQL 5.6: 0
  • MySQL 5.7 e posteriores: 2
  • Não
    innodb_flush_sync boolean
    on | off
    Não
    innodb_ft_aux_table string

    Consulte a secção Sugestões para mais informações acerca desta indicaçã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
    132
    Sim
    innodb_ft_total_cache_size integer
    32000000 1600000000
    Sim
    innodb_ft_user_stopword_table string Não
    innodb_io_capacity integer
    100 ... 100000
    Predefinição: 5000

    Para saber como configurar o desempenho do disco, consulte a tabela VMs E2 em Configure discos para cumprir os requisitos de desempenho.

    Não
    innodb_io_capacity_max integer
    100 ... 100000
    Predefinição: 10000

    Para saber como configurar o desempenho do disco, consulte a tabela VMs E2 em Configure discos para cumprir os requisitos de desempenho.

    Não
    innodb_large_prefix boolean
    on | off

    Apenas suportado no MySQL 5.6.

    Não
    innodb_lock_wait_timeout integer
    11073741824
    Não
    innodb_log_buffer_size integer
    262144 4294967295
    Sim
    innodb_log_checksums boolean
    on | off
    predefinição: on
    Não
    innodb_log_file_size integer
    MySQL 5.6: 1048576 ... 274877906944
    MySQL 5.7 e posterior: 4194304 ... 274877906944
    Sim
    innodb_log_spin_cpu_abs_lwm integer
    0 ... 4294967295
    predefinição: 80
    Não
    innodb_log_spin_cpu_pct_hwm integer
    0 ... 100
    predefinição: 50
    Não
    innodb_log_wait_for_flush_spin_hwm integer
    0 ... 4294967295
    predefinição: 400
    Não
    innodb_log_write_ahead_size integer
    512 ... 65536
    predefinição: 8192
    Não
    innodb_lru_scan_depth integer
    100 9223372036854775807
    Não
    innodb_max_dirty_pages_pct float
    099.99
    predefinição: 90
    Não
    innodb_max_dirty_pages_pct_lwm float
    099.99
    predefinição: 10
    Não
    innodb_max_purge_lag integer
    0 ... 4294967295
    predefinição: 0
    Não
    innodb_max_undo_log_size integer
    10485760 ... 9223372036854775807
    predefinição: 1073741824
    Não
    innodb_max_purge_lag_delay integer
    0 ... 10000000
    predefiniçã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
    default:
    MySQL 5.7: 2000
    MySQL 8.0 e posterior: 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
    Suportado no MySQL 5.7 e versões posteriores. Para o MySQL 5.7 e 8.0, o valor predefinido é 4. Para o MySQL 8.4, o valor predefinido é igual ao valor de configurado para a flag innodb_buffer_pool_instances.
    Sim
    innodb_parallel_read_threads integer
    1 ... 256
    predefinição: 4
    Não
    innodb_print_all_deadlocks boolean
    on | off
    predefinição: off
    Não
    innodb_print_ddl_logs boolean
    on | off
    Não
    innodb_purge_batch_size integer
    1 ... 5000
    predefinição: 300
    Não
    innodb_purge_rseg_truncate_frequency integer
    1 ... 128
    predefinição: 128
    Não
    innodb_purge_threads integer
    1 ... 32
    Valores predefinidos:
  • MySQL 5.6: 1
  • MySQL 5.7 e posteriores: 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 anterior: 8388608 (8 MB) … 137438953472 (128 GB) MySQL 8.0.34 e posterior: 8388608 (8 MB) … 549755813888 (512 GB)

    Para mais informações acerca desta indicação, consulte a secção Sugestões.

    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
    predefiniçã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
    default: 6
    Não
    innodb_stats_auto_recalc boolean
    on | off
    Não
    innodb_stats_include_delete_marked boolean
    on | off
    predefiniçã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

    A predefinição é 1.

    Sim
    innodb_sync_spin_loops integer
    0 ... 4294967295
    predefinição: 30
    Não
    innodb_table_locks boolean
    on | off
    predefiniçã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
    predefinição: on
    Não
    innodb_use_native_aio boolean
    on | off
    predefiniçã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
    Predefiniçã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
    predefinição: off
    Não
    key_buffer_size integer
    4096 ... 4294967295
    predefinição: 8388608
    Não
    key_cache_age_threshold integer
    100 ... 9223372036854775807
    predefinição: 300
    Não
    key_cache_block_size integer
    512 ... 16384
    predefinição: 1024
    Não
    key_cache_division_limit integer
    1 ... 100
    predefiniçã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
    default: 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
    default:
    MySQL 5.7: 3
    MySQL 8.0 e posterior: 2
    Não
    log_queries_not_using_indexes boolean
    on | off
    Não
    log_slow_admin_statements boolean
    on | off
    predefinição: off
    Não
    log_slow_extra boolean
    on | off
    predefinição: off
    Não
    log_slow_replica_statements boolean
    on | off Predefinição: off
    Não
    log_slow_slave_statements boolean
    on | off Predefinição: off
    Não
    log_throttle_queries_not_using_indexes integer
    0 9223372036854775807
    Não
    log_timestamps string
    "UTC | SYSTEM"
    predefinição: UTC
    Não
    long_query_time float
    030000000

    O Cloud SQL oferece a capacidade de definir esta flag para menos de 1, se necessário.

    Se a flag log_queries_not_using_indexes também estiver ativada, pode ver consultas com menos tempo do que o especificado aqui.

    Não
    lower_case_table_names 5.7 | 8.0 integer
    0 ou 1
    Predefinição: 0

    Se usar o valor predefinido de 0 para esta flag, os nomes das tabelas e das bases de dados são sensíveis a maiúsculas e minúsculas. Quando definido como 1, os nomes das tabelas e das bases de dados não são sensíveis a maiúsculas e minúsculas.

    Para instâncias do MySQL 5.7, pode alterar o valor desta flag em qualquer altura. Se o fizer, certifique-se de que compreende como a alteração afeta as suas tabelas e bases de dados existentes.

    Para instâncias do MySQL 8.0 e posteriores, só pode definir o valor desta flag para um valor pretendido durante a criação de uma instância. Depois de definir este valor, não o pode alterar. Além disso, não pode alterar o valor deste sinalizador para uma instância existente.

    Quando cria réplicas de leitura para instâncias do MySQL 5.7, MySQL 8.0 ou MySQL 8.4, a réplica herda este valor da flag da instância principal.

    Sim
    mandatory_roles string role name
    predefinição: empty string
    Não
    master_verify_checksum boolean
    on | off Predefinição: off
    Não
    max_allowed_packet integer
    16384 1073741824

    Este valor tem de 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
    predefinição: 4294967296
    Não
    max_binlog_size integer
    4096 1073741824
    Não
    max_binlog_stmt_cache_size integer
    4096 ... 4294967296
    predefinição: 4294967296
    Não
    max_connect_errors integer
    1 ... 9223372036854775807
    predefinição: 100
    Não
    max_connections integer
    1 100000
    Não
    max_digest_length integer
    0 1048576
    Sim
    max_error_count integer
    0 ... 65535
    default:
    MySQL 5.7 ou inferior: 64
    MySQL 8.0 e posterior: 1024
    Não
    max_execution_time integer
    0 9223372036854775807
    Não
    max_heap_table_size integer
    16384 67108864

    Consulte a secção Sugestões para mais informações acerca desta indicaçã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
    predefinição: 0
    Não
    myisam_data_pointer_size integer
    2...7
    predefinição: 6
    Não
    myisam_max_sort_file_size integer
    0...9223372036853727232
    predefinição: 9223372036853727232
    Não
    myisam_mmap_size integer
    7...9223372036854775807
    predefinição: 9223372036854775807
    Sim
    myisam_sort_buffer_size integer
    4096...4294967295
    predefinição: 8388608
    Não
    myisam_stats_method string
    "nulls_unequal, nulls_equal, nulls_ignored"
    predefinição: nulls_unequal
    Não
    myisam_use_mmap boolean
    on | off
    predefinição: off
    Não
    mysql_native_password_proxy_users boolean
    on | off
    predefinição: off
    Não
    net_buffer_length integer
    1024 ... 1048576
    default: 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
    default: 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 secção Sugestões para mais informações sobre as flags com vários valores.

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

    Consulte a secção Sugestões para mais informações sobre as flags com vários valores.

    Não
    optimizer_trace_features multi-value repeated string

    Consulte a secção Sugestões para mais informações sobre as flags com 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
    default: 0
    Não
    password_require_current boolean on | off
    default: off
    Não
    password_reuse_interval integer 0-4294967295
    default: 0
    Não
    performance_schema boolean
    on | off

    predefinição: off, para o MySQL 5.6, 5.7, 8.0 e 8.4 se a RAM da instância for inferior a 15 GB.

    predefinição: on, para o MySQL 8.0 e posterior, se a RAM da instância for superior a 15 GB

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_accounts_size integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_digests_size integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_error_size integer
    01048576
    Sim
    performance_schema_events_stages_history_long_size integer
    -1 1048576
    Sim
    performance_schema_events_stages_history_size integer
    -1 1024

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_events_statements_history_long_size integer
    -11048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_events_statements_history_size integer
    -1 1024

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_events_transactions_history_long_size integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_events_transactions_history_size integer
    -1 1024

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_events_waits_history_long_size integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_events_waits_history_size integer
    -1 1024

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_hosts_size integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_cond_classes integer
    0 256

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_cond_instances integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_digest_length integer
    0 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

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

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_file_handles integer
    0 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_file_instances integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_index_stat integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_memory_classes integer
    0 1024

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_metadata_locks integer
    -1 104857600

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_mutex_classes integer
    0 256

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_mutex_instances integer
    -1 104857600

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_prepared_statements_instances integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_program_instances integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_rwlock_classes integer
    0 256

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_rwlock_instances integer
    -1 104857600

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_socket_classes integer
    0 256

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_socket_instances integer
    -11048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_sql_text_length integer
    01048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_stage_classes integer
    0 256

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_statement_classes integer
    0 256

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_statement_stack integer
    1 256

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_table_handles integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_table_instances integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_table_lock_stat integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_thread_classes integer
    0 256

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_max_thread_instances integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_session_connect_attrs_size integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_setup_actors_size integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_setup_objects_size integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    performance_schema_users_size integer
    -1 1048576

    Consulte a secção Sugestões para mais informações sobre as flags performance_schema.

    Sim
    preload_buffer_size integer
    1024 ... 1073741824
    default: 32768
    Não
    query_alloc_block_size integer
    1024 4294967295
    Não
    query_cache_limit integer
    0 223338299392

    Esta flag não está disponível para o MySQL 8.0 e posterior, uma vez que a cache de consultas foi descontinuada a partir do MySQL 5.7.20 e removida no MySQL 8.0.

    Não
    query_cache_min_res_unit integer
    0 9223372036854775807

    Esta flag não está disponível para o MySQL 8.0 e posterior, uma vez que a cache de consultas foi descontinuada a partir do MySQL 5.7.20 e removida no MySQL 8.0.

    Não
    query_cache_size integer
    0 223338299392

    Esta flag não está disponível para o MySQL 8.0 e posterior, uma vez que a cache de consultas foi descontinuada a partir do MySQL 5.7.20 e removida no MySQL 8.0.

    Não
    query_cache_type enumeration
    0 2

    Esta flag não está disponível para o MySQL 8.0 e posterior, uma vez que a cache de consultas foi descontinuada a partir do MySQL 5.7.20 e removida no MySQL 8.0.

    Sim
    query_cache_wlock_invalidate boolean
    on | off

    Esta flag não está disponível para o MySQL 8.0 e posterior, uma vez que a cache de consultas foi descontinuada a partir do MySQL 5.7.20 e removida 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 tem efeito para 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
    default: 32
    Não
    replica_checkpoint_group integer
    32 ... 524280
    A predefinição é 512.

    Esta flag não afeta as réplicas que não têm a funcionalidade de processamento múltiplo ativada.

    Não
    replica_checkpoint_period integer
    1 ... 4294967295
    A predefinição é 300.

    A unidade é milissegundos.

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

    A unidade é segundos.

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

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

    Não
    replica_parallel_workers integer

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

    Não
    replica_pending_jobs_size_max integer

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

    Não
    replica_preserve_commit_order boolean

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

    Não
    replica_skip_errors string
    Predefinição: OFF

    Para mais informações acerca desta indicação, consulte a secção Sugestões.

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

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

    Não
    replicate_do_table string

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

    Não
    replicate_ignore_db string

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

    Não
    replicate_ignore_table string

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

    Não
    replicate_wild_do_table string

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

    Não
    replicate_wild_ignore_table string

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

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

    Suportado apenas no MySQL 5.7.

    Não
    skip_character_set_client_handshake boolean
    on | off
    predefinição: off
    Sim
    skip_show_database flag
    on | off
    Sim
    slave_checkpoint_group integer
    32 ... 524280
    A predefinição é 512.

    Esta flag não afeta as réplicas que não têm a funcionalidade de processamento múltiplo ativada.

    Não
    slave_checkpoint_period integer
    1 ... 4294967295
    A predefinição é 300.

    A unidade é milissegundos.

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

    A unidade é segundos.

    Não
    slave_parallel_type enumeration
    DATABASE, LOGICAL_CLOCK
    Predefinição:
    MySQL 8.0.26 ou anterior: DATABASE
    MySQL 8.0.27 ou posterior: LOGICAL_CLOCK

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

    Não
    slave_parallel_workers integer

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

    Não
    slave_preserve_commit_order boolean

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

    Não
    slave_pending_jobs_size_max integer

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

    Não
    slave_skip_errors string
    Predefinição: OFF

    Para mais informações acerca desta indicação, consulte a secção Sugestões.

    Sim
    slave_sql_verify_checksum boolean
    on | off
    Não
    slave_transaction_retries integer
    0 ... 9223372036854775807
    Não
    slave_type_conversions string
    values: ALL_LOSSY, ALL_NON_LOSSY, ALL_SIGNED, ALL_UNSIGNED
    Não
    slow_launch_time Integer
    0 ... 31536000
    Predefinição: 2
    Não
    slow_query_log boolean
    on | off

    Consulte a secção Sugestões para obter mais informações sobre os registos de consultas lentas.

    Não
    sort_buffer_size integer
    32768 9223372036854775807
    Não
    source_verify_checksum boolean
    on | off
    Predefinição: off
    Não
    sql_mode string

    Consulte os modos SQL do servidor na documentação do MySQL para ver os valores permitidos, incluindo modos combinados, como ANSI. O elemento NO_DIR_IN_CREATE não é suportado.

    O Cloud SQL para MySQL não suporta valores vazios para a flag sql_mode. Em vez de usar um valor vazio, defina esta flag para o modo NO_ENGINE_SUBSTITUTION.

    Não
    sql_require_primary_key boolean
    on | off
    Predefinição: off
    Não
    sql_select_limit integer 0...18446744073709551615
    predefinição: 18446744073709551615

    Consulte a secção Sugestões para mais informações acerca desta indicação.

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

    A predefinição de 1 permite a sincronização do registo binário com o disco antes de as transações serem confirmadas.

    Se promover uma réplica com esta flag ativada, a flag é removida automaticamente, o que faz com que a réplica promovida tenha durabilidade total por predefinição. Para usar esta flag com uma réplica promovida, pode atualizar a flag para a réplica após a promoção.

    Consulte a secção Sugestões para mais informações acerca desta indicação.

    Não
    sync_master_info integer
    0 ... 4294967295
    Predefinição: 10000
    Não
    sync_relay_log integer
    0 ... 4294967295
    Predefinição: 10000
    Não
    sync_relay_log_info integer
    0 ... 4294967295
    Predefinição: 10000
    Não
    sync_source_info integer
    0 ... 4294967295
    Predefinição: 10000
    Não
    sysdate_is_now boolean
    on | off
    predefinição: off
    Sim
    table_definition_cache integer
    400 524288
    Não
    tablespace_definition_cache integer
    256 ... 524288
    Predefiniçã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
    Predefinição: 1073741824
    Não
    temptable_max_ram integer
    2097152 ... 68719476736
    Predefiniçã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 à versão 8.0.27: TLSv1, TLSv1.1
    Versão 8.0.28 ou posterior: TLSv1.2
    Versão 5.7: sim

    Versão 8.0 ou posterior: não
    tmp_table_size integer
    1024 67108864

    Consulte a secção Sugestões para mais informações acerca desta flag.

    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 obter informações sobre como usar esta flag e os respetivos valores aceitáveis, consulte o artigo Configurar a replicação paralela. Esta flag não é suportada no MySQL 8.4.

    Não
    unique_checks boolean
    on | off
    predefinição: on

    Consulte a secção Sugestões para mais informações acerca desta indicaçã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
    Predefinição: on
    Não

    Nomes dos fusos horários

    Nesta secção, vai saber mais sobre os nomes dos fusos horários suportados pelo Cloud SQL para MySQL.

    A tabela nesta secção apresenta o seguinte:

    • Nome do fuso horário: o nome que o Cloud SQL para MySQL suporta.
    • STD: a diferença de fuso horário na hora padrão (STD).
    • DST: a diferença do fuso horário no horário de verão (DST).
    • Nomes de sinónimos: os nomes dos fusos horários que pode querer usar, mas que não são suportados pelo Cloud SQL para MySQL. Se esta situação ocorrer, use o nome do 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 Africa/Addis_Ababa
    Africa/Asmera
    Africa/Dar_es_Salaam
    Africa/Djibouti
    Africa/Kampala
    Africa/Mogadishu
    Indian/Antananarivo
    Indian/Comoro
    Indian/Mayotte
    Africa/Tripoli +02:00 +02:00 Líbia
    África/Windhoek +02:00 +02:00
    America/Araguaina −03:00 −03:00
    America/Asuncion −04:00 −03:00
    America/Bogota −05:00 −05:00
    America/Buenos_Aires −03:00 −03:00 America/Argentina/Buenos_Aires
    America/Caracas −04:00 −04:00
    America/Chicago −06:00 −05:00
    America/Chihuahua −07:00 −06:00 America/Ojinaga
    America/Cuiaba −04:00 −04:00
    America/Denver −07:00 −06:00 America/Shiprock
    Navajo
    MST7MDT
    US/Mountain
    America/Detroit −05:00 −04:00
    America/Fortaleza −03:00 −03:00
    America/Guatemala −06:00 −06:00
    America/Halifax −04:00 −03:00 Canadá/Atlântico
    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 US/Arizona
    MST
    America/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
    America/Ensenada
    America/Santa_Isabel
    Asia/Amman +02:00 +03:00
    Asia/Ashgabat +05:00 +05:00 Asia/Ashkhabad
    Asia/Baghdad +03:00 +03:00
    Asia/Baku +04:00 +04:00
    Asia/Bangkok +07:00 +07:00 Asia/Phnom_Penh
    Asia/Vientiane
    Asia/Beirut +02:00 +03:00
    Asia/Calcutta +05:30 +05:30 Asia/Kolkata
    Asia/Damascus +02:00 +03:00
    Asia/Dhaka +06:00 +06:00 Asia/Dacca
    Ásia/Irkutsk +08:00 +08:00
    Asia/Jerusalem +02:00 +03:00 Asia/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
    Ásia/Krasnoyarsk +07:00 +07:00
    Ásia/Magadan +11:00 +11:00
    Asia/Muscat +04:00 +04:00 Asia/Dubai
    Ásia/Novosibirsk +07:00 +07:00
    Asia/Riyadh +03:00 +03:00 Asia/Kuwait
    Antarctica/Syowa
    Asia/Aden
    Asia/Seoul +09:00 +09:00 ROK
    Asia/Shanghai +08:00 +08:00 Asia/Chongqing
    Asia/Chungking
    Asia/Harbin
    PRC
    Asia/Singapore +08:00 +08:00 Singapura
    Asia/Taipei +08:00 +08:00 ROC
    Asia/Tehran +03:30 +04:30 Irão
    Asia/Tokyo +09:00 +09:00 Japão
    Asia/Ulaanbaatar +08:00 +08:00 Asia/Ulan_Bator
    Ásia/Vladivostoque +10:00 +10:00
    Ásia/Yakutsk +09:00 +09:00
    Asia/Yerevan +04:00 +04:00
    Atlantic/Azores −01:00 +00:00
    Austrália/Adelaide +09:30 +10:30 Austrália/Sul
    Austrália/Brisbane +10:00 +10:00 Austrália/Queensland
    Austrália/Darwin +09:30 +09:30 Australia/North
    Austrália/Hobart +10:00 +11:00 Australia/Currie
    Australia/Tasmania
    Austrália/Perth +08:00 +08:00 Australia/West
    Austrália/Sydney +10:00 +11:00 Australia/NSW
    Australia/ACT
    Australia/Canberra
    Brazil/East −03:00 −03:00 America/Sao_Paulo
    Canadá/Terra Nova −03:30 −02:30 America/St_Johns
    Canadá/Saskatchewan −06:00 −06:00 America/Regina
    Canadá/Yukon −07:00 −07:00 America/Whitehorse
    Europa/Amesterdão +01:00 +02:00
    Europe/Athens +02:00 +03:00
    Europa/Dublin +01:00 +00:00 Eire
    Europa/Helsínquia +02:00 +03:00 Europa/Mariehamn
    Europa/Istambul +03:00 +03:00 Turquia
    Asia/Istanbul
    Europa/Kaliningrado +02:00 +02:00
    Europa/Madrid +01:00 +02:00
    Europa/Moscovo +03:00 +03:00 W-SU
    Europa/Paris +01:00 +02:00 MET
    CET
    Europa/Praga +01:00 +02:00 Europa/Bratislava
    Europa/Sarajevo +01:00 +02:00 Europe/Belgrade
    Europe/Ljubljana
    Europe/Podgorica
    Europe/Skopje
    Europe/Zagreb
    Pacific/Auckland +12:00 +13:00 NZ
    Antarctica/McMurdo
    Antarctica/South_Pole
    Pacific/Fiji +12:00 +13:00
    Pacific/Guam +10:00 +10:00 Pacific/Saipan
    Pacific/Honolulu −10:00 −10:00 US/Hawaii
    Pacific/Johnston
    HST
    Pacific/Samoa −11:00 −11:00 Pacific/Pago_Pago
    US/Samoa
    US/Alaska −09:00 −08:00 America/Anchorage
    America/Juneau
    America/Metlakatla
    America/Nome
    America/Sitka
    America/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 America/Indiana/Indianapolis
    America/Indianapolis
    America/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

    As tabelas de fuso horário no Cloud SQL podem ter de ser atualizadas com os dados mais recentes. Por exemplo, um país pode mudar de um desvio de fuso horário da HVD para um desvio de fuso horário da HNP ou um país pode introduzir um novo fuso horário.

    Para cada lançamento de agente de serviço crítico (CSA) para o Cloud SQL, as tabelas de fuso horário são atualizadas com os dados mais recentes. Quando isto acontece, durante o período sem manutenção, as instâncias de réplica são atualizadas. As instâncias principais são, em seguida, atualizadas durante o período de manutenção.

    Pode aguardar até à janela de manutenção normal para a versão da CSA ou pode realizar a manutenção self-service para atualizar as tabelas de fusos horários com os dados mais recentes. Para mais informações sobre como ver as versões de manutenção disponíveis, consulte o artigo Determine a versão de manutenção de destino.

    Sugestões para trabalhar com sinalizações

    general_log, slow_query_log

    Para disponibilizar os registos general ou slow query, ative a sinalização correspondente e defina a sinalização log_output como FILE. Isto disponibiliza o resultado do registo através do Visualizador de registos na Google Cloud consola. Tenha em atenção que se aplicam custos de registo do Google Cloud Observability. Para minimizar o custo de armazenamento da instância, os registos general e slow query no disco da instância são rodados quando o ficheiro de registo tem mais de 24 horas (e não foram feitas alterações durante esse período) ou tem mais de 100 MB. Os ficheiros de registo antigos são eliminados automaticamente após a rotação.

    Se o log_output estiver definido como NONE, não pode aceder aos registos. Se definir log_output como TABLE, o resultado do registo é colocado numa tabela na base de dados do sistema mysql. Pode consumir uma quantidade considerável de espaço em disco. Se esta tabela ficar grande, pode afetar o tempo de reinício da instância ou fazer com que a instância perca a respetiva cobertura do SLA. Por este motivo, a opção TABLE não é recomendada. Além disso, o conteúdo do registo não está disponível no Explorador de registos e não é rodado. Se necessário, pode truncar as tabelas de registo através da API. Para mais informações, consulte a página de referência instances.truncateLog.

    expire_logs_days, binlog_expire_logs_seconds
    Se ativar a recuperação num ponto específico no tempo, o período de validade dos registos binários é determinado pelo menor dos períodos de retenção do registo de transações e os valores destas flags. Pode usar estas flags para gerir durante quanto tempo os registos binários são armazenados nas suas réplicas. A flag expire_logs_days é removida do MySQL 8.4 e posterior. Para mais informações, consulte a página retenção do registo de transações.
    innodb_buffer_pool_size

    O valor desta flag é o tamanho em bytes do conjunto de buffers. O tamanho do conjunto de buffers tem de ser sempre igual ou um múltiplo do valor que obtém quando multiplica innodb_buffer_pool_chunk_size por innodb_buffer_pool_instances. Se alterar o tamanho do conjunto de buffers para um valor que não seja igual ou um múltiplo de innodb_buffer_pool_chunk_size multiplicado por innodb_buffer_pool_instances, o Cloud SQL ajusta automaticamente o tamanho do conjunto de buffers. Não pode ativar esta flag em instâncias com menos de 3840 MiB de RAM.

    Não pode configurar esta flag para tipos de máquinas com núcleo partilhado (f1_micro e g1_small). A alteração desta flag no MySQL 5.6 requer um reinício.

    No Cloud SQL, os valores predefinidos, mínimos permitidos e máximos permitidos da flag innodb_buffer_pool_size dependem da memória da instância. Estes valores podem ser calculados aproximadamente como uma percentagem da RAM da instância. Por predefinição, o valor desta flag é normalmente definido próximo do valor máximo permitido. A percentagem de atribuição máxima permitida aumenta com o tamanho da instância. Normalmente, o valor mínimo permitido é cerca de 20% da RAM da instância.

    Valores aproximados para esta flag:

    Intervalo de RAM da instância% mínima% predefinida% máxima
    0 a 4 GB de RAMCerca de 34%
    4,0 GB - 7,5 GBCerca de 20%Cerca de 34%Cerca de 34%
    7,5 GB a 12 GBCerca de 20%~52%~52%
    12 GB a 24 GBCerca de 20%Cerca de 67%Cerca de 67%
    24 GB e superiorCerca de 20%~72%~72%

    Os valores exatos podem variar. Para calcular o valor atual da sua instância, pode executar a seguinte consulta:

      show global variables like 'innodb_buffer_pool_size';
      

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

    Tipo de máquina RAM da instância (GB) Min (GB)
    (% do total)
    Predefinição (GB)
    (% do total)
    Máximo (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_cloudsql_optimized_write
    Este parâmetro está disponível apenas para instâncias com a edição Cloud SQL Enterprise Plus. O valor predefinido é ON.

    Esta flag melhora o desempenho de escrita otimizando o algoritmo de descarga, controlando os limites de descarga e ajustando a atividade em segundo plano para dar prioridade às operações de escrita na base de dados.

    Para a maioria dos exemplos de utilização, pode ter um melhor desempenho, como um débito melhorado e uma latência reduzida, com esta flag ativada. No entanto, se as operações de escrita na base de dados causarem uma carga extremamente pesada no servidor, o indicador pode atrasar algumas atividades em segundo plano. Este atraso pode causar um pequeno aumento na utilização do disco, que diminui automaticamente após a diminuição da carga.

    Por predefinição, a flag innodb_cloudsql_optimized_write está ativada para todas as instâncias novas e atualizadas da edição Cloud SQL Enterprise Plus. Para as instâncias existentes da edição Cloud SQL Enterprise Plus, esta flag é ativada após a aplicação da atualização de manutenção relacionada.

    Se precisar de desativar a flag, execute o seguinte comando.

    gcloud sql instances patch INSTANCE_NAME \
     --database-flags="innodb_cloudsql_optimized_write=OFF"

    A alteração do valor da flag requer o reinício da instância.

    innodb_file_per_table

    Para todas as versões do MySQL 5.6 e posteriores, o valor predefinido é ON.

    innodb_flush_log_at_trx_commit, sync_binlog
    Para total conformidade com ACID e para manter a durabilidade e a consistência numa configuração de replicação, as flags innodb_flush_log_at_trx_commit e sync_binlog têm de ser definidas com o valor predefinido de 1. Se alterar o valor predefinido, a durabilidade pode diminuir, o que pode levar a inconsistências entre a instância principal e as réplicas. Por conseguinte, a instância perde a respetiva cobertura do SLA. Além disso, pode ocorrer qualquer uma das seguintes situações:
    • Perda de dados em determinadas situações, como uma falha de VM ou uma comutação por falha para uma instância de HA regional
    • Dados dessincronizados no registo binário e nos ficheiros de dados do InnoDB
    • Perda ou falha de dados PITR
    • Inconsistência de dados entre uma instância principal e as respetivas réplicas
    • Uma quebra de replicação

    Definir o valor do sinalizador innodb_flush_log_at_trx_commit ou sync_binlog para valores não predefinidos para instâncias principais, autónomas e de HA faz com que a durabilidade seja reduzida.

    Se precisar de um desempenho mais elevado para as réplicas de leitura, recomendamos que defina o valor de innodb_flush_log_at_trx_commit como 2. O Cloud SQL não suporta a definição do valor desta flag como 0. Se definir o valor do indicador como 2, tem de desativar o registo binário na réplica ou definir sync_binlog para um valor diferente de 1 para um desempenho superior.

    O Cloud SQL pode alterar temporariamente os valores das flags innodb_flush_log_at_trx_commit e sync_binlog para os predefinidos quando faz uma cópia de segurança. Isto pode causar uma redução do desempenho ao fazer cópias de segurança. Para evitar que isto afete a sua instância, pode alterar o período de cópia de segurança quando a utilização da instância for baixa. Para mais informações, consulte o artigo Crie e faça a gestão de cópias de segurança a pedido e automáticas.

    innodb_flush_log_at_timeout

    innodb_flush_log_at_timeout permite-lhe modificar a frequência de atualizações de páginas para evitar afetar o desempenho da confirmação do grupo de registos binários. A predefinição é uma vez por segundo.

    O Cloud SQL expandiu esta flag para suportar a especificação de um período em microssegundos.

    Exemplos:

    • 0.001 para especificar 1 ms
    • 0.0001 para especificar 100 us
    • 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, usar a granularidade de segundos inteiros para atualizar as páginas pode ser inaceitável em termos de potencial perda de transações. Em alternativa, pode limpar as páginas com uma granularidade de microssegundos para manter o desempenho sem comprometer significativamente a durabilidade.

    Os períodos de tempo em microssegundos para a flag innodb_flush_log_at_timeout só são aplicáveis quando a flag de durabilidade innodb_flush_log_at_trx_commit está definida como 2.

    A descarga de páginas pode ocorrer com uma frequência superior ou inferior à especificada para innodb_flush_log_at_timeout, e o valor não é o limite superior.

    innodb_redo_log_capacity, innodb_log_file_size

    Se configurar um valor para a flag innodb_redo_log_capacity innodb_log_file_size, o Cloud SQL ignora qualquer valor que defina para a flag innodb_log_file_size.

    Se não configurar nenhum valor para os sinalizadores innodb_redo_log_capacity ou innodb_log_file_size, o Cloud SQL usa o valor predefinido do sinalizador innodb_redo_log_capacity ou 104857600 (100 MB).

    Se não configurar a flag innodb_redo_log_capacity, mas configurar a flag innodb_log_file_size, o valor do tamanho do registo de repetição do InnoDB é calculado por innodb_log_file_size * innodb_log_file_in_group. Por exemplo, se configurar innodb_log_file_size para um valor de 10 GB e o valor predefinido de innodb_log_file_in_group for 2, o valor efetivo do tamanho do registo de repetição do InnoDB é de 20 GB.

    max_heap_table_size, tmp_table_size

    O esgotamento da memória da instância disponível pode ocorrer quando define tmp_table_size e max_heap_table_size demasiado elevados para o número de consultas simultâneas que a instância processa. O esgotamento da memória resulta numa falha de sistema e num reinício da instância.

    Para mais informações sobre como trabalhar com estas flags, consulte os artigos Como o MySQL usa tabelas temporárias internas e O motor de armazenamento MEMORY.

    performance_schema

    Não pode ativar esta flag em instâncias com um núcleo partilhado (menos de 3 GB de RAM). Se ativar esta flag, não pode alterar o tipo de máquina para um tamanho que não suporte a flag. Primeiro, tem de desativar esta flag.

    event_scheduler
    Os eventos do MySQL, também conhecidos como eventos agendados, são tarefas que pode agendar. Os eventos agendados são um grupo de uma ou mais declarações SQL definidas para serem executadas em um ou mais intervalos especificados. O valor predefinido para o MySQL 5.7 é OFF e o valor predefinido para o MySQL 8.0 é ON. Para saber mais sobre a flag event_scheduler, consulte event_scheduler. Se a flag event_scheduler estiver definida como ON para uma réplica de leitura, pode causar erros com base no tipo de declarações definidas nos eventos:
    • Se o seu evento agendado for um evento write numa réplica de leitura, causa um erro, uma vez que as réplicas de leitura são só de leitura. Consulte Réplicas de leitura para mais informações.
    • Se o evento agendado contiver uma operação de paragem, como kill, event_scheduler aplica-a à réplica. Isto para a replicação e elimina a réplica.
    Para evitar estes erros, defina a flag event_scheduler como OFF ao criar réplicas.

    Para mais informações sobre como ativar ou desativar event_scheduler, consulte o artigo Configure flags da base de dados.

    replica_skip_errors,slave_skip_errors
    A definição da flag replica_skip_errors ou slave_skip_errors pode causar problemas de replicação. Em geral, se ocorrer um erro durante a execução de uma declaração, a replicação é interrompida. A utilização desta flag faz com que o erro seja ignorado e a replicação continue, o que leva a inconsistências entre a instância principal e a réplica. Isto também pode dificultar a resolução de problemas de replicação.

    O Cloud SQL recomenda que use esta flag apenas se for necessário. Se tiver problemas de replicação, consulte o artigo Resolução de problemas do Cloud SQL: replicação para ver mais informações sobre como resolver este 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
    Não é possível selecionar estas flags diretamente na Google Cloud consola nem através da CLI gcloud. Para usar estas flags, use o seguinte comando:

    SET GLOBAL FLAG_NAME=FLAG_VALUE

    A utilização do comando SET GLOBAL requer o privilégio CLOUDSQL_SPECIAL_SYSEM_VARIABLES_ADMIN, que é concedido à função cloudsqlsuperuser.

    Para mais informações sobre como conceder acesso com privilégios especiais a um utilizador específico, consulte o artigo Acerca dos utilizadores do MySQL. Estas flags não são persistentes. Quando a instância do Cloud SQL é recriada ou reiniciada, as definições de flags são repostas para o valor predefinido.

    binlog_order_commits

    O valor predefinido para a flag binlog_order_commits é ON. O Cloud SQL recomenda que não altere o valor predefinido deste sinalizador. Se o valor predefinido for alterado para OFF, as transações no mesmo grupo de registo binário vão ser confirmadas numa ordem diferente daquela em que foram escritas no registo binário. Isto afeta as seguintes operações que executam transações na ordem do registo binário:

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

    optimizer_switch,optimizer_trace,optimizer_trace_features

    Os indicadores do otimizador têm valores separados por vírgulas. Pode definir estas flags através da consola ou do gcloud. Para mais informações sobre como definir esta flag através da consola, consulte o artigo Configure flags da base de dados. Se usar o gcloud, pode especificar o valor destas flags de duas formas diferentes:

    Para definir várias subflags do otimizador num comando, use o delimitador de vírgula para separar cada nome de flag. Se definir um único valor de sub-indicador através do comando gcloud, este substitui todos os sub-indicadores definidos anteriormente. Por exemplo, se executar o seguinte comando, o valor esperado para o subcomando batched_key_access é definido como on e todos os outros subcomandos para optimizer_flags são definidos com os respetivos valores predefinidos.
    gcloud sql instances patch my-instance --database-flags=^~^optimizer_switch=batched_key_access=on
    Se executar o seguinte comando, o valor da sub-flag block_nested_loop é definido como on e todas as outras sub-flags para optimizer_switch são substituídas e definidas com os respetivos valores predefinidos.
    gcloud sql instances patch my-instance --database-flags=^~^optimizer_switch=block_nested_loop=on
    Isto inclui batched_key_access, que foi definido como on pelo comando anterior. Para manter todas as subflags definidas anteriormente e adicionar novas, tem de adicionar os valores de todas as subflags que quer definir quando adicionar uma nova subflag.

    Flags do sistema alterados no Cloud SQL

    Todas as outras flags do sistema de base de dados que não estão listadas na secção flags suportadas são denominadas flags geridas. Para determinados flags geridos, o Cloud SQL define o flag para um valor diferente da definição predefinida para garantir que as instâncias do Cloud SQL são executadas de forma fiável. Não pode alterar os valores destas flags do sistema.

    As flags geridas com uma definição não predefinida são apresentadas abaixo.

    Nome da variável Definição no Cloud SQL. Notas
    binlog_format RDM Difere apenas no MySQL 5.6
    binlog_error_action ABORT_SERVER Difere apenas no MySQL 5.6
    innodb_doublewrite_pages 64 Aplica-se ao MySQL 8.0.26 e superior
    innodb_file_format Barracuda Difere apenas no MySQL 5.6
    innodb_flush_method O_DIRECT
    memlock verdadeiro
    skip_name_resolve ATIVADO
    relay_log_info_repository TABELA Removido no MySQL 8.4
    relay_log_recovery ATIVADO
    master_info_repository TABELA Removido no MySQL 8.4
    rpl_semi_sync_master_enabled 1
    rpl_semi_sync_master_timeout 3000
    admin_address 127.0.0.1 Difere no MySQL 8.0 e posteriores.
    create_admin_listener_thread ATIVADO
    port-open-timeout 120 Difere no MySQL 8.0 e posteriores.
    partial_revokes ATIVADO MySQL 8.0 e posterior. Para mais informações acerca desta flag, consulte o artigo Partial revokes system flag in MySQL 8.0.

    partial_revokes system flag no MySQL 8.0 e posterior

    A flag partial_revokes permite-lhe limitar o acesso dos utilizadores a um esquema de base de dados. No Cloud SQL para MySQL versão 8.0 e posterior, a flag partial_revokes está definida como ON. Isto limita a utilização de carateres universais ao conceder ou revogar privilégios de utilizador a esquemas de bases de dados no MySQL 8.0. Atualize a sua declaração para usar o nome completo do esquema da base de dados, em vez de usar carateres universais.GRANT

    Por exemplo, se usar o seguinte comando com o caráter universal %\ para conceder privilégios a um utilizador no MySQL 5.7, o utilizador recebe privilégios para todas as bases de dados que terminam com _foobar.

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

    No entanto, no MySQL 8.0, os utilizadores só recebem acesso à base de dados que corresponde exatamente a %\_foobar.

    Existem duas formas diferentes de conceder acesso a várias bases de dados no MySQL 8.0 e posterior.

    1. Pode conceder autorizações a bases de dados específicas usando os nomes completos das bases de dados, 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 o partial_revokes, pode usar o comando grant e revoke para conceder privilégios de utilizador em todos os esquemas da base de dados, ao mesmo tempo que restringe o acesso a alguns esquemas da base de dados.

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

      Isto concede acesso a todos os esquemas da base de dados, ao mesmo tempo que restringe 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 um único indicador para várias bases de dados em que cada nome da base de dados é separado por uma vírgula. Pode configurar um filtro de replicação numa réplica do Cloud SQL através da consola ou do 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 suportam nomes de bases de dados que contenham valores com vírgulas. O valor ^~^ no comando anterior é necessário para as flags da base de dados que são valores separados por vírgulas.

    Quando define uma flag de filtro de replicação, tenha em atenção o seguinte:

    • Se a réplica ficar em mau estado, os dados filtrados pelos filtros de replicação podem aparecer na réplica, uma vez que o Cloud SQL usa dados de origem da instância principal para reconstruir a réplica da instância.
    • Não pode definir filtros de replicação no esquema mysql.
    • As regras de filtro de replicação não se aplicam a exportações sem servidor.

    Sinalizadores de consultor de índice

    Segue-se uma lista de flags de base de dados que o Cloud SQL para MySQL usa para ativar e gerir funcionalidades específicas do Index Advisor.

    Nome da flag Tipo
    Valores aceitáveis e notas
    É necessário reiniciar o dispositivo
    ?
    cloudsql_index_advisor_auto_advisor_schedule string
    predefinição: 00:00
    Não
    cloudsql_index_advisor_run_at_timestamp Datetime
    predefinição: 00:00:00
    Não

    Sinalizações com alias

    A lista abaixo contém os nomes das flags que foram alterados pelo Cloud SQL para MySQL nas versões 8.0.26 e superiores.

    Nome do sinalizador descontinuado Nome do novo sinalizador
    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 sua instância do Cloud SQL estiver a usar um nome de flag descontinuado, edite a instância do Cloud SQL, elimine o nome de flag descontinuado e adicione a nova flag à sua instância. Para mais informações, consulte o artigo Configure uma flag de base de dados.

    Resolução de problemas

    Problema Resolução de problemas
    Depois de ativar uma flag, a instância entra num ciclo entre entrar em pânico e falhar. Contacte o apoio ao cliente para pedir a remoção da denúncia e, de seguida, apresentar um hard drain. Isto força o reinício da instância num anfitrião diferente com uma configuração nova sem o indicador ou a definição indesejável.
    É apresentada a mensagem de erro Bad syntax for dict arg quando tenta definir uma flag. Os valores de parâmetros complexos, como listas separadas por vírgulas, requerem um tratamento especial quando usados com comandos gcloud.

    O que se segue?