データベース フラグを構成する

このページでは、Cloud SQL のデータベース フラグを構成する方法について説明し、インスタンスに設定できるフラグの一覧を示します。データベース フラグは、MySQL パラメータの調整、オプションの調整、インスタンスの構成や調整など、多くの操作で使用します。

場合によっては、目的の機能を完全に有効にするために、1 つのフラグの設定だけでなく、別のフラグの設定も必要になることがあります。たとえば、遅いクエリのログを有効にするためには、slow_query_log フラグを on に設定するだけでなく、Google Cloud コンソールのログ エクスプローラでログを利用できるように log_output フラグを FILE に設定する必要もあります。

データベース インスタンスのフラグを設定、削除、変更すると、データベースが再起動される場合があります。その場合、フラグの値はフラグを削除するまでインスタンスに対して保持されます。インスタンスがレプリカのソースで、インスタンスが再起動されると、レプリカはインスタンスの現在の構成に合わせて再起動します。

データベース フラグを構成する

データベース フラグを設定する

コンソール

  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 プロジェクトを設定します。

    このコマンドは、プロジェクトごとに 1 回だけ実行する必要があります。これは任意のディレクトリで実行できます。

    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 を初期化します。これは、ディレクトリごとに 1 回だけ行います。
    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 メソッドと 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 コマンドは、既存のフラグをリクエストで指定されているフラグで上書きします。

すべてのフラグをデフォルト値にクリアする

コンソール

  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 メソッドと 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 インスタンスに対して設定されているフラグを確認するには:

コンソール

  1. Google Cloud コンソールで、設定されているデータベース フラグを確認する Cloud SQL インスタンスを含むプロジェクトを選択します。
  2. インスタンスを選択して、[インスタンスの概要] ページを開きます。

    設定済みのデータベース フラグは、[データベースのフラグ] セクションに一覧表示されます。

gcloud

インスタンスの状態を取得します。

gcloud sql instances describe INSTANCE_NAME

出力では、データベース フラグは settings の下にコレクション databaseFlags として一覧表示されます。出力でのフラグの表示の詳細については、インスタンスのリソースの表示をご覧ください。

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.5 GB 未満の場合は 1。
  • RAM が 7.5 GB 以上 13 GB 未満の場合は 2。
  • RAM が 13 GB 以上 26 GB 未満の場合は 4。
  • RAM が 26 GB 以上の場合は 8。

サポートされているフラグ

Cloud SQL でサポートされている MySQL フラグは、最もよくリクエストされる MySQL フラグです。以下に記載のないフラグはサポートされていません。

各フラグについては、Cloud SQL でサポートされる値や範囲が、対応する MySQL のパラメータやオプションと異なる場合があります。

注記がある場合を除き、いずれのフラグも Google 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)
デフォルトは 2,592,000 で、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
""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(デフォルト)、CHAIN、または RELEASE
×
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 はロンドンのタイムゾーン オフセット(UTC タイムゾーン)、Europe/London はそのタイムゾーン名です。

タイムゾーン オフセットで指定する場合は、-12:59 から +13:00 の値を使用します。先頭の 0 は必須です。

タイムゾーン名を使用した場合、夏時間への自動調整がサポートされます。タイムゾーン オフセットの場合、夏時間への自動調整はサポートされません。Cloud SQL for MySQL でサポートされているタイムゾーン名のリストをご覧ください。夏時間を反映するには、プライマリ インスタンスとすべてのリードレプリカでこのフラグを手動で更新する必要があります。

