設定資料庫旗標

本頁面說明如何設定 Cloud SQL 的資料庫旗標,並列出可為執行個體設定的旗標。您可以使用資料庫標記執行許多作業,包括調整 MySQL 參數、調整選項,以及設定及調整執行個體。

在部分情況下,設定某一標記可能會需要您設定另一個標記,才能完整啟用想要的功能。舉例來說,如要啟用慢速查詢記錄,您必須將 slow_query_log 標記設為 on,並將 log_output 標記設為 FILE,才能透過 Google Cloud 控制台的記錄檔探索工具使用記錄。

設定、移除或修改資料庫執行個體的標記時,資料庫可能會重新啟動。移除之前,系統都會保留執行個體的旗標值。如果執行個體是備用資源的來源,且重新啟動執行個體,備用資源也會重新啟動,以便與執行個體的目前設定保持一致。

設定資料庫旗標

設定資料庫旗標

控制台

  1. Google Cloud 控制台中,選取要設定資料庫旗標的 Cloud SQL 執行個體所在專案。
  2. 開啟執行個體並按一下 [編輯]
  3. 向下捲動至「旗標」區段。
  4. 如要設定在執行個體中未設定的標記,請按一下「新增項目」,從下拉式選單中選擇標記,然後設定其值。
  5. 按一下 [儲存] 以儲存變更。
  6. 在「總覽」頁面的「標記」下方,確認您所做的變更。

gcloud

編輯執行個體:

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

這項指令會覆寫先前設定的所有資料庫標記。如要保留這些標記並新增新的標記,請加入您要在執行個體上設定的所有標記值;未特別加入的標記會設為預設值。如果標記未設定任何值,請指定標記名稱,後面加上等號 ("=")。

舉例來說,如要設定 general_logskip_show_databasewait_timeout 標記,您可以使用下列指令:

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

Terraform

如要新增資料庫旗標,請使用 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
}

套用變更

如要在 Google Cloud 專案中套用 Terraform 設定,請完成下列各節中的步驟。

準備 Cloud Shell

  1. 啟動 Cloud Shell
  2. 設定要套用 Terraform 設定的預設 Google Cloud 專案。

    您只需為每個專案執行這個指令一次,而且可以在任何目錄中執行。

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    如果您在 Terraform 設定檔中設定明確的值,系統就會覆寫環境變數。

準備目錄

每個 Terraform 設定檔都必須有自己的目錄 (也稱為根模組)。

  1. Cloud Shell 中建立目錄,並在該目錄中建立新檔案。檔案名稱必須包含 .tf 副檔名,例如 main.tf。在本教學課程中,該檔案稱為 main.tf
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. 如果您正在參考教學課程,可以複製各個章節或步驟中的程式碼範例。

    將範例程式碼複製到新建立的 main.tf 中。

    您可以視需要從 GitHub 複製程式碼。如果 Terraform 程式碼片段是端對端解決方案的一部分,建議您採用這種做法。

  3. 查看並修改要套用至環境的範例參數。
  4. 儲存變更。
  5. 初始化 Terraform。這項操作只需對每個目錄執行一次。
    terraform init

    如要使用最新版的 Google 供應器,請視需要加入 -upgrade 選項:

    terraform init -upgrade

套用變更

  1. 檢查設定,並確認 Terraform 將要建立或更新的資源符合您的預期:
    terraform plan

    視需要修正設定。

  2. 執行下列指令,並在提示中輸入 yes,即可套用 Terraform 設定:
    terraform apply

    等待 Terraform 顯示「Apply complete!」(套用完成) 訊息。

  3. 開啟 Google Cloud 專案即可查看結果。在 Google Cloud 控制台中,前往 UI 中的資源,確認 Terraform 已建立或更新這些資源。

刪除變更

如要刪除變更,請按照下列步驟操作:

  1. 如要停用防刪除功能,請在 Terraform 設定檔中將 deletion_protection 引數設為 false
    deletion_protection =  "false"
  2. 執行下列指令,並在提示中輸入 yes,即可套用更新的 Terraform 設定:
    terraform apply
  1. 請執行下列指令,並在提示訊息中輸入 yes,藉此移除先前透過 Terraform 設定套用的資源:

    terraform destroy

