데이터베이스 플래그 구성

이 페이지에서는 Cloud SQL에 데이터베이스 플래그를 구성하는 방법을 설명하고 인스턴스에 설정할 수 있는 플래그를 알아봅니다. 데이터베이스 플래그는 MySQL 매개변수 조정, 옵션 조정, 인스턴스 구성 및 조정을 포함한 여러 작업에 사용합니다.

경우에 따라 한 플래그를 설정할 때 원하는 기능을 완전히 활성화하기 위해 다른 플래그를 설정해야 할 수도 있습니다. 예를 들어 느린 쿼리 로깅을 사용 설정하여 Google Cloud Console 로그 뷰어를 통해 로그를 보려면 slow_query_log 플래그를 on으로, log_output 플래그를 FILE로 설정해야 합니다.

데이터베이스 인스턴스의 플래그를 설정, 삭제, 수정하면 데이터베이스가 다시 시작될 수 있습니다. 플래그 값은 인스턴스를 삭제하기 전까지 유지됩니다. 인스턴스가 복제본의 소스인 경우 인스턴스의 현재 구성에 맞추어 복제본도 다시 시작됩니다.

데이터베이스 플래그 구성

데이터베이스 플래그 설정

Console

  1. Google Cloud Console에서 새 Cloud Console 프로젝트를 만들거나 프로젝트 이름을 선택하여 기존 프로젝트를 엽니다.
  2. 인스턴스를 열고 수정을 클릭합니다.
  3. 플래그 섹션까지 아래로 스크롤합니다.
  4. 이전에 인스턴스에 설정되지 않은 플래그를 설정하려면 항목 추가를 클릭하고 드롭다운 메뉴에서 플래그를 선택한 다음 값을 설정합니다.
  5. 저장을 클릭하여 변경사항을 저장합니다.
  6. 개요 페이지의 플래그에서 변경사항을 확인합니다.

gcloud

인스턴스를 수정합니다.

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

이 명령어는 이전에 설정한 모든 데이터베이스 플래그를 덮어씁니다. 이전에 설정된 플래그를 유지하고 새 플래그를 추가하려면 인스턴스에 설정하려는 모든 플래그의 값을 포함합니다. 명확하게 포함되지 않은 플래그는 기본값으로 설정됩니다. 값을 가지지 않는 플래그의 경우 플래그 이름 뒤에 등호('=')를 지정합니다.

예를 들어 general_log, skip_show_database, wait_timeout 플래그를 설정하려면 다음 명령어를 사용하면 됩니다.

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

REST v1beta4

기존 데이터베이스에 플래그를 설정하려면 다음 안내를 따르세요.

아래의 요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • project-id: 프로젝트 ID
  • instance-id: 인스턴스 ID

HTTP 메서드 및 URL:

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

JSON 요청 본문:

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

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 유사한 JSON 응답이 표시됩니다.

예를 들어 기존 데이터베이스에 general_log 플래그를 설정하려면 다음을 사용하세요.

아래의 요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • project-id: 프로젝트 ID
  • instance-id: 인스턴스 ID

HTTP 메서드 및 URL:

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

JSON 요청 본문:

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

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 유사한 JSON 응답이 표시됩니다.

데이터베이스에 기존에 구성된 플래그가 있는 경우 이전 명령어를 수정하여 해당 플래그를 포함할 수 있습니다. PATCH 명령어는 기존 플래그를 요청에 지정된 플래그로 덮어씁니다.

모든 플래그를 기본값으로 지정

Console

  1. Google Cloud Console에서 새 Cloud Console 프로젝트를 만들거나 프로젝트 이름을 선택하여 기존 프로젝트를 엽니다.
  2. 인스턴스를 열고 수정을 클릭합니다.
  3. 데이터베이스 플래그 섹션을 엽니다.
  4. 표시된 모든 플래그 옆에 있는 X를 클릭합니다.
  5. 저장을 클릭하여 변경사항을 저장합니다.