Cloud SQL インスタンスを再起動せずにタイムゾーンを設定するには、set time_zone=timezone_offset コマンドまたは timezone_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 では、この 2 つのフラグに基づいて 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_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_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
    countermodulepatternall
    ×
    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 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_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
    MEMORYTempTable
    ×
    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
    0 または 1
    デフォルト: 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 の場合、この値は 1,024 の倍数にします。

    ×
    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(MySQL 5.6、5.7、8.0、8.4 で、インスタンスの RAM が 15 GB より小さい場合)

    デフォルト: 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
    デフォルト: 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 5.7.20 で非推奨になり、MySQL 8.0 で削除されたため、このフラグは MySQL 8.0 以降では使用できません。

    ×
    query_cache_min_res_unit integer
    0 9223372036854775807

    クエリ キャッシュは MySQL 5.7.20 で非推奨になり、MySQL 8.0 で削除されたため、このフラグは MySQL 8.0 以降では使用できません。

    ×
    query_cache_size integer
    0 223338299392

    クエリ キャッシュは MySQL 5.7.20 で非推奨になり、MySQL 8.0 で削除されたため、このフラグは MySQL 8.0 以降では使用できません。

    ×
    query_cache_type enumeration
    0 2

    クエリ キャッシュは MySQL 5.7.20 で非推奨になり、MySQL 8.0 で削除されたため、このフラグは MySQL 8.0 以降では使用できません。

    query_cache_wlock_invalidate boolean
    on | off

    クエリ キャッシュは MySQL 5.7.20 で非推奨になり、MySQL 8.0 で削除されたため、このフラグは 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 はサポートされていません。

    Cloud SQL for MySQL では、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)では、トランザクションを commit する前にバイナリログとディスクの同期を有効にします。

    このフラグを有効にしてレプリカを昇格させると、このフラグは自動的に削除されます。これにより、昇格したレプリカはデフォルトで完全な耐久性を持つことになります。昇格したレプリカでこのフラグを使用するには、昇格後にフラグをレプリカに更新します。

    このフラグの詳細については、ヒントをご覧ください。

    ×
    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 DST 同義名
    アフリカ / カイロ +02:00 +02:00 エジプト
    アフリカ / カサブランカ +01:00 +00:00
    アフリカ / ハラレ +02:00 +02:00 アフリカ / マプト
    アフリカ / モンロビア +00:00 +00:00
    アフリカ / ナイロビ +03:00 +03:00 アフリカ / アジスアベバ
    アフリカ / アスマラ
    アフリカ / ダルエスサラーム
    アフリカ / ジブチ
    アフリカ / カンパラ
    アフリカ / モガディシュ
    インド / アンタナナリボ
    インド / コモロ
    インド / マイヨット
    アフリカ / トリポリ +02:00 +02:00 リビア
    アフリカ / ウィントフック +02:00 +02:00
    アメリカ / アラグアイナ −03:00 −03:00
    アメリカ / アスンシオン −04:00 −03:00
    アメリカ / ボゴタ −05:00 −05:00
    アメリカ / ブエノスアイレス −03:00 −03:00 アメリカ / アルゼンチン / ブエノスアイレス
    アメリカ / カラカス −04:00 −04:00
    アメリカ / シカゴ −06:00 −05:00
    アメリカ / チワワ −07:00 −06:00 アメリカ / オヒナガ
    アメリカ / キアバ −04:00 −04:00
    アメリカ / デンバー −07:00 −06:00 アメリカ / シップロック
    ナバホ
    MST7MDT
    米国 / 山岳部
    アメリカ / デトロイト −05:00 −04:00
    アメリカ / フォルタレザ −03:00 −03:00
    アメリカ / グアテマラ −06:00 −06:00
    アメリカ / ハリファックス −04:00 −03:00 カナダ / 大西洋
    アメリカ / ロサンゼルス −08:00 −07:00
    アメリカ / マナウス −04:00 −04:00 ブラジル / 西部
    アメリカ / マタモロス −06:00 −05:00
    アメリカ / メキシコシティ −06:00 −05:00
    アメリカ / モンテレー −06:00 −05:00
    アメリカ / モンテビデオ −03:00 −03:00
    アメリカ / ニューヨーク −05:00 −04:00
    アメリカ / フェニックス −07:00 −07:00 米国 / アリゾナ
    MST
    アメリカ / クレストン
    アメリカ / サンティアゴ −04:00 −03:00 チリ / コンチネンタル
    アメリカ / サンパウロ −03:00 −03:00
    アメリカ / ティファナ −08:00 −07:00 メキシコ / バハノルテ
    アメリカ / エンセナダ
    アメリカ / サンタ_イサベル
    アジア / アンマン +02:00 +03:00
    アジア / アシガバート +05:00 +05:00 アジア / アシハバード
    アジア / バグダッド +03:00 +03:00
    アジア / バクー +04:00 +04:00
    アジア / バンコク +07:00 +07:00 アジア / プノムペン
    アジア / ビエンチャン
    アジア / ベイルート +02:00 +03:00
    アジア / カルカッタ +05:30 +05:30 アジア / カルカッタ
    アジア / ダマスカス +02:00 +03:00
    アジア / ダッカ +06:00 +06:00 アジア / ダッカ
    アジア / イルクーツク +08:00 +08:00
    アジア / エルサレム +02:00 +03:00 アジア / テルアビブ
    イスラエル
    アジア / カブール +04:30 +04:30
    アジア / カラチ +05:00 +05:00
    アジア / カトマンズ +05:45 +05:45 アジア / カトマンズ
    アジア / カルカッタ +05:30 +05:30
    アジア / クラスノヤルスク +07:00 +07:00
    アジア / マガダン +11:00 +11:00
    アジア / マスカット +04:00 +04:00 アジア / ドバイ
    アジア / ノボシビルスク +07:00 +07:00
    アジア / リヤド +03:00 +03:00 アジア / クウェート
    南極 / 昭和基地
    アジア / アデン
    アジア / ソウル +09:00 +09:00 ROK
    アジア / 上海 +08:00 +08:00 アジア / 重慶
    アジア / 重慶
    アジア / ハルビン
    PRC
    アジア / シンガポール +08:00 +08:00 シンガポール
    アジア / 台北 +08:00 +08:00 ROC
    アジア / テヘラン +03:30 +04:30 イラン
    アジア / 東京 +09:00 +09:00 日本
    アジア / ウランバートル +08:00 +08:00 アジア / ウランバートル
    アジア / ウラジオストク +10:00 +10:00
    アジア / ヤクーツク +09:00 +09:00
    アジア / イェレヴァン +04:00 +04:00
    アトランティック / アゾレス諸島 −01:00 +00:00
    オーストラリア / アデレード +09:30 +10:30 オーストラリア / 南
    オーストラリア / ブリスベン +10:00 +10:00 オーストラリア / クイーンズランド州
    オーストラリア / ダーウィン +09:30 +09:30 オーストラリア / 北
    オーストラリア / ホバート +10:00 +11:00 オーストラリア / カリー
    オーストラリア / タスマニア
    オーストラリア / パース +08:00 +08:00 オーストラリア / 西
    オーストラリア / シドニー +10:00 +11:00 オーストラリア / ニューサウスウェールズ
    オーストラリア / 首都特別地域
    オーストラリア / キャンベラ
    ブラジル / 東部 −03:00 −03:00 アメリカ / サンパウロ
    カナダ / ニューファンドランド −03:30 −02:30 アメリカ / セントジョーンズ
    カナダ / サスカチュワン州 −06:00 −06:00 アメリカ / レジーナ
    カナダ / ユーコン −07:00 −07:00 アメリカ / ホワイトホース
    ヨーロッパ / アムステルダム +01:00 +02:00
    ヨーロッパ / アテネ +02:00 +03:00
    ヨーロッパ / ダブリン +01:00 +00:00 アイレ
    ヨーロッパ / ヘルシンキ +02:00 +03:00 ヨーロッパ / マリハムン
    ヨーロッパ / イスタンブール +03:00 +03:00 トルコ
    アジア / イスタンブール
    ヨーロッパ / カリーニングラード +02:00 +02:00
    ヨーロッパ / マドリード +01:00 +02:00
    ヨーロッパ / モスクワ +03:00 +03:00 W-SU
    ヨーロッパ / パリ +01:00 +02:00 MET
    CET
    ヨーロッパ / プラハ +01:00 +02:00 ヨーロッパ / ブラチスラバ
    ヨーロッパ / サラエボ +01:00 +02:00 ヨーロッパ / ベオグラード
    ヨーロッパ / リュブリャナ
    ヨーロッパ / ポドゴリツァ
    ヨーロッパ / スコピエ
    ヨーロッパ / ザグレブ
    太平洋 / オークランド +12:00 +13:00 ニュージーランド
    南極大陸 / マックマード
    南極大陸 / サウスポール基地
    太平洋 / フィジー +12:00 +13:00
    太平洋 / グアム +10:00 +10:00 太平洋 / サイパン
    太平洋 / ホノルル −10:00 −10:00 米国 / ハワイ
    太平洋 / ジョンストン
    HST
    太平洋 / サモア −11:00 −11:00 太平洋 / パゴパゴ
    米国 / サモア
    米国 / アラスカ −09:00 −08:00 アメリカ / アンカレッジ
    アメリカ / ジュノー
    アメリカ / メトラカトラ
    アメリカ / ノーム
    アメリカ / シトカ
    アメリカ / ヤクタット
    米国 / 中部 −06:00 −05:00 アメリカ / シカゴ
    米国 / 東部 −05:00 −04:00 アメリカ / ニューヨーク
    アメリカ / イースト - インディアナ州 −05:00 −04:00 アメリカ / インディアナ / インディアナポリス
    アメリカ / インディアナポリス
    アメリカ / フォートウェイン
    米国 / 山岳部 −07:00 −06:00 アメリカ / デンバー
    米国 / 太平洋 −08:00 −07:00 アメリカ / ロサンゼルス
    UTC +00:00 +00:00 その他 / UTC
    その他 / UCT
    その他 / ユニバーサル
    その他 / ズールー

    Cloud SQL のタイムゾーン テーブルを最新のデータで更新することが必要となる場合があります。たとえば、特定の国で DST タイムゾーン オフセットから STD オフセットに移行する場合や、新しいタイムゾーンを導入する場合などです。

    Cloud SQL の重要なサービス エージェント(CSA)のリリースごとに、タイムゾーン テーブルが最新のデータで更新されます。この場合、メンテナンス以外の時間枠でレプリカ インスタンスが更新されます。その後、プライマリ インスタンスがメンテナンスの時間枠で更新されます。

    CSA リリースの定期メンテナンスの時間枠まで待つか、セルフサービス メンテナンスを実行してタイムゾーン テーブルを最新のデータで更新します。使用可能なメンテナンス バージョンの表示の詳細については、ターゲット メンテナンス バージョンを決定するをご覧ください。

    フラグの使用に関するヒント

    general_log、slow_query_log

    general または slow query ログを使用可能にするには、対応するフラグを有効にして、log_output フラグを FILE に設定します。これにより、Google Cloud コンソールのログビューアでログ出力を閲覧できるようになります。Google Cloud Observability のロギング料金が適用されます。インスタンスのストレージ費用を最小限に抑えるために、インスタンス ディスク上の general ログと slow query ログは、ログファイルが 24 時間経過した(かつその時間内に変更がない)場合や、100 MB を超えた場合にはローテーションされます。古いログファイルは、ローテーション後に自動的に削除されます。

    log_outputNONE に設定されている場合、ログにアクセスできません。log_outputTABLE に設定すると、ログ出力は mysql システム データベースのテーブルに格納されます。ディスク容量を大量に消費する可能性があります。このテーブルが大きくなると、インスタンスの再起動時間に影響を与える可能性があります。また、インスタンスが SLA の対象外になる可能性もあります。このため、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_sizeinnodb_buffer_pool_instances を掛けた値に等しいか、その倍数である必要があります。バッファプール サイズを innodb_buffer_pool_chunk_sizeinnodb_buffer_pool_instances の積に等しい値またはその倍数以外の値に変更すると、Cloud SQL はバッファプール サイズを自動的に調整します。このフラグは、3,840 MiB 未満の RAM のインスタンスでは有効にできません。

    共有コア マシンタイプ(f1_micro と g1_small)ではこのフラグを構成できません。MySQL 5.6 でこのフラグを変更するには、再起動が必要です。

    Cloud SQL では、innodb_buffer_pool_size フラグのデフォルト値、最小許容値、最大許容値は、インスタンスのメモリによって異なります。これらの値は、インスタンスの RAM のパーセンテージとしておおよそで計算されます。デフォルトでは、このフラグの値は、一般的には最大許容値の近くに設定されます。最大許容割り当て率は、インスタンスのサイズとともに増加します。最小許容値は、通常はインスタンスの RAM の約 20% です。

    このフラグのおおよその値:

    インスタンスの RAM 範囲最小 %デフォルト %最大 %
    0~4.0 GB の RAM~34%
    4.0 GB~7.5 GB~20%~34%~34%
    7.5 GB~12 GB~20%~52%~52%
    12 GB~24 GB~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_file_per_table

    MySQL バージョン 5.6 以降の場合、デフォルト値は ON です。

    innodb_flush_log_at_trx_commit, sync_binlog
    完全な ACID コンプライアンスを実現し、レプリケーションの設定で耐久性と整合性を維持するには、innodb_flush_log_at_trx_commit フラグと sync_binlog フラグを 1 のデフォルト値に設定する必要があります。デフォルト値を変更すると、耐久性が低下することがあります。これにより、プライマリ インスタンスとレプリカの間に不整合が生じる可能性があります。したがって、インスタンスは SLA の対象外となります。また、次のいずれかが発生することがあります。
    • 特定の状況(VM のクラッシュやリージョン HA インスタンスのフェイルオーバーなど)におけるデータの損失
    • バイナリログ ファイルと InnoDB データファイルのデータの同期が失われる
    • PITR データの損失または障害
    • プライマリ インスタンスとそのレプリカ間のデータの不整合
    • レプリケーションの中断

    プライマリ インスタンス、スタンドアロン インスタンス、HA インスタンスで innodb_flush_log_at_trx_commit または sync_binlog フラグの値をデフォルト以外の値に設定すると、耐久性が低下します。

    リードレプリカのパフォーマンスを高めるには、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

    innodb_flush_log_at_timeout を使用すると、ページ フラッシュの頻度を変更できるため、バイナリロググループの commit のパフォーマンスへの影響を回避できます。デフォルトの設定は 1 秒に 1 回です。

    Cloud SQL ではこのフラグが拡張され、マイクロ秒単位の期間の指定がサポートされるようになりました。

    例:

    • 0.001: 1 ミリ秒を指定します
    • 0.0001: 100 us を指定します
    • 12.5: 12.5 秒を指定します
    • 12.005: 12 秒と 5 ミリ秒を指定します
    • 0.005100: 5 ミリ秒と 100 us を指定します

    特定のワークロードでは、ページのフラッシュに秒単位を使用すると、トランザクションが失われる可能性があるため、許容されない可能性があります。代わりに、マイクロ秒単位でページをフラッシュすることで、耐久性を大幅に損なうことなくパフォーマンスを維持できます。

    innodb_flush_log_at_timeout フラグのマイクロ秒期間は、innodb_flush_log_at_trx_commit 耐久性フラグが 2 に設定されている場合にのみ適用されます。

    ページのフラッシュは、innodb_flush_log_at_timeout に指定された値よりも頻繁に発生することもあれば、少ないこともあります。また、値は上限ではありません。

    max_heap_table_size、tmp_table_size

    インスタンスが処理する同時クエリの数に対して、tmp_table_size および max_heap_table_size に設定する値が大きすぎると、インスタンスの使用可能なメモリが不足する可能性があります。メモリが不足すると、インスタンスがクラッシュして再起動します。

    これらのフラグの使用方法については、MySQL での内部一時テーブルの使用方法MEMORY ストレージ エンジンをご覧ください。

    performance_schema

    共有コア(RAM が 3 GB 未満)を持つインスタンスでは、このフラグを有効にできません。このフラグを有効にすると、マシンタイプをフラグに対応していないサイズに変更することはできません。変更するには、まずこのフラグを無効にする必要があります。

    event_scheduler
    MySQL イベントは、スケジュールされたイベントとも呼ばれ、スケジュールできるタスクです。スケジュールされたイベントとは、1 つ以上の指定間隔で実行されるように設定されている 1 つ以上の 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_errors フラグまたは slave_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 コマンドを使用するには、cloudsqlsuperuser ロールに付与されている CLOUDSQL_SPECIAL_SYSEM_VARIABLES_ADMIN 権限が必要です。

    特定のユーザーに特別な権限を付与する方法については、MySQL ユーザーについてをご覧ください。これらのフラグは永続的ではありません。Cloud SQL インスタンスが再作成または再起動されると、フラグの設定値はデフォルト値にリセットされます。

    binlog_order_commits

    binlog_order_commits フラグのデフォルト値は ON です。このフラグのデフォルト値を変更しないことをおすすめします。デフォルト値を OFF に変更した場合、同じバイナリロググループ内のトランザクションは、バイナリログに書き込まれたときとは異なる順序で commit されます。これは、バイナリログの順序でトランザクションを実行する次のオペレーションに影響します。

    • レプリケーション: ソースとレプリカの間でデータの不整合が発生する可能性があります
    • ポイントインタイム リカバリ: PITR の復元状態と履歴状態の間でデータの不整合が発生する可能性があります

    optimizer_switch、optimizer_trace、optimizer_trace_features

    オプティマイザー フラグにはカンマ区切り値があります。これらのフラグは、コンソールまたは gcloud を使用して設定できます。コンソールを使用してこのフラグを設定する方法については、データベース フラグを構成するをご覧ください。 gcloud を使用している場合は、次の 2 つの方法でこれらのフラグの値を指定できます。

    1 つのコマンドでオプティマイザーの複数のサブフラグを設定するには、カンマで区切りを使用して各フラグ名を区切ります。gcloud コマンドを使用して 1 つのサブフラグ値を設定すると、以前に設定されたすべてのサブフラグが上書きされます。たとえば、次のコマンドを実行すると、batched_key_access サブフラグの想定値が on に設定され、オプティマイザーのフラグのその他のサブフラグはすべてデフォルト値に設定されます。
    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 true
    skip_name_resolve ON
    relay_log_info_repository テーブル MySQL 8.4 で削除
    relay_log_recovery ON
    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 ON
    port-open-timeout 120 MySQL 8.0 以降では異なります。
    partial_revokes オン MySQL 8.0 以降このフラグの詳細については、MySQL 8.0 での partial_revokes システムフラグをご覧ください。

    MySQL 8.0 以降の partial_revokes システムフラグ

    partial_revokes フラグを使用すると、データベース スキーマに対するユーザー アクセスを制限できます。Cloud SQL for MySQL バージョン 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 以降では、複数のデータベースへのアクセス権を付与する方法が 2 つあります。

    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 で、grant コマンドと revoke コマンドを使用して、少数のデータベース スキーマへのアクセスを制限しながら、すべてのデータベース スキーマに対するユーザー権限を付与できます。

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

      これにより、test3_foobar.* へのアクセスを制限しながら、すべてのデータベース スキーマへのアクセス権が付与されます。

    レプリケーション フィルタ

    レプリケーション フィルタは Cloud SQL レプリカに対してのみ設定できます。各レプリケーション フィルタは、複数のデータベースに対する 1 つのフラグとして設定されます。各データベース名はカンマで区切って指定します。コンソールまたは次のコマンドを使用して、Cloud SQL レプリカにレプリケーション フィルタを設定できます。

    gcloud sql instances patch REPLICA_NAME --database-flags=^~^REPLICATION_FILTER_NAME=DATABASE_NAME1,DATABASE_NAME, etc

    レプリケーション フィルタは、カンマ値を含むデータベース名をサポートしていません。前述のコマンドの ^~^ 値は、カンマ区切り値であるデータベース フラグに必要です。

    レプリケーション フィルタフラグを設定する場合は、次の点に注意してください。

    • レプリカが異常な状態になると、Cloud SQL がプライマリのソースデータを使用してインスタンス レプリカを再構築するため、レプリケーション フィルタでフィルタリングされたデータがレプリカに表示されることがあります。
    • mysql スキーマにはレプリケーション フィルタを設定できません。
    • レプリケーション フィルタルールは、サーバーレス エクスポートには適用されません。

    インデックス アドバイザーのフラグ

    次に、Cloud SQL for MySQL がインデックス アドバイザー固有の機能を有効にして管理するために使用するデータベース フラグのリストを示します。

    フラグ名
    有効な値と注意事項
    再起動が
    必須か
    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
    ×

    新しい名前が設定されたフラグ

    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 コマンドで使用する場合は、特別な処理が必要です。

    次のステップ