REST v1

如要為現有資料庫設定標記,請按照下列步驟操作:

使用任何要求資料之前,請先替換以下項目:

  • project-id:專案 ID
  • instance-id:執行個體 ID

HTTP 方法和網址:

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 方法和網址:

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 方法和網址:

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 方法和網址:

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

JSON 要求主體:

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

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

如果資料庫目前已設有標記,請修改前一指令以併入這些標記。PATCH 指令會以要求中指定的值覆寫現有的標記。

將所有標記清除為預設值

控制台

  1. Google Cloud 控制台中,選取要清除所有標記的 Cloud SQL 執行個體所屬專案。
  2. 開啟執行個體並按一下 [編輯]
  3. 開啟「資料庫標記」區段。
  4. 按一下畫面上所有顯示標記旁的 [X]
  5. 按一下 [儲存] 以儲存變更。

gcloud

清除執行個體中所有標記並轉為預設值:

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

系統會提示您將重新啟動執行個體。

REST v1

清除現有執行個體的所有標記:

使用任何要求資料之前,請先替換以下項目:

  • project-id:專案 ID
  • instance-id:執行個體 ID

HTTP 方法和網址:

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 方法和網址:

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

JSON 要求主體:

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

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

查看資料庫標記的現行值

如要檢視 MySQL 系統變數的所有現行值,請使用 mysql 用戶端登入執行個體,然後輸入下列陳述式:

 SHOW VARIABLES;

請注意,您只能變更支援標記的值 (如下所示)。

判斷已為執行個體設定哪些資料庫標記

如要查看 Cloud SQL 執行個體設定了哪些旗標,請按照下列步驟操作:

控制台

  1. Google Cloud 控制台中,選取含有您要查看已設定資料庫標記的 Cloud SQL 執行個體的專案。
  2. 選取執行個體開啟其「Instance Overview」(執行個體總覽) 頁面。

    在「資料庫標記」區段下方會列出已設定的資料庫標記。

gcloud

取得執行個體狀態:

gcloud sql instances describe INSTANCE_NAME

在輸出中,資料庫標記會列示為 settings 底下的 databaseFlags 集合。如要進一步瞭解輸出內容中的標記表示法,請參閱「Instances Resource Representation」。

REST v1

列出已針對執行個體設定的標記:

使用任何要求資料之前,請先替換以下項目:

  • project-id:專案 ID
  • instance-id:執行個體 ID

HTTP 方法和網址:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

在輸出內容中,找出 databaseFlags 欄位。

REST v1beta4

列出已針對執行個體設定的標記:

使用任何要求資料之前,請先替換以下項目:

  • project-id:專案 ID
  • instance-id:執行個體 ID

HTTP 方法和網址:

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

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

在輸出內容中,找出 databaseFlags 欄位。

由 Cloud SQL 管理的標記

Cloud SQL 會根據執行個體機器類型調整特定系統旗標。

innodb_buffer_pool_instances
  • 1 個 db-f1-micro 和 db-g1-small。
  • 如果 RAM 小於 7.5 GB,則為 1。
  • 2:如果 RAM 介於 7.5 GB 和 13 GB 之間,
  • 4,如果 RAM 介於 13 GB 到 26 GB 之間。
  • 如果 RAM 大於或等於 26 GB,則為 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