gcloud

인스턴스의 모든 플래그를 기본값으로 지정합니다.

gcloud sql instances patch [INSTANCE_NAME] --clear-database-flags

인스턴스를 다시 시작할지 묻는 메시지가 표시됩니다.

REST v1beta4

기존 인스턴스의 모든 플래그를 삭제하려면 다음을 사용합니다.

아래의 요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • project-id: 프로젝트 ID
  • instance-id: 인스턴스 ID

HTTP 메서드 및 URL:

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

JSON 요청 본문:

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

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 유사한 JSON 응답이 표시됩니다.

데이터베이스 플래그의 현재 값 보기

MySQL 시스템 변수의 모든 현재 값을 보려면 mysql 클라이언트에서 인스턴스에 로그인하고 다음 문을 입력합니다.

 SHOW VARIABLES;

지원되는 플래그(아래 참조)의 값만 변경할 수 있습니다.

인스턴스에 설정된 데이터베이스 플래그 확인

Cloud SQL 인스턴스에 설정된 플래그를 확인하려면 다음 안내를 따르세요.

Console

  1. Google Cloud Console에서 새 Cloud Console 프로젝트를 만들거나 프로젝트 이름을 선택하여 기존 프로젝트를 엽니다.
  2. 인스턴스를 선택하여 인스턴스 개요 페이지를 엽니다.

    데이터베이스 플래그 섹션에 설정된 데이터베이스 플래그가 나열됩니다.

gcloud

인스턴스 상태를 가져옵니다.

gcloud sql instances describe [INSTANCE_NAME]

출력에서 데이터베이스 플래그는 databaseFlags 컬렉션으로 settings 아래에 나열됩니다. 출력에서 플래그 표시에 대한 자세한 내용은 인스턴스 리소스 표시를 참조하세요.

REST v1beta4

인스턴스에 구성된 플래그를 나열하려면 다음을 사용합니다.

아래의 요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • project-id: 프로젝트 ID
  • instance-id: 인스턴스 ID

HTTP 메서드 및 URL:

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

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 유사한 JSON 응답이 표시됩니다.

출력에서 databaseFlags 필드를 확인합니다.

지원되는 플래그

Cloud SQL에서 지원되는 플래그는 MySQL에 가장 많이 요청되는 플래그입니다.

특정 플래그의 경우 Cloud SQL은 MySQL과는 다른 범위의 매개변수 또는 옵션을 지원합니다.

플래그는 명시된 경우를 제외하고는 Cloud SQL에서 지원하는 모든 버전의 MySQL에 적용됩니다.

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

Cloud SQL 플래그 유형
허용 값 및 참고사항
다시 시작
필요 여부
베타
버전 여부
activate_all_roles_on_login boolean
on | off
기본값: off
아니요 아니요
auto_increment_increment integer
1 ... 65535
아니요 아니요
auto_increment_offset integer
1 ... 65535
아니요 아니요
binlog_cache_size integer
4096 ... 9223372036854775807
아니요 아니요
binlog_row_image enumeration
full(기본값), minimal 또는 noblob
아니요 아니요
binlog_stmt_cache_size 4096 ... 9223372036854775807 아니요 아니요
character_set_server string
utf8 또는 utf8mb4 (권장)
아니요
default_password_lifetime integer 0...65535
기본값: 0
아니요 아니요
default_time_zone string
값을 -12:59에서 +13:00까지의 시간대 오프셋으로 지정합니다. 앞에 0이 와야 합니다.

예를 들어 런던은 UTC 시간대이며, 이는 이 플래그에 지원되는 값에서 +00:00입니다. 'Europe/London'과 같은 이름이 있는 영역은 Cloud SQL에서 지원되지 않습니다.

아니요
disconnect_on_expired_password boolean on | off
기본값: on
아니요
eq_range_index_dive_limit integer
0 ... 2147483647
아니요 아니요
event_scheduler boolean
on | off

