이 페이지에서는 Cloud SQL에 데이터베이스 플래그를 구성하는 방법을 설명하고 인스턴스에 설정할 수 있는 플래그를 알아봅니다. 데이터베이스 플래그는 MySQL 매개변수 조정, 옵션 조정, 인스턴스 구성 및 조정을 포함한 여러 작업에 사용합니다.
경우에 따라 한 플래그를 설정할 때 원하는 기능을 완전히 활성화하기 위해 다른 플래그를 설정해야 할 수도 있습니다. 예를 들어 느린 쿼리 로깅을 사용 설정하여 Google Cloud 콘솔 로그 탐색기를 통해 로그를 보려면 slow_query_log
플래그를 on
으로, log_output
플래그를 FILE
로 설정해야 합니다.
데이터베이스 인스턴스의 플래그를 설정, 삭제, 수정하면 데이터베이스가 다시 시작될 수 있습니다. 플래그 값은 인스턴스를 삭제하기 전까지 유지됩니다. 인스턴스가 복제본의 소스이며 인스턴스를 다시 시작하는 경우 복제본은 인스턴스의 현재 구성에 맞게 다시 시작됩니다.
데이터베이스 플래그 구성
데이터베이스 플래그 설정
콘솔
- Google Cloud 콘솔에서 데이터베이스 플래그를 설정할 Cloud SQL 인스턴스가 포함된 프로젝트를 선택합니다.
- 인스턴스를 열고 수정을 클릭합니다.
- 플래그 섹션까지 아래로 스크롤합니다.
- 이전에 인스턴스에 설정되지 않은 플래그를 설정하려면 항목 추가를 클릭하고 드롭다운 메뉴에서 플래그를 선택한 다음 값을 설정합니다.
- 저장을 클릭하여 변경사항을 저장합니다.
- 개요 페이지의 플래그에서 변경사항을 확인합니다.
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
Terraform
데이터베이스 플래그를 추가하려면 Terraform 리소스를 사용합니다.
변경사항 적용
Google Cloud 프로젝트에 Terraform 구성을 적용하려면 다음 섹션의 단계를 완료하세요.
Cloud Shell 준비
- Cloud Shell을 실행합니다.
-
Terraform 구성을 적용할 기본 Google Cloud 프로젝트를 설정합니다.
이 명령어는 프로젝트당 한 번만 실행하면 되며 어떤 디렉터리에서도 실행할 수 있습니다.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Terraform 구성 파일에서 명시적 값을 설정하면 환경 변수가 재정의됩니다.
디렉터리 준비
각 Terraform 구성 파일에는 자체 디렉터리(루트 모듈이라고도 함)가 있어야 합니다.
-
Cloud Shell에서 디렉터리를 만들고 해당 디렉터리 내에 새 파일을 만드세요. 파일 이름에는
.tf
확장자가 있어야 합니다(예:main.tf
). 이 튜토리얼에서는 파일을main.tf
라고 합니다.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
튜토리얼을 따라 하는 경우 각 섹션이나 단계에서 샘플 코드를 복사할 수 있습니다.
샘플 코드를 새로 만든
main.tf
에 복사합니다.필요한 경우 GitHub에서 코드를 복사합니다. 이는 Terraform 스니펫이 엔드 투 엔드 솔루션의 일부인 경우에 권장됩니다.
- 환경에 적용할 샘플 매개변수를 검토하고 수정합니다.
- 변경사항을 저장합니다.
-
Terraform을 초기화합니다. 이 작업은 디렉터리당 한 번만 수행하면 됩니다.
terraform init
원하는 경우 최신 Google 공급업체 버전을 사용하려면
-upgrade
옵션을 포함합니다.terraform init -upgrade
변경사항 적용
-
구성을 검토하고 Terraform에서 만들거나 업데이트할 리소스가 예상과 일치하는지 확인합니다.
terraform plan
필요에 따라 구성을 수정합니다.
-
다음 명령어를 실행하고 프롬프트에
yes
를 입력하여 Terraform 구성을 적용합니다.terraform apply
Terraform에 '적용 완료' 메시지가 표시될 때까지 기다립니다.
- 결과를 보려면 Google Cloud 프로젝트를 엽니다. Google Cloud 콘솔에서 UI의 리소스로 이동하여 Terraform이 리소스를 만들었거나 업데이트했는지 확인합니다.
변경사항 삭제
변경사항을 삭제하려면 다음 단계를 따르세요.
- Terraform 구성 파일에서 삭제 보호를 사용 중지하려면
deletion_protection
인수를false
로 설정합니다.deletion_protection = "false"
- 다음 명령어를 실행하고 프롬프트에
yes
를 입력하여 업데이트된 Terraform 구성을 적용합니다.terraform apply
-
다음 명령어를 실행하고 프롬프트에
yes
를 입력하여 이전에 Terraform 구성에 적용된 리소스를 삭제합니다.terraform destroy
REST v1
기존 데이터베이스에 플래그를 설정하려면 다음 안내를 따르세요.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-id: 인스턴스 ID
HTTP 메서드 및 URL:
PATCH https://sqladmin.googleapis.com/v1/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://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
JSON 요청 본문:
{ "settings": { "databaseFlags": [ { "name": "general_log", "value": "on" } ] } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
데이터베이스에 기존에 구성된 플래그가 있는 경우 이전 명령어를 수정하여 해당 플래그를 포함할 수 있습니다. PATCH
명령어는 기존 플래그를 요청에 지정된 플래그로 덮어씁니다.
REST v1beta4
기존 데이터베이스에 플래그를 설정하려면 다음 안내를 따르세요.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-id: 인스턴스 ID
HTTP 메서드 및 URL:
PATCH https://sqladmin.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://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
JSON 요청 본문:
{ "settings": { "databaseFlags": [ { "name": "general_log", "value": "on" } ] } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
데이터베이스에 기존에 구성된 플래그가 있는 경우 이전 명령어를 수정하여 해당 플래그를 포함할 수 있습니다. PATCH
명령어는 기존 플래그를 요청에 지정된 플래그로 덮어씁니다.
모든 플래그를 삭제해 기본값으로 지정
콘솔
- Google Cloud 콘솔에서 모든 플래그를 삭제하려는 Cloud SQL 인스턴스가 포함된 프로젝트를 선택합니다.
- 인스턴스를 열고 수정을 클릭합니다.
- 데이터베이스 플래그 섹션을 엽니다.
- 표시된 모든 플래그 옆에 있는 X를 클릭합니다.
- 저장을 클릭하여 변경사항을 저장합니다.
gcloud
인스턴스의 모든 플래그를 기본값으로 지정합니다.
gcloud sql instances patch INSTANCE_NAME \ --clear-database-flags
인스턴스를 다시 시작할지 묻는 메시지가 표시됩니다.
REST v1
기존 인스턴스의 모든 플래그를 삭제하려면 다음을 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-id: 인스턴스 ID
HTTP 메서드 및 URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
JSON 요청 본문:
{ "settings": { "databaseFlags": [] } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
REST v1beta4
기존 인스턴스의 모든 플래그를 삭제하려면 다음을 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-id: 인스턴스 ID
HTTP 메서드 및 URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
JSON 요청 본문:
{ "settings": { "databaseFlags": [] } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
데이터베이스 플래그의 현재 값 보기
MySQL 시스템 변수의 모든 현재 값을 보려면mysql
클라이언트에서 인스턴스에 로그인하고 다음 문을 입력합니다.
SHOW VARIABLES;
지원되는 플래그(아래 참조)의 값만 변경할 수 있습니다.
인스턴스에 설정된 데이터베이스 플래그 확인
Cloud SQL 인스턴스에 설정된 플래그를 확인하려면 다음 안내를 따르세요.
콘솔
- Google Cloud 콘솔에서 설정된 데이터베이스 플래그를 확인할 Cloud SQL 인스턴스가 포함된 프로젝트를 선택합니다.
- 인스턴스를 선택하여 인스턴스 개요 페이지를 엽니다.
데이터베이스 플래그 섹션에 설정된 데이터베이스 플래그가 나열됩니다.
gcloud
인스턴스 상태를 가져옵니다.
gcloud sql instances describe INSTANCE_NAME
출력에서 데이터베이스 플래그는 databaseFlags
컬렉션으로 settings
아래에 나열됩니다. 출력에서 플래그 표시에 대한 자세한 내용은 인스턴스 리소스 표시를 참조하세요.
REST v1
인스턴스에 구성된 플래그를 나열하려면 다음을 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-id: 인스턴스 ID
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
출력에서 databaseFlags
필드를 확인합니다.
REST v1beta4
인스턴스에 구성된 플래그를 나열하려면 다음을 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-id: 인스턴스 ID
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
출력에서 databaseFlags
필드를 확인합니다.
Cloud SQL에서 관리하는 플래그
Cloud SQL은 인스턴스 머신 유형에 따라 특정 시스템 플래그를 조정합니다.
- innodb_buffer_pool_instances
-
- db-f1-micro 및 db-g1-small인 경우 1개
- RAM < 7.5GB인 경우 1개
- 7.5GB <= RAM < 13GB인 경우 2개
- 13GB <= RAM < 26GB인 경우 4개
- RAM >= 26GB인 경우 8개
지원되는 플래그
Cloud SQL에서 지원되는 플래그는 MySQL에 가장 많이 요청되는 플래그입니다. 아래에 언급되지 않은 플래그는 지원되지 않습니다.
특정 플래그의 경우 Cloud SQL은 MySQL과는 다른 값 또는 범위의 매개변수 또는 옵션을 지원합니다.
플래그는 명시된 경우를 제외하고는 Cloud SQL에서 지원하는 모든 버전의 MySQL에 적용됩니다.
A | B | C | D | E | F | G | H | I | L | M | N | O | P | Q | R | S | T | U | W
이 플래그에 대한 자세한 내용은 도움말 섹션을 참고하세요.
Cloud SQL 플래그 | 유형 허용 값 및 참고 사항 |
다시 시작 필요 여부 |
---|---|---|
activate_all_roles_on_login |
boolean on | off
기본값: off
|
아니요 |
autocommit |
boolean on | off
기본값: on
|
아니요 |
auto_increment_increment | integer 1 ... 65535 |
아니요 |
auto_increment_offset | integer 1 ... 65535 |
아니요 |
automatic_sp_privileges |
boolean on | off
기본값: on
|
아니요 |
back_log | integer 1 ... 65535
기본값: max_connections
|
예 |
binlog_cache_size | integer 4096 ... 9223372036854775807 |
아니요 |
binlog_expire_logs_seconds | integer 0 또는 86400 (1 day) ... 4294967295 (max value) 기본값은 2592000이며 30일에 해당합니다. 이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
binlog_group_commit_sync_delay | 0 ... 1000000
MySQL 5.7 이상에서 지원됨 기본값은 0입니다. |
아니요 |
binlog_group_commit_sync_no_delay_count | 0 ... 1000000
MySQL 5.7 이상에서 지원됨 기본값은 0입니다. |
아니요 |
binlog_gtid_simple_recovery |
boolean on | off
기본값: on
|
예 |
binlog_order_commits |
boolean on | off
기본값: on
이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
binlog_row_image | enumeration full (기본값), minimal 또는 noblob |
아니요 |
binlog_row_metadata | enumeration full 또는 minimal (기본값) |
아니요 |
binlog_row_value_options | string PARTIAL_JSON |
아니요 |
binlog_rows_query_log_events |
boolean on | off
기본값: off
|
아니요 |
binlog_stmt_cache_size | 4096 ... 9223372036854775807 |
아니요 |
binlog_transaction_dependency_history_size | integer
이 플래그 및 허용되는 값을 사용하는 방법에 대한 자세한 내용은 병렬 복제 구성을 참조하세요. |
아니요 |
binlog_transaction_dependency_tracking | enumeration
이 플래그 및 허용되는 값을 사용하는 방법에 대한 자세한 내용은 병렬 복제 구성을 참조하세요. 이 플래그는 MySQL 8.4에서 지원되지 않습니다. |
아니요 |
block_encryption_mode | string aes-keylen-mode
기본값: aes-128-ECB
|
아니요 |
bulk_insert_buffer_size | integer 0 ... 4294967295
기본값: 8388608 |
아니요 |
collation_connection | string
기본값: MySQL 8.0 이상 - utf8mb4_0900_ai_ci 이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
collation_server | string
기본값: MySQL 5.7 - utf8_general_ci MySQL 8.0 이상 - utf8mb4_0900_ai_ci |
아니요 |
character_set_client | string 기본값: MySQL 5.7: utf8
MySQL 8.0 이상: utf8mb4
이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
character_set_connection | string
기본값: MySQL 5.7: utf8
MySQL 8.0 이상: utf8mb4
이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
character_set_results | string utf8 또는 utf8mb4 기본값: MySQL 5.7: utf8
MySQL 8.0 이상: utf8mb4
이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
character_set_server | string utf8 또는 utf8mb4 (권장) |
예 |
check_proxy_users |
boolean on | off
기본값: off
|
아니요 |
cloudsql_allow_analyze_table | boolean on | off
기본값: off
|
아니요 |
cloudsql_iam_authentication | boolean on | off
기본값: off
Cloud SQL용 MySQL 5.7 이상에서 지원됩니다. |
아니요 |
cloudsql_ignore_innodb_encryption | boolean on | off
기본값: off
|
아니요 |
cloudsql_mysql_audit_data_masking_cmds |
string "" , dql , dml , ddl , dcl , show , call , create_udf , drop_function , create_procedure , create_function , drop_procedure , alter_procedure , alter_function , create_trigger , drop_trigger , create_event , alter_event , drop_event , create_db , drop_db , alter_db , create_user , drop_user , rename_user , alter_user , create_table , create_index , alter_table , drop_table , drop_index , create_view , drop_view , rename_table , update , insert , insert_select , delete , truncate , replace , replace_select , delete_multi , update_multi , load , select , call_procedure , connect , disconnect , grant , revoke , revoke_all , show_triggers , show_create_proc , show_create_func , show_procedure_code , show_function_code , show_create_event , show_events , show_create_trigger , show_grants , show_binlog_events , show_relaylog_events
기본값: create_user , alter_user , grant , update
|
아니요 |
cloudsql_mysql_audit_data_masking_regex |
string max_string_length: 2048
기본값: 여기를 클릭합니다. |
아니요 |
cloudsql_mysql_audit_log_write_period |
integer 0...5000 밀리초
기본값: 500 밀리초
|
아니요 |
cloudsql_mysql_audit_max_query_length |
integer -1...1073741824
기본값: -1
|
아니요 |
cloudsql_vector |
boolean on | off
기본값: off
|
예 |
cloudsql_vector_max_mem_size |
integer 1073741824...innodb_buffer_pool_size/2
기본값: 1073741824 (바이트)
|
예 |
completion_type | enumeration NO_CHAIN (기본값),
CHAIN 또는 RELEASE |
아니요 |
concurrent_insert | enumeration NEVER , AUTO (기본값) 또는 ALWAYS |
아니요 |
connect_timeout | integer 2 ... 31536000
기본값: 10 |
아니요 |
cte_max_recursion_depth | integer 0 ... 4294967295
기본값: 1000 |
아니요 |
default_authentication_plugin | string mysql_native_password|caching_sha2_password
|
예 |
default_password_lifetime | integer 0...65535
기본값: 0
|
아니요 |
default_time_zone | string 시간대는 시간대 오프셋 및 시간대 이름의 두 가지 방법으로 지정할 수 있습니다. 예를 들어 +00:00 은 UTC 시간대인 런던의 시간대 오프셋이고 Europe/London 는 시간대 이름입니다.
시간대 이름을 사용하는 경우 일광 절약 시간에 대한 자동 조정이 지원됩니다. 시간대 오프셋을 사용하는 경우 지원되지 않습니다. MySQL용 Cloud SQL이 지원하는 시간대 이름 목록을 참조하세요. 이를 반영하려면 기본 인스턴스와 모든 읽기 복제본에서 이 플래그를 수동으로 업데이트해야 합니다. Cloud SQL 인스턴스를 다시 시작하지 않고 시간대를 설정하려면 |
예 |
default_week_format | integer 0 ... 7
기본값: 0 |
아니요 |
delay_key_write | enumeration OFF , ON (기본값) 또는 ALL |
아니요 |
disconnect_on_expired_password | boolean on | off
기본값: on
|
예 |
div_precision_increment | integer 0 ... 30
기본값: 4 |
아니요 |
end_markers_in_json |
boolean on | off
기본값: off
|
아니요 |
eq_range_index_dive_limit | integer 0 ... 2147483647 |
아니요 |
event_scheduler | boolean on | off 이벤트 스케줄러를 사용하는 경우 활성화 정책이 ALWAYS인 인스턴스를 구성하여 예약된 이벤트가 실행되도록 합니다. 이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
expire_logs_days | integer 0 ... 99 기본값은 0이며 자동으로 삭제되지 않습니다. 참고: 이 플래그는 MySQL 8.4에서 지원되지 않습니다.
대신 |
아니요 |
explicit_defaults_for_timestamp | boolean on | off |
아니요 |
flush_time | integer 0 ... 31536000
기본값: 0 |
아니요 |
foreign_key_checks |
boolean on | off
기본값: on
이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
ft_max_word_len | integer 10 ... 252 |
예 |
ft_min_word_len | integer 1 ... 16 |
예 |
ft_query_expansion_limit | integer 0 ... 1000 |
예 |
ft_stopword_file | string |
예 |
general_log | boolean on | off 일반 로그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
generated_random_password_length | integer 5-255
기본값: 20
|
아니요 |
group_concat_max_len | integer 4 ... 17179869184 |
아니요 |
gtid_executed_compression_period | integer 0 ... 4294967295
기본(버전 8.0.22 이하): 1000
기본(버전 8.0.23 이상): 0
|
아니요 |
histogram_generation_max_mem_size | integer 1000000 ... 4294967295
기본값: 20000000
|
아니요 |
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_autoextend_increment | integer 1 ... 1000 |
아니요 |
innodb_autoinc_lock_mode | integer 0 ... 2 |
예 |
innodb_buffer_pool_chunk_size | integer 1048576 ... (innodb_buffer_pool_size/innodb_buffer_pool_instances) 이 플래그 값은 |
예 |
innodb_buffer_pool_dump_pct | integer 1 ... 100
기본값: 25 |
아니요 |
innodb_buffer_pool_dump_at_shutdown | boolean on | off |
아니요 |
innodb_buffer_pool_dump_now | boolean on | off
이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
innodb_buffer_pool_instances | integer 1 ... 64 |
예 |
innodb_buffer_pool_load_abort | boolean on | off
이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
innodb_buffer_pool_load_at_startup | boolean on | off |
예 |
innodb_buffer_pool_load_now | boolean on | off
이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
innodb_buffer_pool_size | integer
MySQL 5.6에 이 플래그를 설정하면 다시 시작해야 합니다. 이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. | 아니요 |
innodb_change_buffer_max_size | integer 0 ... 50 |
아니요 |
innodb_change_buffering | string 옵션: |
아니요 |
innodb_checksum_algorithm | string 옵션: |
아니요 |
innodb_cmp_per_index_enabled | boolean on | off |
아니요 |
innodb_commit_concurrency | integer 0 ... 1000 |
예 |
innodb_compression_failure_threshold_pct | integer 0 ... 100 |
아니요 |
innodb_compression_level | integer 0 ... 9 |
아니요 |
innodb_compression_pad_pct_max | integer 0 ... 75 |
아니요 |
innodb_concurrency_tickets | integer 1 ... 4294967295 |
아니요 |
innodb_deadlock_detect | boolean on | off
MySQL 5.7 이상에서 지원됩니다. 기본값: |
아니요 |
innodb_disable_sort_file_cache | boolean on | off |
아니요 |
innodb_doublewrite_batch_size | integer 0 ... 256 기본값: 0 |
예 |
innodb_doublewrite_files | integer 2 ... 128 |
예 |
innodb_doublewrite_pages | integer 4 ... 512 기본값: 64 |
예 |
innodb_file_per_table | boolean on | off 이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
innodb_fill_factor | integer 10 ... 100 |
아니요 |
innodb_flush_log_at_timeout | double 0.0001 ... 2700 기본값: 1
MySQL 5.7 이상에서 지원됩니다. 이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
innodb_flush_log_at_trx_commit | integer 1, 2 기본값: 1
이 플래그를 사용 설정한 복제본을 승격하면 플래그가 자동으로 삭제되어 승격된 복제본이 기본적으로 완전한 내구성을 갖게 됩니다. 승격된 복제본에 이 플래그를 사용하려면 승격 후 플래그를 복제본으로 업데이트하면 됩니다. 이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
innodb_flush_neighbors | enumeration 0 ... 2 기본값: 0 2 |
아니요 |
innodb_flush_sync | boolean on | off |
아니요 |
innodb_ft_aux_table | string 이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
예 |
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 |
예 |
innodb_ft_min_token_size | integer 0 ... 16 |
예 |
innodb_ft_num_word_optimize | integer 1000 ... 10000 |
아니요 |
innodb_ft_result_cache_limit | integer 1000000 ... 4294967295 |
아니요 |
innodb_ft_server_stopword_table | string |
아니요 |
innodb_ft_sort_pll_degree | integer 1 ... 32 |
예 |
innodb_ft_total_cache_size | integer 32000000 ... 1600000000 |
예 |
innodb_ft_user_stopword_table | string |
아니요 |
innodb_io_capacity | integer 100 ... 100000
기본값: 5000
디스크 성능 구성에 대한 자세한 내용은 성능 요구사항 충족을 위한 디스크 구성에서 E2 VM 테이블을 참조하세요. |
아니요 |
innodb_io_capacity_max | integer 100 ... 100000
기본값: 10000
디스크 성능 구성에 대한 자세한 내용은 성능 요구사항 충족을 위한 디스크 구성에서 E2 VM 테이블을 참조하세요. |
아니요 |
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_checksums | boolean on | off
기본값: on |
아니요 |
innodb_log_compressed_pages | boolean on | off
기본값: on |
아니요 |
innodb_log_file_size | integer MySQL 5.6: 1048576 ... 274877906944 MySQL 5.7 이상: 4194304 ... 274877906944
|
예 |
innodb_log_spin_cpu_abs_lwm | integer 0 ... 4294967295
기본값: 80 |
아니요 |
innodb_log_spin_cpu_pct_hwm | integer 0 ... 100
기본값: 50 |
아니요 |
innodb_log_wait_for_flush_spin_hwm | integer 0 ... 4294967295
기본값: 400 |
아니요 |
innodb_log_write_ahead_size | integer 512 ... 65536
기본값: 8192 |
아니요 |
innodb_lru_scan_depth | integer 100 ... 9223372036854775807 |
아니요 |
innodb_max_dirty_pages_pct | float 0 ... 99.99
기본값: 90 |
아니요 |
innodb_max_dirty_pages_pct_lwm | float 0 ... 99.99
기본값: 10 |
아니요 |
innodb_max_purge_lag | integer 0 ... 4294967295
기본값: 0 |
아니요 |
innodb_max_undo_log_size | integer 10485760 ... 9223372036854775807
기본값: 1073741824 |
아니요 |
innodb_max_purge_lag_delay | integer 0 ... 10000000
기본값: 0 |
아니요 |
innodb_monitor_disable |
string |
아니요 |
innodb_monitor_enable |
string |
아니요 |
innodb_monitor_reset |
string counter , module , pattern , all |
아니요 |
innodb_monitor_reset_all |
enumeration 유효한 값: counter , module , pattern , all |
아니요 |
innodb_old_blocks_pct | integer 5 ... 95 |
아니요 |
innodb_old_blocks_time | integer 0 ... 4294967295 |
아니요 |
innodb_online_alter_log_max_size | integer 65536 ... 9223372036854775807 |
아니요 |
innodb_open_files | integer 100 ... 2147483647
기본값: MySQL 5.7: 2000
MySQL 8.0 이상: 4000 |
≥ 8.0.28 : 아니요 ≤ 8.0.27 : 예 |
innodb_optimize_fulltext_only | boolean on | off |
아니요 |
innodb_page_cleaners | integer 1 ... 64 MySQL 5.7 이상에서 지원됩니다. MySQL 5.7 및 8.0의 기본값은 4 입니다.
MySQL 8.4의 기본값은 innodb_buffer_pool_instances 플래그에 구성된 값과 같습니다. |
예 |
innodb_parallel_read_threads | integer 1 ... 256
기본값: 4 |
아니요 |
innodb_print_all_deadlocks | boolean on | off
기본값: off |
아니요 |
innodb_print_ddl_logs | boolean on | off |
아니요 |
innodb_purge_batch_size | integer 1 ... 5000
기본값: 300 |
아니요 |
innodb_purge_rseg_truncate_frequency | integer 1 ... 128
기본값: 128 |
아니요 |
innodb_purge_threads | 1 ... 32
기본값은 1입니다. |
예 |
innodb_random_read_ahead | boolean on | off |
아니요 |
innodb_read_ahead_threshold | integer 0 ... 64 |
아니요 |
innodb_read_io_threads | integer 1 ... 64
|
예 |
innodb_redo_log_capacity | integer MySQL 8.0.33 이하: 8388608 (8MB)~137438953472 (128GB)
MySQL 8.0.34 이상: 8388608 (8MB)~549755813888 (512GB)
이 플래그에 대한 자세한 내용은 도움말 섹션을 참고하세요. |
아니요 |
innodb_replication_delay | integer 0 ... 4294967295 |
아니요 |
innodb_rollback_on_timeout | boolean on | off |
예 |
innodb_rollback_segments | integer 1 ... 128 |
아니요 |
innodb_segment_reserve_factor | float .03 ... 40
기본값: 12.5 |
아니요 |
innodb_sort_buffer_size | integer 65536 ... 67108864 |
예 |
innodb_spin_wait_delay | integer MySQL 5.7: 0 ... 1000000 MySQL 8.0.13 이상: 0 ... 1000
기본값: 6 |
아니요 |
innodb_stats_auto_recalc | boolean on | off |
아니요 |
innodb_stats_include_delete_marked | boolean on | off
기본값: 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_sync_array_size | 1 ... 1024
기본값은 1입니다. |
예 |
innodb_sync_spin_loops | integer 0 ... 4294967295
기본값: 30 |
아니요 |
innodb_table_locks | boolean on | off
기본값: on |
아니요 |
innodb_thread_concurrency | integer 0 ... 1000 |
아니요 |
innodb_thread_sleep_delay | integer 0 ... 1000000 |
아니요 |
innodb_undo_log_truncate | boolean on | off
기본값: on |
아니요 |
innodb_use_native_aio | boolean on | off
기본값: on |
예 |
innodb_write_io_threads | integer 1 ... 64 |
예 |
interactive_timeout | integer 1 ... 31536000 |
아니요 |
internal_tmp_disk_storage_engine | enumeration INNODB | MYISAM 기본값: INNODB |
아니요 |
internal_tmp_mem_storage_engine | enumeration MEMORY , TempTable |
아니요 |
join_buffer_size | integer 128 ... 9223372036854775807 |
아니요 |
keep_files_on_create |
boolean on | off
기본값: off
|
아니요 |
key_buffer_size | integer 4096 ... 4294967295
기본값: 8388608 |
아니요 |
key_cache_age_threshold | integer 100 ... 9223372036854775807
기본값: 300 |
아니요 |
key_cache_block_size | integer 512 ... 16384
기본값: 1024 |
아니요 |
key_cache_division_limit | integer 1 ... 100
기본값: 100 |
아니요 |
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
기본값: en_US |
아니요 |
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_error_verbosity | integer 1 ... 3
기본값: MySQL 5.7: 3 MySQL 8.0 이상: 2 |
아니요 |
log_queries_not_using_indexes | boolean on | off |
아니요 |
log_slow_admin_statements | boolean on | off
기본값: off |
아니요 |
log_slow_extra | boolean on | off
기본값: off |
아니요 |
log_slow_replica_statements | boolean
on | off
기본값: off
|
아니요 |
log_slow_slave_statements | boolean
on | off
기본값: off
|
아니요 |
log_throttle_queries_not_using_indexes | integer 0 ... 9223372036854775807 |
아니요 |
log_timestamps | string "UTC | SYSTEM"
기본값: UTC |
아니요 |
long_query_time | float 0 ... 30000000
Cloud SQL에서는 필요한 경우 이 플래그를 1 미만으로 설정할 수 있습니다.
|
아니요 |
lower_case_table_names 5.7 | 8.0 | integer 0 또는 1
기본값: 0
이 플래그에 기본값 MySQL 5.7 인스턴스의 경우 언제든지 이 플래그 값을 변경할 수 있습니다. 변경하려면 기존 테이블과 데이터베이스에 미치는 영향을 이해해야 합니다. MySQL 8.0 이상 인스턴스의 경우 인스턴스를 만드는 동안에만 이 플래그 값을 원하는 값으로 설정할 수 있습니다. 이 값을 설정하면 변경할 수 없습니다. 또한 기존 인스턴스의 경우 이 플래그 값을 변경할 수 없습니다. MySQL 5.7, MySQL 8.0 또는 MySQL 8.4 인스턴스의 읽기 복제본을 만드는 경우 복제본은 기본 인스턴스에서 이 플래그 값을 상속합니다. | 예 |
mandatory_roles | string role name
기본값: empty string
|
아니요 |
master_verify_checksum | boolean
on | off
기본값: off
|
아니요 |
max_allowed_packet | integer 16384 ... 1073741824 sql_mode=TRADITIONAL 또는 sql_mode=STRICT_ALL_TABLES인 경우 이 값은 1024의 배수여야 합니다. |
아니요 |
max_binlog_cache_size | integer 4096 ... 4294967296
기본값: 4294967296 |
아니요 |
max_binlog_size | integer 4096 ... 1073741824 |
아니요 |
max_binlog_stmt_cache_size | integer 4096 ... 4294967296
기본값: 4294967296 |
아니요 |
max_connect_errors | integer 1 ... 9223372036854775807
기본값: 100 |
아니요 |
max_connections | integer 1 ... 100000
|
아니요 |
max_digest_length | integer 0 ... 1048576 |
예 |
max_error_count | integer 0 ... 65535
기본값: MySQL 5.7 이하: 64 MySQL 8.0 이상: 1024 |
아니요 |
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 |
아니요 |
min_examined_row_limit | integer 0 ... 4294967295
기본값: 0 |
아니요 |
myisam_data_pointer_size |
integer 2...7
기본값: 6
|
아니요 |
myisam_max_sort_file_size |
integer 0...9223372036853727232
기본값: 9223372036853727232
|
아니요 |
myisam_mmap_size |
integer 7...9223372036854775807
기본값: 9223372036854775807
|
예 |
myisam_sort_buffer_size |
integer 4096...4294967295
기본값: 8388608
|
아니요 |
myisam_stats_method | string "nulls_unequal, nulls_equal, nulls_ignored"
기본값: nulls_unequal |
아니요 |
myisam_use_mmap |
boolean on | off
기본값: off
|
아니요 |
mysql_native_password_proxy_users |
boolean on | off
기본값: off
|
아니요 |
net_buffer_length | integer 1024 ... 1048576
기본값: 16384
|
아니요 |
net_read_timeout | integer 30 ... 4294967295 |
아니요 |
net_retry_count | integer 10 ... 4294967295 |
아니요 |
net_write_timeout | integer 60 ... 4294967295 |
아니요 |
ngram_token_size | integer 1 ... 10
기본값: 2
|
예 |
optimizer_prune_level | integer 0 ... 1 |
아니요 |
optimizer_search_depth | integer 0 ... 62 |
아니요 |
optimizer_switch |
multi-value repeated string 다중 값 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
optimizer_trace |
multi-value repeated string enabled=on , enabled=off , one_line=on , one_line=off 다중 값 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
optimizer_trace_features |
multi-value repeated string 다중 값 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
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_error_size | integer 0 ... 1048576 |
예 |
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_digest_sample_age | integer 0 ... 1048576 기본값: 60
|
아니요 |
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 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
예 |
preload_buffer_size | integer 1024 ... 1073741824
기본값: 32768
|
아니요 |
query_alloc_block_size | integer 1024 ... 4294967295 |
아니요 |
query_cache_limit | integer 0 ... 223338299392 이 플래그는 MySQL 8.0 이상에서 사용할 수 없습니다. 쿼리 캐시가 MySQL 5.7.20부터 지원 중단되었으며 MySQL 8.0에서 제거되었습니다. |
아니요 |
query_cache_min_res_unit | integer 0 ... 9223372036854775807 이 플래그는 MySQL 8.0 이상에서 사용할 수 없습니다. 쿼리 캐시가 MySQL 5.7.20부터 지원 중단되었으며 MySQL 8.0에서 제거되었습니다. |
아니요 |
query_cache_size | integer 0 ... 223338299392 이 플래그는 MySQL 8.0 이상에서 사용할 수 없습니다. 쿼리 캐시가 MySQL 5.7.20부터 지원 중단되었으며 MySQL 8.0에서 제거되었습니다. |
아니요 |
query_cache_type | enumeration 0 ... 2 이 플래그는 MySQL 8.0 이상에서 사용할 수 없습니다. 쿼리 캐시가 MySQL 5.7.20부터 지원 중단되었으며 MySQL 8.0에서 제거되었습니다. |
예 |
query_cache_wlock_invalidate | boolean on | off 이 플래그는 MySQL 8.0 이상에서 사용할 수 없습니다. 쿼리 캐시가 MySQL 5.7.20부터 지원 중단되었으며 MySQL 8.0에서 제거되었습니다. |
아니요 |
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 |
아니요 |
regexp_stack_limit | integer 0 ... 2147483647 |
아니요 |
regexp_time_limit | integer 0 ... 2147483647
기본값: 32
|
아니요 |
replica_checkpoint_group | integer 32 ... 524280 기본값은 512입니다. 이 플래그는 멀티스레딩이 사용 설정되지 않은 복제본에 영향을 주지 않습니다. |
아니요 |
replica_checkpoint_period | integer 1 ... 4294967295 기본값은 300입니다. 단위는 밀리초입니다. |
아니요 |
replica_compressed_protocol | boolean on | off
|
아니요 |
replica_net_timeout | integer 1 ... 31536000
단위는 초입니다. |
아니요 |
replica_parallel_type | enumeration DATABASE , LOGICAL_CLOCK 기본값: MySQL 8.0.26 이하: DATABASE MySQL 8.0.27 이하: LOGICAL_CLOCK
이 플래그 및 허용되는 값을 사용하는 방법에 대한 자세한 내용은 병렬 복제 구성을 참조하세요. |
아니요 |
replica_parallel_workers | integer
이 플래그 및 허용되는 값을 사용하는 방법에 대한 자세한 내용은 병렬 복제 구성을 참조하세요. |
아니요 |
replica_pending_jobs_size_max | integer
이 플래그 및 허용되는 값을 사용하는 방법에 대한 자세한 내용은 병렬 복제 구성을 참조하세요. |
아니요 |
replica_preserve_commit_order | boolean
이 플래그 및 허용되는 값을 사용하는 방법에 대한 자세한 내용은 병렬 복제 구성을 참조하세요. |
아니요 |
replica_skip_errors | string
기본값: OFF
이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
예 |
replica_sql_verify_checksum | boolean
on | off |
아니요 |
replica_transaction_retries | integer
0 ... 9223372036854775807 |
아니요 |
replica_type_conversions | String 값: ALL_LOSSY , ALL_NON_LOSSY , ALL_SIGNED , ALL_UNSIGNED |
아니요 |
replicate_do_db | string
이 플래그를 사용하는 방법은 복제 필터 섹션을 참조하세요. |
아니요 |
replicate_do_table | string
이 플래그를 사용하는 방법은 복제 필터 섹션을 참조하세요. |
아니요 |
replicate_ignore_db | string
이 플래그를 사용하는 방법은 복제 필터 섹션을 참조하세요. |
아니요 |
replicate_ignore_table | string
이 플래그를 사용하는 방법은 복제 필터 섹션을 참조하세요. |
아니요 |
replicate_wild_do_table | string
이 플래그를 사용하는 방법은 복제 필터 섹션을 참조하세요. |
아니요 |
replicate_wild_ignore_table | string
이 플래그를 사용하는 방법은 복제 필터 섹션을 참조하세요. |
아니요 |
rpl_read_size | integer 8192 ... 4294959104
기본값: 8192
|
아니요 |
schema_definition_cache | integer 256 ... 524288
기본값: 256
|
아니요 |
session_track_gtids | string
OFF | OWN_GTID | ALL_GTIDS
기본값: OFF
|
아니요 |
session_track_schema | boolean on | off
기본값: on
|
아니요 |
session_track_state_change | boolean on | off
기본값: off
|
아니요 |
session_track_transaction_info | string
OFF | STATE | CHARACTERISTICS
기본값: OFF
|
아니요 |
sha256_password_proxy_users |
boolean on | off
기본값: off
|
아니요 |
show_create_table_verbosity | boolean on | off
기본값: off
|
아니요 |
show_compatibility_56 | boolean on | off
MySQL 5.7에서만 지원됩니다. |
아니요 |
skip_character_set_client_handshake |
boolean on | off
기본값: off
|
예 |
skip_show_database | flag on | off |
예 |
slave_checkpoint_group | integer 32 ... 524280 기본값은 512입니다. 이 플래그는 멀티스레딩이 사용 설정되지 않은 복제본에 영향을 주지 않습니다. |
아니요 |
slave_checkpoint_period | integer 1 ... 4294967295 기본값은 300입니다. 단위는 밀리초입니다. |
아니요 |
slave_compressed_protocol | boolean on | off
|
아니요 |
slave_net_timeout | integer 1 ... 31536000
단위는 초입니다. |
아니요 |
slave_parallel_type | enumeration DATABASE , LOGICAL_CLOCK 기본값: MySQL 8.0.26 이하: DATABASE MySQL 8.0.27 이하: LOGICAL_CLOCK
이 플래그 및 허용되는 값을 사용하는 방법에 대한 자세한 내용은 병렬 복제 구성을 참조하세요. |
아니요 |
slave_parallel_workers | integer
이 플래그 및 허용되는 값을 사용하는 방법에 대한 자세한 내용은 병렬 복제 구성을 참조하세요. |
아니요 |
slave_preserve_commit_order | boolean
이 플래그 및 허용되는 값을 사용하는 방법에 대한 자세한 내용은 병렬 복제 구성을 참조하세요. |
아니요 |
slave_pending_jobs_size_max | integer
이 플래그 및 허용되는 값을 사용하는 방법에 대한 자세한 내용은 병렬 복제 구성을 참조하세요. |
아니요 |
slave_skip_errors | string
기본값: OFF
이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
예 |
slave_sql_verify_checksum | boolean
on | off
|
아니요 |
slave_transaction_retries | integer
0 ... 9223372036854775807 |
아니요 |
slave_type_conversions | string 값: ALL_LOSSY , ALL_NON_LOSSY , ALL_SIGNED , ALL_UNSIGNED |
아니요 |
slow_launch_time | Integer 0 ... 31536000 기본값: 2 |
아니요 |
slow_query_log | boolean on | off 느린 쿼리 로그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
sort_buffer_size | integer 32768 ... 9223372036854775807 |
아니요 |
source_verify_checksum | boolean
on | off 기본값: off
|
아니요 |
sql_mode | string
MySQL용 Cloud SQL은 |
아니요 |
sql_require_primary_key | boolean on | off 기본값: off |
아니요 |
sql_select_limit | integer 0...18446744073709551615
기본값: 18446744073709551615
이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
stored_program_cache | integer 16 ... 524288 |
아니요 |
stored_program_definition_cache | integer 256 ... 524288 기본값: 256 |
아니요 |
sync_binlog | integer 0 ... 4294967295
기본 설정인 1은 트랜잭션이 커밋되기 전에 디스크에 바이너리 로그 동기화를 사용 설정합니다. 이 플래그를 사용 설정한 복제본을 승격하면 플래그가 자동으로 삭제되어 승격된 복제본이 기본적으로 완전한 내구성을 갖게 됩니다. 승격된 복제본에 이 플래그를 사용하려면 승격 후 플래그를 복제본으로 업데이트하면 됩니다. 이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
sync_master_info | integer 0 ... 4294967295 기본값: 10000
|
아니요 |
sync_relay_log | integer 0 ... 4294967295 기본값: 10000 |
아니요 |
sync_relay_log_info | integer 0 ... 4294967295 기본값: 10000 |
아니요 |
sync_source_info | integer 0 ... 4294967295 기본값: 10000
|
아니요 |
sysdate_is_now |
boolean on | off
기본값: off
|
예 |
table_definition_cache | integer 400 ... 524288 |
아니요 |
tablespace_definition_cache | integer 256 ... 524288 기본값: 256 |
아니요 |
table_open_cache | integer 1 ... 524288 |
아니요 |
table_open_cache_instances | integer 1 ... 64 |
예 |
temptable_max_mmap | integer 0 ... 68719476736 기본값: 1073741824 |
아니요 |
temptable_max_ram | integer 2097152 ... 68719476736 기본값: 1073741824 |
아니요 |
thread_cache_size | integer 0 ... 16384 |
아니요 |
thread_stack | integer 131072 ... 9223372036854775807 |
예 |
tls_version | String 버전 5.7~8.0.27: TLSv1, TLSv1.1 버전 8.0.28 이상: TLSv1.2 |
버전 5.7: 예 버전 8.0 이상: 아니요 |
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 |
아니요 |
transaction_write_set_extraction | enumeration
이 플래그 및 허용되는 값을 사용하는 방법에 대한 자세한 내용은 병렬 복제 구성을 참조하세요. 이 플래그는 MySQL 8.4에서 지원되지 않습니다. |
아니요 |
unique_checks |
boolean on | off
기본값: on
이 플래그에 대한 자세한 내용은 팁 섹션을 참조하세요. |
아니요 |
updatable_views_with_limit | integer 0 ... 1 |
아니요 |
wait_timeout | integer 1 ... 31536000 |
아니요 |
windowing_use_high_precision | boolean on | off 기본값: on
|
아니요 |
시간대 이름
이 섹션에서는 MySQL용 Cloud SQL에서 지원되는 시간대 이름에 대해 알아봅니다.
이 섹션의 표에서는 다음을 보여줍니다.
- 시간대 이름: MySQL용 Cloud SQL이 지원하는 이름입니다.
- STD: 표준 시간(STD)의 시간대 오프셋입니다.
- DST: 일광 절약 시간(DST)의 시간대 오프셋입니다.
- 동의어 이름: 사용할 시간대 이름이지만 MySQL용 Cloud SQL에서는 지원되지 않습니다. 이 경우 해당 시간대 이름을 사용합니다.
시간대 이름 | STD | DST | 동의어 이름 |
---|---|---|---|
Africa/Cairo | +02:00 | +02:00 | 이집트 |
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 | 리비아 |
Africa/Windhoek | +02:00 | +02:00 | |
America/Araguaina | −03:00 | −03:00 | |
America/Asuncion | −04:00 | −03:00 | |
America/Bogota | −05:00 | −05:00 | |
America/Buenos_Aires | −03:00 | −03:00 | America/Argentina/Buenos_Aires |
America/Caracas | −04:00 | −04:00 | |
America/Chicago | −06:00 | −05:00 | |
America/Chihuahua | −07:00 | −06:00 | America/Ojinaga |
America/Cuiaba | −04:00 | −04:00 | |
America/Denver | −07:00 | −06:00 | 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 | Canada/Atlantic |
America/Los_Angeles | −08:00 | −07:00 | |
America/Manaus | −04:00 | −04:00 | Brazil/West |
America/Matamoros | −06:00 | −05:00 | |
America/Mexico_City | −06:00 | −05:00 | |
America/Monterrey | −06:00 | −05:00 | |
America/Montevideo | −03:00 | −03:00 | |
America/New_York | −05:00 | −04:00 | |
America/Phoenix | −07:00 | −07:00 | 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 | Mexico/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 |
Asia/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 | |
Asia/Krasnoyarsk | +07:00 | +07:00 | |
Asia/Magadan | +11:00 | +11:00 | |
Asia/Muscat | +04:00 | +04:00 | Asia/Dubai |
Asia/Novosibirsk | +07:00 | +07:00 | |
Asia/Riyadh | +03:00 | +03:00 | 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 | 싱가포르 |
Asia/Taipei | +08:00 | +08:00 | ROC |
Asia/Tehran | +03:30 | +04:30 | 이란 |
Asia/Tokyo | +09:00 | +09:00 | 일본 |
Asia/Ulaanbaatar | +08:00 | +08:00 | Asia/Ulan_Bator |
Asia/Vladivostok | +10:00 | +10:00 | |
Asia/Yakutsk | +09:00 | +09:00 | |
Asia/Yerevan | +04:00 | +04:00 | |
Atlantic/Azores | −01:00 | +00:00 | |
Australia/Adelaide | +09:30 | +10:30 | Australia/South |
Australia/Brisbane | +10:00 | +10:00 | Australia/Queensland |
Australia/Darwin | +09:30 | +09:30 | Australia/North |
Australia/Hobart | +10:00 | +11:00 | Australia/Currie
Australia/Tasmania |
Australia/Perth | +08:00 | +08:00 | Australia/West |
Australia/Sydney | +10:00 | +11:00 | Australia/NSW
Australia/ACT Australia/Canberra |
Brazil/East | −03:00 | −03:00 | America/Sao_Paulo |
Canada/Newfoundland | −03:30 | −02:30 | America/St_Johns |
Canada/Saskatchewan | −06:00 | −06:00 | America/Regina |
Canada/Yukon | −07:00 | −07:00 | America/Whitehorse |
Europe/Amsterdam | +01:00 | +02:00 | |
Europe/Athens | +02:00 | +03:00 | |
Europe/Dublin | +01:00 | +00:00 | Eire |
Europe/Helsinki | +02:00 | +03:00 | Europe/Mariehamn |
Europe/Istanbul | +03:00 | +03:00 | Turkey
Asia/Istanbul |
Europe/Kaliningrad | +02:00 | +02:00 | |
Europe/Madrid | +01:00 | +02:00 | |
Europe/Moscow | +03:00 | +03:00 | W-SU |
Europe/Paris | +01:00 | +02:00 | MET
CET |
Europe/Prague | +01:00 | +02:00 | Europe/Bratislava |
Europe/Sarajevo | +01:00 | +02:00 | 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 |
Cloud SQL의 시간대 테이블은 최신 데이터로 새로고침해야 할 수 있습니다. 예를 들어 국가가 DST 시간대 오프셋에서 STD 오프셋으로 전환하거나 국가에서 다른 시간대를 도입할 수 있습니다.
Cloud SQL의 모든 중요 서비스 에이전트(CSA) 출시마다 시간대 테이블이 최신 데이터로 새로고침됩니다. 이 경우 비유지보수 기간 동안 복제본 인스턴스가 새로고침됩니다. 그러면 기본 인스턴스가 유지보수 기간 중에 새로고침됩니다.
CSA 출시의 정기 유지보수 기간까지 기다리거나 셀프서비스 유지보수를 수행하여 시간대 테이블을 최신 데이터로 새로고침할 수 있습니다. 사용 가능한 유지보수 버전 보기에 대한 자세한 내용은 대상 유지보수 버전 확인을 참조하세요.
플래그 작업 도움말
- general_log, slow_query_log
-
general
또는slow query
로그를 사용하려면 해당 플래그를 사용 설정하고log_output
플래그를FILE
로 설정합니다. 이렇게 하면 Google Cloud 콘솔의 로그 뷰어를 사용하여 로그를 출력할 수 있습니다. Google Cloud Observability 로깅 요금이 적용됩니다. 인스턴스 스토리지 비용을 최소화하기 위해 로그 파일이 24시간(그리고 이 기간 동안 변경사항이 없는 경우) 또는 100MB를 초과하면 인스턴스 디스크의general
및slow query
로그가 순환됩니다. 이전 로그 파일은 순환 후에 자동으로 삭제됩니다.log_output
이NONE
으로 설정된 경우 로그에 액세스할 수 없습니다.log_output
을TABLE
로 설정하면 로그 출력이 mysql 시스템 데이터베이스의 테이블에 배치됩니다. 이는 상당량의 디스크 공간을 소비할 수 있습니다. 이 테이블이 커지면 인스턴스 재시작 시간에 영향을 주거나 인스턴스에 SLA가 적용되지 않을 수 있습니다. 이러한 이유로TABLE
옵션은 권장되지 않습니다. 또한 로그 콘텐츠는 로그 탐색기에서 제공되지 않으며 순환되지 않습니다. 필요한 경우 API를 사용하여 로그 테이블을 자를 수 있습니다. 자세한 내용은 instances.truncateLog 참조 페이지를 확인하세요.
- expire_logs_days, binlog_expire_logs_seconds
- PITR(point-in-time recovery)를 사용 설정하면 트랜잭션 로그 보관 기간과 이러한 플래그의 값 중 더 작은 값에 따라 바이너리 로그의 만료 기간이 결정됩니다. 이러한 플래그를 사용하여 바이너리 로그가 복제본에 저장되는 기간을 관리할 수 있습니다.
expire_logs_days
플래그는 MySQL 8.4 이상에서 삭제되었습니다. 자세한 내용은 트랜잭션 로그 보관 페이지를 참조하세요.
- innodb_buffer_pool_size
이 플래그의 값은 버퍼 풀 크기(바이트)입니다. 버퍼 풀 크기는 항상
innodb_buffer_pool_chunk_size
를innodb_buffer_pool_instances
로 곱한 값과 같거나 그 배수여야 합니다. 버퍼 풀 크기를innodb_buffer_pool_chunk_size
와innodb_buffer_pool_instances
의 곱과 같지 않거나 곱한 값의 배수가 아닌 값으로 변경하면 Cloud SQL에서 버퍼 풀 크기를 자동으로 조정합니다. RAM이 3,840MiB 미만인 인스턴스에는 이 플래그를 사용 설정할 수 없습니다.공유 코어 머신 유형 (f1_micro 및 g1_small)에는 이 플래그를 구성할 수 없습니다. MySQL 5.6에서 이 플래그를 변경하려면 다시 시작해야 합니다.
Cloud SQL에서 innodb_buffer_pool_size 플래그의 기본값, 최소 허용 값, 최대 허용 값은 인스턴스의 메모리에 따라 다릅니다. 이러한 값은 인스턴스 RAM의 백분율로 대략 계산될 수 있습니다. 기본적으로 이 플래그 값은 일반적으로 최대 허용 값에 가깝게 설정됩니다. 인스턴스 크기에 따라 허용되는 최대 할당 비율이 증가합니다. 최소 허용 값은 일반적으로 인스턴스 RAM의 약 20%입니다.
이 플래그의 대략적인 값:
인스턴스 RAM 범위 최소 % 기본 % 최대 % RAM 0 - 4.0GB ~34% 4.0GB - 7.5GB ~20% ~34% ~34% 7.5GB - 12GB ~20% ~52% ~52% 12GB - 24GB ~20% ~67% ~67% 24GB 이상 ~20% ~72% ~72% 정확한 값은 다를 수 있습니다. 인스턴스의 현재 값을 계산하려면 쿼리를 실행하면 됩니다.
show global variables like 'innodb_buffer_pool_size';
참고로 다음 머신 유형에 허용되는 최솟값, 기본값, 최댓값이 제공됩니다.
머신 유형 인스턴스 RAM(GB) 최소(GB)
(전체 대비 %)기본값(GB)
(전체 대비 %)최대(GB)
(전체 대비 %)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%)
모든 MySQL 버전 5.6 이상에서 기본값은 ON
입니다.
innodb_flush_log_at_trx_commit
및 sync_binlog
플래그를 기본값 1
로 설정해야 합니다. 기본값을 변경하면 내구성이 저하되어 기본 인스턴스와 복제본이 일치하지 않을 수 있습니다. 따라서 인스턴스에는 SLA가 적용되지 않습니다 또한 다음 중 하나가 발생할 수 있습니다.
- 리전별 HA 인스턴스의 VM 비정상 종료 또는 장애 조치와 같은 특정 상황에서 데이터 손실
- 바이너리 로그 및 InnoDB 데이터 파일에서 동기화되지 않은 데이터
- PITR 데이터 손실 또는 장애
- 기본 인스턴스와 복제본 간의 데이터 불일치
- 복제 중단
innodb_flush_log_at_trx_commit
또는 sync_binlog
플래그 값을 기본, 독립형, HA 인스턴스의 기본값이 아닌 값으로 설정하면 내구성이 저하됩니다.
읽기 복제본에 더 높은 성능이 필요하면 innodb_flush_log_at_trx_commit
값을 2
로 설정하는 것이 좋습니다.
Cloud SQL은 이 플래그의 값을 0으로 설정할 수 없습니다. 플래그 값을 2로 설정하면 복제본에서 바이너리 로그를 사용 중지하거나 sync_binlog
를 성능 향상을 위해 1이 아닌 다른 값으로 설정해야 합니다.
백업을 수행할 때 Cloud SQL에서 innodb_flush_log_at_trx_commit
및 sync_binlog
플래그 값을 일시적으로 기본값으로 변경할 수 있습니다. 이러면 백업을 수행할 때 성능이 저하될 수 있습니다. 인스턴스에 영향을 주지 않도록 하려면 인스턴스 사용량이 적을 때 백업 기간을 변경하면 됩니다. 자세한 내용은 주문형 및 자동 백업 만들기 및 관리를 참조하세요.
innodb_flush_log_at_timeout
을 사용하면 페이지 플러시 실행 빈도를 수정할 수 있으므로 바이너리 로그 그룹 커밋의 성능에 영향을 주지 않습니다. 기본 설정은 초당 1회입니다.
Cloud SQL은 기간을 마이크로초 단위로 지정할 수 있도록 이 플래그를 확장했습니다.
예:
0.001
: 1밀리초 지정0.0001
: 100마이크로초 지정12.5
: 12.5초 지정12.005
: 12초 5밀리초 지정0.005100
: 5밀리초 100마이크로초 지정
특정 워크로드의 경우 트랜잭션 손실 가능성으로 인해 플러싱 페이지에 초 단위를 사용할 수 없습니다. 대신 마이크로초 단위로 페이지를 플러시하면 내구성을 크게 떨어뜨리지 않고도 성능을 유지할 수 있습니다.
innodb_flush_log_at_timeout
플래그의 마이크로초 기간은 innodb_flush_log_at_trx_commit
내구성 플래그가 2
로 설정된 경우에만 적용됩니다.
페이지의 플러시 실행 빈도가 innodb_flush_log_at_timeout
에 지정된 값보다 많거나 적을 수 있으며 이 값이 상한이 아닙니다.
innodb_redo_log_capacity
플래그에 값을 구성하면 Cloud SQL은 innodb_log_file_size
플래그에 정의된 값을 무시합니다.
innodb_redo_log_capacity
또는 innodb_log_file_size
플래그에 값을 구성하지 않으면 Cloud SQL은 innodb_redo_log_capacity
플래그의 기본값 또는 104857600
(100MB)를 사용합니다.
innodb_redo_log_capacity
플래그는 구성하지 않고 innodb_log_file_size
플래그만 구성하는 경우 innodb redo 로그 크기의 값은 innodb_log_file_size
* innodb_log_file_in_group
로 계산됩니다. 예를 들어 innodb_log_file_size
를 10GB로 구성하고 innodb_log_file_in_group
의 기본값이 2
이면 innodb redo 로그 크기의 유효 값은 20GB입니다.
tmp_table_size
및 max_heap_table_size
를 인스턴스가 처리하는 동시 실행 쿼리 수보다 너무 높게 설정하면 사용 가능한 인스턴스 메모리가 소진될 수 있습니다. 메모리가 소진되면 인스턴스가 비정상적으로 종료되며 다시 시작됩니다.
이러한 플래그의 사용 방법에 대한 자세한 내용은 MySQL의 내부 임시 테이블 사용법과 MEMORY 스토리지 엔진을 참조하세요.
공유 코어(RAM 3GB 미만)가 있는 인스턴스에서는 이 플래그를 사용 설정할 수 없습니다. 이 플래그를 사용 설정하면 머신 유형을 플래그를 지원하지 않는 크기로 변경할 수 없습니다. 먼저 이 플래그를 중지해야 합니다.
OFF
이고 MySQL 8.0의 기본값은 ON
입니다. event_scheduler
플래그에 대한 자세한 내용은 event_scheduler를 참조하세요.
읽기 복제본에서 event_scheduler
플래그가 ON
으로 설정되면 이벤트에 정의된 문 유형에 따라 오류가 발생할 수 있습니다.- 예약된 이벤트가 읽기 복제본의
write
이벤트이면 읽기 복제본이 읽기 전용이므로 오류가 발생합니다. 자세한 내용은 읽기 복제본을 참조하세요. - 예약된 이벤트에
kill
과 같은 중지 작업이 포함된 경우event_scheduler
에서 이를 복제본에 적용합니다. 그러면 복제가 중지되고 복제본이 삭제됩니다.
event_scheduler
플래그를 OFF
로 설정합니다.
event_scheduler
를 사용 설정 또는 중지하는 방법에 대한 자세한 내용은 데이터베이스 플래그 구성을 참조하세요.
replica_skip_errors
또는 slave_skip_errors
플래그를 설정하면 복제 문제가 발생할 수 있습니다. 일반적으로 문 실행 중에 오류가 발생하면 복제가 중지됩니다.
이 플래그를 사용하면 오류를 건너뛰고 복제가 계속 진행되어 기본 인스턴스와 복제본 간의 불일치가 발생합니다.
또한 복제 문제를 해결하기가 더 어려워질 수 있습니다.
Cloud SQL에서는 필요한 경우에만 이 플래그를 사용하는 것이 좋습니다. 복제 오류가 발생하면 Cloud SQL 문제 해결: 복제에서 이 문제를 해결하는 방법을 참조하세요.
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
SET GLOBAL FLAG_NAME=FLAG_VALUE
SET GLOBAL
명령어를 사용하려면 cloudsqlsuperuser
역할에 부여되는 CLOUDSQL_SPECIAL_SYSEM_VARIABLES_ADMIN
권한이 필요합니다.
특정 사용자에 대해 특별한 권한 액세스를 부여하는 방법은 MySQL 사용자 정보를 참조하세요. 이러한 플래그는 유지되지 않습니다. Cloud SQL 인스턴스를 다시 만들거나 재시작하면 플래그 설정이 다시 기본값으로 재설정됩니다.
- binlog_order_commits
-
binlog_order_commits
플래그의 기본값은ON
입니다. 이 플래그의 기본값을 변경하지 않는 것이 좋습니다. 기본값을OFF
로 변경하면 같은 바이너리 로그 그룹의 트랜잭션이 바이너리 로그에 기록될 때와 다른 순서로 커밋됩니다. 이는 바이너리 로그 순서로 트랜잭션을 실행하는 다음 작업에 영향을 미칩니다.- 복제: 소스와 복제본 간에 데이터 불일치가 발생할 수 있습니다.
- Point-in-time-recovery: PITR 복원된 상태와 이전 상태 간의 데이터 불일치가 발생할 수 있습니다.
- optimizer_switch,optimizer_trace,optimizer_trace_features
-
최적화 도구 플래그에는 쉼표로 구분된 값이 있습니다. 콘솔 또는 gcloud를 사용하여 이러한 플래그를 설정할 수 있습니다. 콘솔을 사용하여 이 플래그를 설정하는 방법에 대한 자세한 내용은 데이터베이스 플래그 구성을 참조하세요. gcloud를 사용하는 경우 두 가지 방법을 사용하여 이러한 플래그 값을 지정할 수 있습니다.
명령어 하나에서 최적화 도구 하위 플래그를 여러 개 설정하려면 쉼표 구분자를 사용하여 각 플래그 이름을 구별합니다. gcloud 명령어를 사용하여 단일 하위 플래그를 설정하면 이전에 설정한 모든 하위 플래그를 덮어씁니다. 예를 들어 다음 명령어를 실행하면batched_key_access
하위 플래그의 예상 값은on
으로 설정되고 optimizer_flags의 다른 모든 하위 플래그가 기본값으로 설정됩니다. 다음 명령어를 실행하면gcloud sql instances patch my-instance --database-flags=^~^optimizer_switch=batched_key_access=on
block_nested_loop
하위 플래그 값이on
으로 설정되고 optimizer_switch의 다른 모든 하위 플래그를 덮어쓰고 기본값으로 설정됩니다. 여기에는 이전 명령어에서gcloud sql instances patch my-instance --database-flags=^~^optimizer_switch=block_nested_loop=on
on
으로 설정된batched_key_access
가 포함됩니다. 이전에 설정된 모든 하위 플래그를 유지하고 새 플래그를 추가하려면 새 하위 플래그를 추가할 때 설정하려는 모든 하위 플래그 값을 추가해야 합니다.
Cloud SQL에서 변경된 시스템 플래그
지원되는 플래그 섹션에 나열되지 않은 다른 모든 데이터베이스 시스템을 관리형 플래그라고 부릅니다. 특정 관리형 플래그의 경우 Cloud SQL은 Cloud SQL 인스턴스가 안정적으로 실행될 수 있도록 기본 설정 이외의 값으로 플래그를 설정합니다. 이러한 시스템 플래그에서는 값을 변경할 수 없습니다.
기본값이 아닌 설정의 관리형 플래그가 아래에 나열되어 있습니다.
변수 이름 | Cloud SQL의 설정 | 참고 |
---|---|---|
binlog_format | ROW | MySQL 5.6에서만 다름 |
binlog_error_action | ABORT_SERVER | MySQL 5.6에서만 다름 |
innodb_doublewrite_pages | 64 | MySQL 8.0.26 이상에 적용 |
innodb_file_format | Barracuda | MySQL 5.6에서만 다름 |
innodb_flush_method | O_DIRECT | |
memlock | 참 | |
skip_name_resolve | 사용 | |
relay_log_info_repository | TABLE | MySQL 8.4에서 삭제됨 |
relay_log_recovery | 사용 | |
master_info_repository | TABLE | MySQL 8.4에서 삭제됨 |
rpl_semi_sync_master_enabled | 1 | |
rpl_semi_sync_master_timeout | 3000 | |
admin_address | 127.0.0.1 | MySQL 8.0 이상에서 다름 |
create_admin_listener_thread | 사용 | |
port-open-timeout | 120 | MySQL 8.0 이상에서 다름 |
partial_revokes | 사용 | MySQL 8.0 이상 이 플래그에 대한 자세한 내용은 MySQL 8.0에서 시스템 플래그 부분 취소를 참조하세요. |
MySQL 8.0 이상의 part_revokes 시스템 플래그
partial_revokes
플래그를 사용하면 데이터베이스 스키마에 대한 사용자 액세스를 제한할 수 있습니다.
MySQL용 Cloud SQL 버전 8.0 이상에서 partial_revokes
플래그는 ON
으로 설정됩니다. 이렇게 하면 MySQL 8.0의 데이터베이스 스키마에 대한 사용자 권한을 부여하거나 취소할 때 와일드 카드 문자의 사용이 제한됩니다. 와일드 카드 문자를 사용하는 대신 데이터베이스 스키마의 전체 이름을 사용하도록 GRANT
문을 업데이트합니다.
예를 들어 다음 명령어를 %\
와일드 카드 문자와 함께 사용하여 MySQL 5.7의 사용자에게 권한을 부여하면 사용자에게 _foobar
로 끝나는 모든 데이터베이스에 대한 권한이 부여됩니다.
GRANT ALL PRIVILEGES ON `%\_foobar`.* TO 'testuser'@'%';
그러나 MySQL 8.0에서는 사용자에게 %\_foobar
과 정확하게 일치하는 데이터베이스에 대한 액세스 권한만 부여됩니다.
MySQL 8.0 이상에서 여러 데이터베이스에 대한 액세스 권한을 부여하는 방법은 두 가지입니다.
아래 명령어에 표시된 것처럼 전체 데이터베이스 이름을 사용하여 특정 데이터베이스에 권한을 부여할 수 있습니다.
grant select on test1_foobar.* to 'testuser'@'%'; grant select on test2_foobar.* to 'testuser'@'%'; grant select on test3_foobar.* to 'testuser'@'%';
partial_revokes
를 사용하면grant
및revoke
명령어를 사용하여 모든 데이터베이스 스키마에 대한 권한을 부여하고 일부 데이터베이스 스키마에 대한 액세스를 제한할 수 있습니다.grant select on *.* to 'testuser'@'%'; revoke select on test3_foobar.* from 'testuser'@'%';
모든 데이터베이스 스키마에 대한 액세스를 부여하고
test3_foobar.*
에 대한 액세스를 제한합니다.
복제 필터
복제 필터는 Cloud SQL 복제본에서만 설정할 수 있습니다. 각 복제 필터는 각 데이터베이스 이름이 쉼표로 구분되는 여러 데이터베이스에 대한 단일 플래그로 설정됩니다. 콘솔 또는 다음 명령어를 사용하여 Cloud SQL 복제본에 복제 필터를 설정할 수 있습니다.
gcloud sql instances patch REPLICA_NAME --database-flags=^~^REPLICATION_FILTER_NAME=DATABASE_NAME1,DATABASE_NAME, etc
복제 필터는 쉼표 값이 포함된 데이터베이스 이름을 지원하지 않습니다. 이전 명령어의 ^~^
값은 쉼표로 구분된 값인 데이터베이스 플래그에 필요합니다.
복제 필터 플래그를 설정할 때 다음에 주의하세요.
- 복제본이 비정상이 되면 Cloud SQL이 기본 인스턴스의 소스 데이터를 사용하여 인스턴스 복제본을 다시 빌드하면서 복제 필터로 필터링된 데이터가 복제본에 나타날 수 있습니다.
mysql
스키마에는 복제 필터를 설정할 수 없습니다.- 복제 필터 규칙은 서버리스 내보내기에 적용되지 않습니다.
색인 자문 플래그
다음은 MySQL용 Cloud SQL가 색인 자문과 관련된 기능을 사용 설정하고 관리하기 위해 사용하는 데이터베이스 플래그 목록입니다.
플래그 이름 | 유형 허용 값 및 참고 사항 |
다시 시작 필요 여부 |
---|---|---|
cloudsql_index_advisor |
boolean on | off
기본값: off
|
예 |
cloudsql_index_advisor_auto_advisor_schedule |
string
기본값: 00:00
|
아니요 |
cloudsql_index_advisor_run_at_timestamp |
Datetime
기본값: 00:00:00
|
아니요 |
별칭이 지정된 플래그
아래 목록에는 MySQL용 Cloud SQL 버전 8.0.26 이상에서 변경된 플래그 이름이 포함되어 있습니다.
지원 중단된 플래그 이름 | 새 플래그 이름 |
---|---|
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 |
Cloud SQL 인스턴스에 지원 중단된 플래그 이름이 사용되는 경우 Cloud SQL 인스턴스를 수정하고 지원 중단된 플래그 이름을 삭제하고 인스턴스에 새 플래그를 추가합니다. 자세한 내용은 데이터베이스 플래그 설정을 참조하세요.
문제 해결
문제 | 문제 해결 |
---|---|
플래그를 사용 설정한 후 인스턴스가 공황과 비정상 종료 간에 순환됩니다. | 고객지원에 연락하여 플래그 삭제 후 hard drain 을 요청합니다. 이렇게 하면 원하지 않는 플래그 또는 설정 없이 새 구성으로 인스턴스가 다른 호스트에서 강제로 다시 시작됩니다.
|
플래그를 설정하려고 하면 오류 메시지 Bad syntax for dict arg 가 표시됩니다.
| 쉼표로 구분된 목록과 같은 복잡한 매개변수 값은 gcloud 명령어에 사용할 때 특수 처리되어야 합니다. |
다음 단계
- MySQL 시스템 변수 자세히 알아보기
- 운영 가이드라인 자세히 알아보기