086400 (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 (預設)、minimalnoblob
binlog_row_metadata enumeration
fullminimal (預設)
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
utf8utf8mb4
預設值:
MySQL 5.7:utf8
MySQL 8.0 以上版本:utf8mb4

如要進一步瞭解此標記,請參閱提示一節。

character_set_server string
utf8utf8mb4 (建議)
check_proxy_users boolean
on | off
預設值:off
cloudsql_allow_analyze_table boolean on | off
預設值:off
cloudsql_iam_authentication boolean on | off
預設值:off
在 MySQL 5.7 以上版本的 Cloud SQL 中支援。
cloudsql_ignore_innodb_encryption boolean on | off
預設值:off
cloudsql_mysql_audit_data_masking_cmds string
""dqldmlddldclshowcallcreate_udfdrop_functioncreate_procedurecreate_functiondrop_procedurealter_procedurealter_functioncreate_triggerdrop_triggercreate_eventalter_eventdrop_eventcreate_dbdrop_dbalter_dbcreate_userdrop_userrename_useralter_usercreate_tablecreate_indexalter_tabledrop_tabledrop_indexcreate_viewdrop_viewrename_tableupdateinsertinsert_selectdeletetruncatereplacereplace_selectdelete_multiupdate_multiloadselectcall_procedureconnectdisconnectgrantrevokerevoke_allshow_triggersshow_create_procshow_create_funcshow_procedure_codeshow_function_codeshow_create_eventshow_eventsshow_create_triggershow_grantsshow_binlog_eventsshow_relaylog_events

預設值:create_useralter_usergrantupdate
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 (預設)、CHAINRELEASE
concurrent_insert enumeration
NEVERAUTO (預設) 或 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 是倫敦 (屬於世界標準時間時區) 的時區偏移,而 Europe/London 則是時區名稱。

您可以使用值指定時區偏移量,從 -12:59+13:00。開頭必須加上零。

使用時區名稱時,系統會自動調整為日光節約時間。使用時區偏差時,系統不支援此功能。請參閱 Cloud SQL for MySQL 支援的時區名稱清單。您必須在主要執行個體和所有唯讀備用資源上手動更新這個標記,才能將其納入考量。

如要設定時區,但不導致 Cloud SQL 執行個體重新啟動,請使用 set time_zone=timezone_offsettimezone_name 指令,並加上 init_connect 標記。

default_week_format integer
0 ... 7
預設值:0
delay_key_write enumeration
OFFON (預設) 或 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

如果您正使用 Event Scheduler,請使用「ALWAYS」的 啟用政策設定執行個體,確保排定的事件可以執行。

如要進一步瞭解此標記,請參閱「提示」一節。

expire_logs_days integer
0 ... 99
預設值為 0,表示不會自動移除。

注意:MySQL 8.4 不支援這個標記。 請改用 binlog_expire_logs_seconds。如要進一步瞭解此標記,請參閱「提示」一節。

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_sizeinnodb_buffer_pool_instances。MySQL 可根據這兩個標記自動調整 innodb_buffer_pool_chunk_size 的值。

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

選項:noneinsertsdeleteschangespurgesall

innodb_checksum_algorithm string

選項:crc32strict_crc32innodbstrict_innodnonestrict_none

innodb_cloudsql_optimized_write boolean

這個旗標僅適用於採用 Cloud SQL Enterprise Plus 版本的執行個體。 如要進一步瞭解此標記,請參閱「提示」一節。

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 以上版本。

預設:on

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
預設值:
  • MySQL 5.6: 0
  • MySQL 5.7 以上版本: 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_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
    有效值:countermodulepatternall
    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 integer
    1 ... 32
    預設值:
  • MySQL 5.6: 1
  • MySQL 5.7 以上版本: 4
  • 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 (8 MB) ... 137438953472 (128 GB) MySQL 8.0.34 以上版本:8388608 (8 MB) ... 549755813888 (512 GB)

    如要進一步瞭解此標記,請參閱「提示」一節。

    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。

    如果您也啟用了 log_queries_not_using_indexes 標記,您可能會看到查詢時間少於此處指定的時間。

    lower_case_table_names 5.7 | 8.0 integer
    01
    預設值:0

    如果您為這個標記使用預設值 0,表格和資料庫名稱會區分大小寫。設定為 1 時,資料表和資料庫名稱不區分大小寫。

    對於 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=onenabled=offone_line=onone_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

    預設:off,如果執行個體 RAM 小於 15 GB,則為 MySQL 5.6、5.7、8.0 和 8.4。

    預設值:on,如果 MySQL 8.0 以上版本的執行個體 RAM 大於 15 GB

    如要進一步瞭解 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
    default: 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_LOSSYALL_NON_LOSSYALL_SIGNEDALL_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_LOSSYALL_NON_LOSSYALL_SIGNEDALL_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

    如需瞭解允許的值,包括合併模式 (例如 ANSI),請參閱 MySQL 說明文件中的伺服器 SQL 模式。系統不支援 NO_DIR_IN_CREATE

    MySQL 適用的 Cloud SQL 不支援 sql_mode 旗標的空值。請將這個旗標設為 NO_ENGINE_SUBSTITUTION 模式,而非使用空白值。

    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

    時區名稱

    在本節中,您將瞭解 Cloud SQL for MySQL 支援的時區名稱。

    本節的資料表會顯示以下內容:

    • 時區名稱:Cloud SQL for MySQL 支援的名稱。
    • STD:標準時間 (STD) 中的時區偏移。
    • DST:日光節約時間 (DST) 中的時區偏移。
    • 同義字名稱:您可能想使用的時區名稱,但 Cloud SQL for MySQL 不支援這些時區。如果發生這種情況,請使用對應的時區名稱。
    時區名稱 STD 數位服務稅 同義詞名稱
    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
    納瓦霍
    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
    美洲/聖保羅 −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
    以色列
    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 土耳其
    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
    南極洲/麥克馬多
    南極洲/南極
    Pacific/Fiji +12:00 +13:00
    Pacific/Guam +10:00 +10:00 Pacific/Saipan
    Pacific/Honolulu −10:00 −10:00 US/Hawaii
    太平洋/詹斯頓
    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
    世界標準時間 +00:00 +00:00 Etc/UTC
    Etc/UCT
    Etc/Universal
    Etc/Zulu

    Cloud SQL 中的時區表可能需要重新整理,以便取得最新資料。舉例來說,某個國家/地區可能會從夏令時間時區偏移改為標準時間偏移,或是引進新的時區。

    每當 Cloud SQL 推出重大服務代理程式 (CSA) 版本,時區表都會更新最新資料。發生這種情況時,系統會在非維護期間重新整理備用資源執行個體。主要執行個體會在維護期間重新整理。

    您可以等到 CSA 版本的定期維護時段,也可以執行自助維護,以最新資料更新時區表。如要進一步瞭解如何查看可用的維護版本,請參閱「決定目標維護版本」。

    使用標記的提示

    general_log、slow_query_log

    如要能夠使用 generalslow query 記錄,請啟用對應標記並將 log_output 標記設為 FILE。這會讓使用者能夠透過 主控台中的記錄檢視器使用記錄輸出。 Google Cloud 請注意,這會產生 Google Cloud Observability 記錄費用。為盡量降低執行個體儲存空間成本,當記錄檔超過 24 小時 (且在該期間內未進行任何變更) 或大小超過 100 MB 時,系統會輪替執行個體磁碟上的 generalslow query 記錄。舊的記錄檔會在輪替後自動刪除。

    如果 log_output 設為 NONE,您就無法存取記錄檔。如果您將 log_output 設為 TABLE,系統會將記錄輸出內容放入 MySQL 系統資料庫中的資料表。可能會占用大量磁碟空間。如果資料表變得很大,可能會影響執行個體重新啟動的時間,或導致執行個體喪失其服務水準協議的保障。因此,我們不建議使用 TABLE 選項。此外,記錄檔探索工具無法提供記錄檔內容,且不會輪替顯示。如有需要,您可以使用 API 截斷記錄資料表。詳情請參閱 instances.truncateLog 參考資料頁面

    expire_logs_days、binlog_expire_logs_seconds
    如果您啟用即時復原功能,二進位記錄的到期期限會根據交易記錄保留期限和這些標記的值,取較短者。您可以使用這些標記來管理二進位記錄在副本上儲存的時間長度。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,840 MiB 的執行個體上,您無法啟用這個標記。

    您無法為共用核心機器類型 (f1_micro 和 g1_small) 設定這個標記。如要在 MySQL 5.6 上變更這個旗標,必須重新啟動。

    在 Cloud SQL 中,innodb_buffer_pool_size 旗標的預設值、允許的下限值與允許的上限值皆取決於執行個體的記憶體。這些值可大致計算為執行個體的 RAM 百分比。根據預設,這個標記的值通常會設為接近允許的最大值。允許的最大分配百分比會隨著執行個體大小而增加。允許的最低值通常是執行個體 RAM 的 20%。

    此旗標的近似值:

    執行個體 RAM 範圍百分比下限預設 %百分比上限
    0 - 4.0 GB RAM約 34%
    4.0GB - 7.5GB約 20%約 34%約 34%
    7.5GB - 12GB約 20%約 52%約 52%
    12GB - 24GB約 20%約 67%約 67%
    24 GB 以上約 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%)

    innodb_cloudsql_optimized_write
    這個旗標僅適用於使用 Cloud SQL Enterprise Plus 版本的執行個體。預設值為 ON

    這個旗標會改善寫入效能,方法是最佳化刷新演算法、控制刷新限制,以及調整背景活動,以便將資料庫寫入作業設為優先。

    對於大多數用途而言,啟用此旗標可提升效能,例如提高傳輸量並縮短延遲時間。不過,如果資料庫寫入作業導致伺服器負載過重,則標記可能會延遲部分背景活動。這段延遲時間可能會導致磁碟用量略微增加,但在負載減少後會自動降低。

    根據預設,所有新的 Cloud SQL Enterprise Plus 版本執行個體和已升級的執行個體都會啟用 innodb_cloudsql_optimized_write 標記。對於現有的 Cloud SQL Enterprise Plus 版本執行個體,這項旗標會在套用相關維護更新後啟用。

    如果您需要停用標記,請執行下列指令。

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

    變更旗標的值需要重新啟動執行個體。

    innodb_file_per_table

    所有 MySQL 5.6 以上版本的預設值為 ON

    innodb_flush_log_at_trx_commit、sync_binlog
    如要完全符合 ACID 規定,並在複製設定中維持耐用性和一致性,innodb_flush_log_at_trx_commitsync_binlog 標記必須設為預設值 1。如果變更預設值,耐用性可能會降低,進而導致主要執行個體與備援執行個體之間出現不一致的情況。因此,執行個體會失去服務水準協議資格。此外,可能會發生下列任一情況:
    • 在特定情況下資料遺失,例如 VM 當機或區域 HA 執行個體發生故障轉移
    • 二進位記錄和 InnoDB 資料檔案中的資料不同步
    • PITR 資料遺失或失敗
    • 主要執行個體與備用資源之間的資料不一致
    • 複製作業中斷

    如果將 innodb_flush_log_at_trx_commitsync_binlog 旗標的值設為非預設值,主、獨立和 HA 執行個體的耐用性就會降低。

    如果您需要提高唯讀備用資源的效能,建議將 innodb_flush_log_at_trx_commit 值設為 2。Cloud SQL 不支援將這個旗標的值設為 0。如果將旗標值設為 2,您必須在備援資料庫上停用二進位記錄,或是將 sync_binlog 設為 1 以外的值,以提高效能。

    在備份時,Cloud SQL 可能會暫時將 innodb_flush_log_at_trx_commitsync_binlog 旗標值變更為預設值。這可能會導致備份作業效能降低。為避免這項情況影響執行個體,您可以在執行個體使用率偏低時變更備份時間窗格。詳情請參閱「建立及管理隨選和自動備份」。

    innodb_flush_log_at_timeout

    innodb_flush_log_at_timeout 可讓您修改頁面刷新的頻率,避免影響二進位記錄群組的提交效能。預設為每秒一次。

    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, innodb_log_file_size

    如果您為 innodb_redo_log_capacity 標記設定值,Cloud SQL 會忽略您為 innodb_log_file_size 標記定義的任何值。

    如果您未為 innodb_redo_log_capacityinnodb_log_file_size 標記設定任何值,Cloud SQL 會使用 innodb_redo_log_capacity 標記的預設值,或 104857600 (100 MB)。

    如果您未設定 innodb_redo_log_capacity 標記,但設定了 innodb_log_file_size 標記,則 innodb 重做記錄大小的值會根據 innodb_log_file_size * innodb_log_file_in_group 計算。舉例來說,如果您將 innodb_log_file_size 設為 10 GB,而 innodb_log_file_in_group 的預設值為 2,則 innodb 重做記錄大小的有效值為 20 GB。

    max_heap_table_size、tmp_table_size

    如果您為執行個體處理的並行查詢數設定過高的 tmp_table_sizemax_heap_table_size,就可能會耗盡可用的執行個體記憶體。耗盡記憶體會導致執行個體當機並重新啟動。

    如要進一步瞭解如何使用這些標記,請參閱「MySQL 如何使用內部暫時性資料表」和「MEMORY 儲存引擎」。

    performance_schema

    您無法在共用核心 (RAM 小於 3 GB) 的執行個體上啟用此標記。如果啟用此標記,您就無法將機器類型變更為不支援此標記的大小;您必須先停用此標記。

    event_scheduler
    MySQL 事件 (也稱為排程事件) 是指可排定的任務。排定事件是一組一或多個 SQL 陳述式,這些陳述式會在指定的間隔時間內執行。MySQL 5.7 的預設值為 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
    設定 replica_skip_errorsslave_skip_errors 標記可能會導致複製問題。一般來說,如果在執行陳述式時發生錯誤,系統會停止複製作業。使用這個旗標會導致錯誤遭到略過,並繼續複製,導致主要執行個體和備用資源之間出現不一致的情況。這也可能會讓您更難排除複寫問題。

    Cloud SQL 建議您僅在必要時使用此標記。如果發生複製錯誤,請參閱「 排解 Cloud SQL 問題:複製」,進一步瞭解如何解決這個問題。

    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
    這些標記無法直接在 Google Cloud 主控台或使用 gcloud CLI 中選取。如要使用這些旗標,請使用下列指令:

    SET GLOBAL FLAG_NAME=FLAG_VALUE

    使用 SET GLOBAL 指令需要 CLOUDSQL_SPECIAL_SYSEM_VARIABLES_ADMIN 權限,而這項權限會授予 cloudsqlsuperuser 角色。

    如要進一步瞭解如何授予特定使用者特殊權限存取權,請參閱「關於 MySQL 使用者」。這些標記不會保留。重新建立或重新啟動 Cloud SQL 執行個體時,標記設定會重設為預設值。

    binlog_order_commits

    binlog_order_commits 標記的預設值為 ON。Cloud SQL 建議您不要變更這個旗標的預設值。如果預設值變更為 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
    這包括 batched_key_access,這是先前指令將其設為 on 的項目。如要保留先前設定的所有子旗標並新增子旗標,您必須在新增子旗標時,加入所有要設定的子旗標值。

    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 資料表 已在 MySQL 8.4 中移除
    relay_log_recovery 開啟
    master_info_repository 資料表 已在 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 以上版本中的 partial_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 以上版本中,您可以透過兩種方式授予多個資料庫的存取權。

    1. 您可以使用完整資料庫名稱授予特定資料庫權限,如以下指令所示:

        grant select on test1_foobar.* to 'testuser'@'%';
        grant select on test2_foobar.* to 'testuser'@'%';
        grant select on test3_foobar.* to 'testuser'@'%';
      
    2. 使用 partial_revokes 時,您可以使用 grantrevoke 指令,為所有資料庫結構定義授予使用者權限,同時限制對部分資料庫結構定義的存取權。

        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_auto_advisor_schedule string
    預設值:00:00
    cloudsql_index_advisor_run_at_timestamp Datetime
    預設值:00:00:00

    別名旗標

    下列清單包含 Cloud SQL for MySQL 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 指令搭配使用時,需要特殊處理。

    後續步驟