이벤트 스케줄러를 사용하는 경우 활성화 정책이 ALWAYS인 인스턴스를 구성하여 예약된 이벤트가 실행되도록 합니다.

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

일반 로그에 대한 자세한 내용은 도움말 섹션을 참조하세요.

아니요 아니요
generated_random_password_length integer 5-255
기본값: 20
아니요 아니요
group_concat_max_len integer
4 ... 17179869184
아니요 아니요
init_connect string 아니요 아니요
innodb_adaptive_hash_index boolean
on | off
아니요 아니요
innodb_adaptive_hash_index_parts integer
1 ... 512
아니요
innodb_adaptive_max_sleep_delay integer
0 ... 1000000
아니요 아니요
innodb_autoinc_lock_mode integer
0 ... 2
아니요
innodb_change_buffer_max_size integer
0 ... 50
아니요 아니요
innodb_concurrency_tickets integer
1 ... 4294967295
아니요 아니요
innodb_file_per_table boolean
on | off

이 플래그에 대한 자세한 내용은 도움말 섹션을 참조하세요.

아니요 아니요
innodb_fill_factor integer
10 ... 100
아니요 아니요
innodb_ft_cache_size integer
1600000 ... 80000000
아니요
innodb_ft_enable_diag_print boolean
on | off
아니요 아니요
innodb_ft_enable_stopword boolean
on | off
아니요 아니요
innodb_ft_max_token_size integer
10 ... 252

MySQL 5.6 이상 버전에서만 지원됩니다.

아니요
innodb_ft_min_token_size integer
0 ... 16

MySQL 5.6 이상 버전에서만 지원됩니다.

아니요
innodb_ft_num_word_optimize integer
1000 ... 10000
아니요 아니요
innodb_ft_result_cache_limit integer
1000000 ... 4294967295
아니요 아니요
innodb_ft_server_stopword_table string

MySQL 5.6 이상 버전에서만 지원됩니다.

아니요 아니요
innodb_ft_sort_pll_degree integer
1 ... 32
아니요
innodb_ft_total_cache_size integer
32000000 ... 1600000000
아니요
innodb_ft_user_stopword_table string 아니요 아니요
innodb_large_prefix boolean
on | off

MySQL 5.6에서만 지원됩니다.

아니요 아니요
innodb_lock_wait_timeout integer
1 ... 1073741824
아니요 아니요
innodb_log_buffer_size integer
262144 ... 4294967295
아니요
innodb_log_file_size integer
MySQL 5.6: 1048576 ... 274877906944
MySQL 5.7: 4194304 ... 274877906944
아니요
innodb_lru_scan_depth integer
100 ... 9223372036854775807
아니요 아니요
innodb_old_blocks_pct integer
5 ... 95
아니요 아니요
innodb_old_blocks_time integer
0 ... 4294967295
아니요 아니요
innodb_online_alter_log_max_size integer
65536 ... 9223372036854775807
아니요 아니요
innodb_optimize_fulltext_only boolean
on | off
아니요 아니요
innodb_print_all_deadlocks boolean
on | off
아니요 아니요
innodb_random_read_ahead boolean
on | off
아니요 아니요
innodb_read_ahead_threshold integer
0 ... 64
아니요 아니요
innodb_read_io_threads integer
1 ... 64
아니요
innodb_replication_delay integer
0 ... 4294967295
아니요 아니요
innodb_rollback_on_timeout boolean
on | off
아니요
innodb_rollback_segments integer
1 ... 128
아니요 아니요
innodb_sort_buffer_size integer
65536 ... 67108864
아니요
innodb_stats_auto_recalc boolean
on | off
아니요 아니요
innodb_stats_method enumeration
nulls_equal | nulls_unequal | nulls_ignored
아니요 아니요
innodb_stats_on_metadata boolean
on | off
아니요 아니요
innodb_stats_persistent boolean
on | off
아니요 아니요
innodb_stats_persistent_sample_pages integer
1 ... 9223372036854775807
아니요 아니요
innodb_stats_sample_pages integer
1 ... 9223372036854775807
아니요 아니요
innodb_stats_transient_sample_pages integer
1 ... 9223372036854775807
아니요 아니요
innodb_status_output boolean
on | off
아니요 아니요
innodb_status_output_locks boolean
on | off
아니요 아니요
innodb_strict_mode boolean
on | off
아니요 아니요
innodb_thread_concurrency integer
0 ... 1000
아니요 아니요
innodb_thread_sleep_delay integer
0 ... 1000000
아니요 아니요
innodb_write_io_threads integer
1 ... 64
아니요
interactive_timeout integer
1 ... 31536000
아니요 아니요
join_buffer_size integer
128 ... 9223372036854775807
아니요 아니요
local_infile boolean
on | off
아니요 아니요
lock_wait_timeout integer
1 ... 31536000
아니요 아니요
log_bin_trust_function_creators boolean
on | off
아니요 아니요
log_output set
FILE | TABLE | NONE
아니요 아니요
log_queries_not_using_indexes boolean
on | off
아니요 아니요
log_throttle_queries_not_using_indexes integer
0 ... 9223372036854775807
아니요 아니요
long_query_time float
0 ... 30000000

Cloud SQL에서는 필요한 경우 이 플래그를 1 미만으로 설정할 수 있습니다.

log_queries_not_using_indexes 플래그도 사용 설정된 경우 여기에 지정된 시간보다 짧은 쿼리가 표시될 수 있습니다.

아니요 아니요
lower_case_table_names integer
0 또는 1

대부분의 경우 테이블 및 데이터베이스 이름의 대소문자를 구분하기 위해 기본값인 0을 사용합니다. 이 플래그 값을 변경해야 하는 경우 변경사항이 기존 테이블 및 데이터베이스에 미치는 영향을 이해하고 있어야 합니다. 이 플래그는 Cloud SQL용 MySQL 8에서 지원되지 않습니다.

아니요
mandatory_roles string role name
기본값: empty string
아니요 아니요
max_allowed_packet integer
16384 ... 1073741824

sql_mode=TRADITIONAL 또는 sql_mode=STRICT_ALL_TABLES인 경우 이 값은 1024의 배수여야 합니다.

아니요 아니요
max_binlog_size integer
4096 ... 1073741824
아니요 아니요
max_connections integer
25 ... 100000
아니요 아니요
max_digest_length integer
0 ... 1048576
아니요
max_execution_time integer
0 ... 9223372036854775807
아니요 아니요
max_heap_table_size integer
16384 ... 67108864

이 플래그에 대한 자세한 내용은 섹션을 참조하세요.

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

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_accounts_size integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_digests_size integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_events_stages_history_long_size integer
-1 ... 1048576
아니요
performance_schema_events_stages_history_size integer
-1 ... 1024

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_events_statements_history_long_size integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_events_statements_history_size integer
-1 ... 1024

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_events_transactions_history_long_size integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_events_transactions_history_size integer
-1 ... 1024

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_events_waits_history_long_size integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_events_waits_history_size integer
-1 ... 1024

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_hosts_size integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_cond_classes integer
0 ... 256

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_cond_instances integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_digest_length integer
0 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_file_classes integer
0 ... 256

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_file_handles integer
0 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_file_instances integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_index_stat integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_memory_classes integer
0 ... 1024

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_metadata_locks integer
-1 ... 104857600

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_mutex_classes integer
0 ... 256

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_mutex_instances integer
-1 ... 104857600

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_prepared_statements_instances integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_program_instances integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_rwlock_classes integer
0 ... 256

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_rwlock_instances integer
-1 ... 104857600

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_socket_classes integer
0 ... 256

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_socket_instances integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_sql_text_length integer
0 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_stage_classes integer
0 ... 256

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_statement_classes integer
0 ... 256

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_statement_stack integer
1 ... 256

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_table_handles integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_table_instances integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_table_lock_stat integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_thread_classes integer
0 ... 256

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_max_thread_instances integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_session_connect_attrs_size integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_setup_actors_size integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_setup_objects_size integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
performance_schema_users_size integer
-1 ... 1048576

performance_schema 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
query_alloc_block_size integer
1024 ... 4294967295
아니요 아니요
query_cache_limit integer
0 ... 223338299392
아니요 아니요
query_cache_min_res_unit integer
0 ... 9223372036854775807
아니요 아니요
query_cache_size integer
0 ... 223338299392

이 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요 아니요
query_cache_type enumeration
0 ... 2

이 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요
query_cache_wlock_invalidate boolean
on | off
아니요 아니요
query_prealloc_size integer
8192 ... 9223372036854775807
아니요 아니요
range_alloc_block_size integer
4096 ... 4294967295
아니요 아니요
range_optimizer_max_mem_size integer
0 ... 9223372036854775807
아니요 아니요
read_buffer_size integer
8192 ... 2147483647
아니요 아니요
read_only boolean
on | off

복제본에 영향을 주지 않습니다.

아니요 아니요
read_rnd_buffer_size integer
1 ... 2147483647
아니요 아니요
show_compatibility_56 boolean
on | off

MySQL 5.7에서만 지원됩니다.

아니요 아니요
skip_show_database flag
on | off
아니요
slow_query_log integer
0 | 1

느린 쿼리 로그에 대한 자세한 내용은 섹션을 참조하세요.

아니요 아니요
sort_buffer_size integer
32768 ... 9223372036854775807
아니요 아니요
sql_mode string

ANSI와 같은 결합 모드를 포함하여 허용되는 값에 대한 자세한 내용은 MySQL 문서의 서버 SQL 모드를 참조하세요. NO_DIR_IN_CREATE는 지원되지 않습니다.

아니요 아니요
stored_program_cache integer
16 ... 524288
아니요 아니요
sync_binlog integer
0 ... 4294967295

MySQL 5.7 및 8.0과 복제본 인스턴스에서만 지원됩니다. 이 플래그를 사용하는 복제본이 승격되면 플래그가 삭제됩니다. 독립형 기본 인스턴스에서는 지원되지 않습니다.

  • 0 = 디스크에 대한 바이너리 로그 동기화를 사용 중지합니다.
  • 1(기본값) = 트랜잭션이 커밋되기 전에 디스크에 대한 바이너리 로그 동기화를 사용 설정합니다. 더 안전한 설정이지만 디스크 쓰기 수가 증가하여 성능에 부정적인 영향을 미칠 수 있습니다.
  • N = 여기서 N은 0 또는 1이 아닌 값입니다. N 바이너리 로그 커밋 그룹이 수집된 후에 바이너리 로그가 디스크에 동기화됩니다. 이 설정은 디스크 쓰기 수가 증가하여 성능에 부정적인 영향을 미칠 수 있습니다. 값이 클수록 성능이 개선되지만 데이터가 손실될 위험이 커집니다.
아니요 아니요
table_definition_cache integer
400 ... 524288
아니요 아니요
table_open_cache integer
1 ... 524288
아니요 아니요
table_open_cache_instances integer
1 ... 64
아니요
thread_cache_size integer
0 ... 16384
아니요 아니요
thread_stack integer
131072 ... 9223372036854775807
아니요
tmp_table_size integer
1024 ... 67108864

이 플래그에 대한 자세한 내용은 섹션을 참조하세요.

아니요 아니요
transaction_alloc_block_size integer
1024 ... 131072
아니요 아니요
transaction_isolation enumeration
READ-UNCOMMITTED | READ-COMMITTED | REPEATABLE-READ | SERIALIZABLE
아니요
transaction_prealloc_size integer
1024 ... 131072
아니요 아니요
updatable_views_with_limit integer
0 ... 1
아니요 아니요
wait_timeout integer
1 ... 31536000
아니요 아니요

플래그 작업 도움말

general_log, slow_query_log

general 또는 slow query 로그를 사용하려면 해당 플래그를 사용 설정하고 log_output 플래그를 FILE로 설정합니다. 이렇게 하면 Google Cloud Console의 로그 뷰어를 사용하여 로그를 출력할 수 있습니다. Google Cloud의 작업 제품군 로깅 요금이 적용됩니다. 인스턴스 스토리지 비용을 최소화하기 위해 로그 파일이 24시간 이상이거나 100MB보다 크면 인스턴스 디스크의 generalslow query 로그가 순환되며, 이전 로그 파일은 순환 후에 자동으로 삭제됩니다.

log_outputNONE으로 설정된 경우 로그에 액세스할 수 없습니다. log_outputTABLE로 설정하면 로그 출력이 데이터베이스의 테이블에 표시됩니다. 이 테이블이 커지면 인스턴스 재시작 시간에 영향을 주거나 인스턴스에 SLA가 적용되지 않을 수 있습니다. 이러한 이유로 TABLE 옵션은 권장되지 않습니다. 필요한 경우 API를 사용하여 로그 테이블을 자를 수 있습니다. 자세한 내용은 instances.truncateLog 참조 페이지를 확인하세요.

innodb_file_per_table

모든 MySQL 버전 5.6 이상에서 기본값은 ON입니다.

max_heap_table_size, tmp_table_size

tmp_table_sizemax_heap_table_size를 인스턴스가 처리하는 동시 실행 쿼리 수보다 너무 높게 설정하면 사용 가능한 인스턴스 메모리가 소진될 수 있습니다. 메모리가 소진되면 인스턴스가 비정상적으로 종료되며 다시 시작됩니다.

이러한 플래그의 일부 값으로 인해 인스턴스에 SLA가 적용되지 않을 수 있습니다. 자세히 알아보기 이러한 플래그의 사용 방법에 대한 자세한 내용은 MySQL의 내부 임시 테이블 사용법MEMORY 스토리지 엔진을 참조하세요.

performance_schema*

이 플래그 값을 변경하려면 API를 사용해야 합니다. db-n1-standard-8 또는 db-n1-highmem-4보다 등급 크기가 작은 인스턴스에는 사용 설정할 수 없습니다. 이 플래그가 사용 설정되면 이 플래그를 지원하지 않는 크기로 등급을 변경할 수 없습니다. 변경하려면 먼저 이 플래그를 사용 중지해야 합니다.

query_cache_size, query_cache_type

이러한 플래그의 일부 값으로 인해 인스턴스에 SLA가 적용되지 않을 수 있습니다. 자세히 알아보기

Cloud SQL에서 관리하는 플래그

Cloud SQL은 인스턴스 등급에 따라 특정 시스템 플래그를 조정합니다. 이 값은 조정할 수 없습니다.

Cloud SQL 플래그 값 및 메모
innodb_buffer_pool_instances 이 플래그에 대한 자세한 내용은 아래의 버퍼 풀 인스턴스 섹션을 참조하세요.
innodb_buffer_pool_size 이 플래그에 대한 자세한 내용은 아래의 버퍼 풀 크기 섹션을 참조하세요.
innodb_buffer_pool_instances
  • f1-micro, g1-small, n1-standard-1은 1개
  • n1-standard-2는 2개
  • n1-standard-4 및 n1-highmem-2는 4개
  • 다른 모든 등급은 8개

innodb_buffer_pool_size

대략적인 크기입니다.

  • f1-micro, g1-small, n1-standard-1은 1.5GB 이하
  • n1-standard-2는 4GB 이하
  • n1-standard-4는 11GB 이하
  • n1-standard-8은 22GB 이하
  • n1-standard-16은 46GB 이하
  • n1-standard-32는 92GB 이하
  • n1-standard-64는 186GB 이하
  • n1-highmem-2는 10GB 이하
  • n1-highmem-4는 20GB 이하
  • n1-highmem-8은 40GB 이하
  • n1-highmem-16은 80GB 이하
  • n1-highmem-32는 160GB 이하
  • n1-highmem-64는 320GB 이하

문제해결

자세한 내용을 보려면 표의 링크를 클릭하세요.

문제 설명 문제 원인 해결 방법
문자 집합 utf8mb4가 있는 데이터 이 문자 집합은 지원되지 않습니다. 데이터에서 utf8mb4 문자열을 필터링하세요.
플래그를 사용 설정하면 인스턴스가 비정상 종료됩니다. max_connections 플래그 값이 너무 높게 설정되었을 수 있습니다. 고객 지원팀에 문의하여 플래그 삭제를 요청하세요.
performance_schema 플래그를 추가할 수 없음 인스턴스 크기가 너무 작음 더 큰 인스턴스로 업데이트하세요.
시간대가 자동으로 변경되지 않습니다. 자동 시간대 변경은 지원되지 않습니다. 시간은 수동으로 변경해야 합니다. 자세히 알아보기
Bad syntax for dict arg. 복잡한 매개변수 값을 특수 처리해야 합니다. 자세히 알아보기

문자 집합 utf8mb4가 있는 데이터

문자 집합 utf8mb4가 있는 데이터를 가져올 수 없습니다.

문제 원인

문자 집합 utf8mb4는 이전 매뉴얼에 지원된다고 나와 있었지만 지금은 지원되지 않습니다.

해결 방법

데이터에서 utf8mb4 문자열을 필터링합니다.


플래그를 사용 설정하면 인스턴스가 비정상 종료됨

플래그를 사용 설정한 후 인스턴스가 공황과 비정상 종료 간에 순환됩니다.

문제 원인

max_connections 플래그 값을 너무 높게 설정하면 이 오류가 발생합니다.

해결 방법

고객지원에 연락하여 플래그 삭제 후 hard drain을 요청합니다. 이렇게 하면 원하지 않는 플래그 또는 설정 없이 새 구성으로 인스턴스가 다른 호스트에서 강제로 다시 시작됩니다.


performance_schema 플래그를 추가할 수 없음

지원되는 플래그의 드롭다운 메뉴에 없어서 performance_schema 플래그를 추가할 수 없습니다.

문제 원인

performance_schema 및 그 변형(performance_schema_accounts_size, performance_schema_accounts_size 등)은 db-n1-standard-8 또는 db-n1-highmem-4보다 작은 인스턴스에서는 사용 설정할 수 없습니다.

해결 방법

이 플래그를 사용해야 하는 경우 인스턴스를 수정하여 더 큰 크기로 업그레이드하세요.


시간대가 자동으로 변경되지 않음

시간대가 일광 절약 시간에 맞추어 자동으로 변경되지 않았습니다.

문제 원인

Cloud SQL에서는 자동 시간대 변경이 지원되지 않으며 문자열이 아니라 시간대 오프셋 값을 이용해 수동으로 변경해야 합니다.

해결 방법

인스턴스를 수정하여 default_time_zone 플래그를 변경합니다. 이름이 지정된 영역은 지원되지 않습니다. 예를 들어 Europe/London런던은 UTC 시간대이며 default_time_zone 플래그에 지원되는 +00:00 값입니다.


dict argument의 잘못된 구문

플래그를 설정하려고 하면 오류 메시지 Bad syntax for dict arg가 표시됩니다.

문제 원인

쉼표로 구분된 목록과 같은 복잡한 매개변수 값은 gcloud 명령어에 사용할 때 특수 처리되어야 합니다.

해결 방법

복잡한 플래그 값에 유용한 --flag:value 사전이 포함된 YAML 또는 JSON 파일을 지정하는 gcloud --flags-file 매개변수를 사용합니다.

다음 단계