このページでは、Cloud SQL のデータベース フラグを構成する方法について説明し、インスタンスに設定できるフラグの一覧を示します。データベース フラグは、MySQL パラメータの調整、オプションの調整、インスタンスの構成や調整など、多くの操作で使用します。
場合によっては、目的の機能を完全に有効にするために、1 つのフラグの設定だけでなく、別のフラグの設定も必要になることがあります。たとえば、遅いクエリのログを有効にするためには、slow_query_log
フラグを on
に設定するだけでなく、Google Cloud コンソールのログ エクスプローラでログを利用できるように log_output
フラグを FILE
に設定する必要もあります。
データベース インスタンスのフラグを設定、削除、変更すると、データベースが再起動される場合があります。その場合、フラグの値はフラグを削除するまでインスタンスに対して保持されます。インスタンスがレプリカのソースで、インスタンスが再起動されると、レプリカはインスタンスの現在の構成に合わせて再起動します。
データベース フラグを構成する
データベース フラグを設定する
コンソール
- Google Cloud コンソールで、データベース フラグを設定する Cloud SQL インスタンスを含むプロジェクトを選択します。
- インスタンスを開き、[編集] をクリックします。
- 下方向にスクロールして [フラグ] セクションを表示します。
- それまでにインスタンスで設定したことのないフラグを設定するには、[項目を追加] をクリックし、プルダウン メニューからフラグを選択して、その値を設定します。
- [保存] をクリックして、変更を保存します。
- [概要] ページの [フラグ] で、変更を確認します。
gcloud
インスタンスを編集します。
gcloud sql instances patch INSTANCE_NAME --database-flags=FLAG1=VALUE1,FLAG2=VALUE2
このコマンドでは、以前に設定されたすべてのデータベース フラグが上書きされます。これらを保持し、新しいフラグを追加するには、インスタンスに設定するすべてのフラグの値を含めます。具体的に含まれていないフラグはデフォルト値に設定されます。値のないフラグについては、フラグ名の後に等号(=)を付けておきます。
たとえば、フラグ general_log
、skip_show_database
、wait_timeout
を設定するには、次のコマンドを使用します。
gcloud sql instances patch INSTANCE_NAME \ --database-flags=general_log=on,skip_show_database=on,wait_timeout=200000
Terraform
データベース フラグを追加するには、Terraform リソースを使用します。
変更を適用する
Google Cloud プロジェクトで Terraform 構成を適用するには、次のセクションの手順を完了します。
Cloud Shell を準備する
- Cloud Shell を起動します。
-
Terraform 構成を適用するデフォルトの Google Cloud プロジェクトを設定します。
このコマンドは、プロジェクトごとに 1 回だけ実行する必要があります。これは任意のディレクトリで実行できます。
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Terraform 構成ファイルに明示的な値を設定すると、環境変数がオーバーライドされます。
ディレクトリを準備する
Terraform 構成ファイルには独自のディレクトリ(ルート モジュールとも呼ばれます)が必要です。
-
Cloud Shell で、ディレクトリを作成し、そのディレクトリ内に新しいファイルを作成します。ファイルの拡張子は
.tf
にする必要があります(例:main.tf
)。このチュートリアルでは、このファイルをmain.tf
とします。mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
チュートリアルを使用している場合は、各セクションまたはステップのサンプルコードをコピーできます。
新しく作成した
main.tf
にサンプルコードをコピーします。必要に応じて、GitHub からコードをコピーします。Terraform スニペットがエンドツーエンドのソリューションの一部である場合は、この方法をおすすめします。
- 環境に適用するサンプル パラメータを確認し、変更します。
- 変更を保存します。
-
Terraform を初期化します。これは、ディレクトリごとに 1 回だけ行います。
terraform init
最新バージョンの Google プロバイダを使用する場合は、
-upgrade
オプションを使用します。terraform init -upgrade
変更を適用する
-
構成を確認して、Terraform が作成または更新するリソースが想定どおりであることを確認します。
terraform plan
必要に応じて構成を修正します。
-
次のコマンドを実行します。プロンプトで「
yes
」と入力して、Terraform 構成を適用します。terraform apply
Terraform に「Apply complete!」というメッセージが表示されるまで待ちます。
- Google Cloud プロジェクトを開いて結果を表示します。Google Cloud コンソールの UI でリソースに移動して、Terraform によって作成または更新されたことを確認します。
変更を削除する
変更を削除するには、次の手順を行います。
- 削除の保護を無効にするには、Terraform 構成ファイルで
deletion_protection
引数をfalse
に設定します。deletion_protection = "false"
- 次のコマンドを実行します。プロンプトで「
yes
」と入力して、更新された Terraform 構成を適用します。terraform apply
-
次のコマンドを実行します。プロンプトで「
yes
」と入力して、以前に Terraform 構成で適用されたリソースを削除します。terraform destroy
REST v1
既存のデータベースのフラグを設定するには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
リクエストの本文(JSON):
{ "settings": { "databaseFlags": [ { "name": "flag_name", "value": "flag_value" } ] } }
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
たとえば、既存のデータベースに general_log
フラグを設定するには、次のようにします。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
リクエストの本文(JSON):
{ "settings": { "databaseFlags": [ { "name": "general_log", "value": "on" } ] } }
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
データベースにすでに構成されているフラグがある場合は、以前のコマンドを変更するときにそれらのフラグも含めるようにします。PATCH
コマンドは、既存のフラグをリクエストで指定されているフラグで上書きします。
REST v1beta4
既存のデータベースのフラグを設定するには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
リクエストの本文(JSON):
{ "settings": { "databaseFlags": [ { "name": "flag_name", "value": "flag_value" } ] } }
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
たとえば、既存のデータベースに general_log
フラグを設定するには、次のようにします。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
リクエストの本文(JSON):
{ "settings": { "databaseFlags": [ { "name": "general_log", "value": "on" } ] } }
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
データベースにすでに構成されているフラグがある場合は、以前のコマンドを変更するときにそれらのフラグも含めるようにします。PATCH
コマンドは、既存のフラグをリクエストで指定されているフラグで上書きします。
すべてのフラグをデフォルト値にクリアする
コンソール
- Google Cloud コンソールで、すべてのフラグをクリアする Cloud SQL インスタンスが含まれているプロジェクトを選択します。
- インスタンスを開き、[編集] をクリックします。
- [データベースのフラグ] セクションを開きます。
- 表示されているフラグの横にある X をクリックします。
- [保存] をクリックして、変更を保存します。
gcloud
インスタンスのすべてのフラグをデフォルト値にクリアします。
gcloud sql instances patch INSTANCE_NAME \ --clear-database-flags
インスタンスを再起動する確認を求められます。
REST v1
既存のインスタンスのフラグをすべてクリアするには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
リクエストの本文(JSON):
{ "settings": { "databaseFlags": [] } }
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
REST v1beta4
既存のインスタンスのフラグをすべてクリアするには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
リクエストの本文(JSON):
{ "settings": { "databaseFlags": [] } }
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
データベース フラグの現在の値を表示する
すべての MySQL システム変数の現在値を表示するには、mysql
クライアントでインスタンスにログインし、次のステートメントを入力します。
SHOW VARIABLES;
サポートされているフラグのみ値を変更できます(下記を参照)。
インスタンスに設定されているデータベース フラグを確認する
Cloud SQL インスタンスに対して設定されているフラグを確認するには:
コンソール
- Google Cloud コンソールで、設定されているデータベース フラグを確認する Cloud SQL インスタンスを含むプロジェクトを選択します。
- インスタンスを選択して、[インスタンスの概要] ページを開きます。
設定済みのデータベース フラグは、[データベースのフラグ] セクションに一覧表示されます。
gcloud
インスタンスの状態を取得します。
gcloud sql instances describe INSTANCE_NAME
出力では、データベース フラグは 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 "" 、dql 、dml 、ddl 、dcl 、show 、call 、create_udf 、drop_function 、create_procedure 、create_function 、drop_procedure 、alter_procedure 、alter_function 、create_trigger 、drop_trigger 、create_event 、alter_event 、drop_event 、create_db 、drop_db 、alter_db 、create_user 、drop_user 、rename_user 、alter_user 、create_table 、create_index 、alter_table 、drop_table 、drop_index 、create_view 、drop_view 、rename_table 、update 、insert 、insert_select 、delete 、truncate 、replace 、replace_select 、delete_multi 、update_multi 、load 、select 、call_procedure 、connect 、disconnect 、grant 、revoke 、revoke_all 、show_triggers 、show_create_proc 、show_create_func 、show_procedure_code 、show_function_code 、show_create_event 、show_events 、show_create_trigger 、show_grants 、show_binlog_events 、show_relaylog_events
デフォルト: create_user 、alter_user 、grant 、update
|
× |
cloudsql_mysql_audit_data_masking_regex |
string max_string_length: 2048 デフォルト: こちらをクリックしてください。 |
× |
cloudsql_mysql_audit_log_write_period |
integer 0...5000 ミリ秒
デフォルト: 500 ミリ秒 |
× |
cloudsql_mysql_audit_max_query_length |
integer -1...1073741824
デフォルト: -1
|
× |
cloudsql_vector |
boolean on | off
デフォルト: off
|
○ |
cloudsql_vector_max_mem_size |
integer 1073741824...innodb_buffer_pool_size/2
デフォルト: 1073741824 バイト単位
|
○ |
completion_type | enumeration NO_CHAIN (デフォルト)、CHAIN 、または RELEASE |
× |
concurrent_insert | enumeration NEVER 、AUTO (デフォルト)または ALWAYS |
× |
connect_timeout | integer 2 ... 31536000
デフォルト: 10 |
× |
cte_max_recursion_depth | integer 0 ... 4294967295
デフォルト: 1000 |
× |
default_authentication_plugin | string mysql_native_password|caching_sha2_password
|
○ |
default_password_lifetime | integer 0...65535
デフォルト: 0
|
× |
default_time_zone | string タイムゾーンは、タイムゾーン オフセットまたはタイムゾーン名で指定します。たとえば、 +00:00 はロンドンのタイムゾーン オフセット(UTC タイムゾーン)、Europe/London はそのタイムゾーン名です。
タイムゾーン オフセットで指定する場合は、 タイムゾーン名を使用した場合、夏時間への自動調整がサポートされます。タイムゾーン オフセットの場合、夏時間への自動調整はサポートされません。Cloud SQL for MySQL でサポートされているタイムゾーン名のリストをご覧ください。夏時間を反映するには、プライマリ インスタンスとすべてのリードレプリカでこのフラグを手動で更新する必要があります。 Cloud SQL インスタンスを再起動せずにタイムゾーンを設定するには、 |
○ |
default_week_format | integer 0 ... 7
デフォルト: 0 |
× |
delay_key_write | enumeration OFF 、ON (デフォルト)、または ALL |
× |
disconnect_on_expired_password | boolean on | off
デフォルト: on
|
○ |
div_precision_increment | integer 0 ... 30
デフォルト: 4 |
× |
end_markers_in_json |
boolean on | off
デフォルト: off
|
× |
eq_range_index_dive_limit | integer 0 ~ 2147483647 |
× |
event_scheduler | boolean on | off Event Scheduler を使用している場合、スケジュールされたイベントが実行されるようにするには、インスタンスのアクティベーション ポリシーを ALWAYS に構成します。 このフラグの詳細については、ヒントをご覧ください。 |
× |
expire_logs_days | integer 0 ... 99 デフォルトは 0 で、これは自動削除されないことを意味します。 注: このフラグは MySQL 8.4 ではサポートされていません。代わりに |
× |
explicit_defaults_for_timestamp | boolean on | off |
× |
flush_time | integer 0 ... 31536000
デフォルト: 0 |
× |
foreign_key_checks |
boolean on | off
デフォルト: on
このフラグの詳細については、ヒントをご覧ください。 |
× |
ft_max_word_len | integer 10 ~ 252 |
○ |
ft_min_word_len | integer 1 ... 16 |
○ |
ft_query_expansion_limit | integer 0 ~ 1000 |
○ |
ft_stopword_file | string |
○ |
general_log | boolean on | off 汎用ログの詳細については、ヒントをご覧ください。 |
× |
generated_random_password_length | integer 5-255
デフォルト: 20
|
× |
group_concat_max_len | integer 4 ... 17179869184 |
× |
gtid_executed_compression_period | integer 0 ... 4294967295
デフォルト(バージョン 8.0.22 まで): 1000
デフォルト(バージョン 8.0.23 以降): 0 |
× |
histogram_generation_max_mem_size | integer 1000000 ... 4294967295
デフォルト: 20000000
|
× |
init_connect | string |
× |
innodb_adaptive_hash_index | boolean on | off |
× |
innodb_adaptive_hash_index_parts | integer 1 ... 512 |
○ |
innodb_adaptive_max_sleep_delay | integer 0 ~ 1000000 |
× |
innodb_autoextend_increment | integer 1 ... 1000 |
× |
innodb_autoinc_lock_mode | integer 0 ... 2 |
○ |
innodb_buffer_pool_chunk_size | integer 1048576 ... (innodb_buffer_pool_size/innodb_buffer_pool_instances) このフラグの値は |
○ |
innodb_buffer_pool_dump_pct | integer 1 ... 100
デフォルト: 25 |
× |
innodb_buffer_pool_dump_at_shutdown | boolean on | off |
× |
innodb_buffer_pool_dump_now | boolean on | off このフラグの詳細については、ヒントをご覧ください。 |
× |
innodb_buffer_pool_instances | integer 1 ~ 64 |
○ |
innodb_buffer_pool_load_abort | boolean on | off このフラグの詳細については、ヒントをご覧ください。 |
× |
innodb_buffer_pool_load_at_startup | boolean on | off |
○ |
innodb_buffer_pool_load_now | boolean on | off このフラグの詳細については、ヒントをご覧ください。 |
× |
innodb_buffer_pool_size | integer
MySQL 5.6 に対してこのフラグを設定するには、再起動が必要です。このフラグの詳細については、ヒントをご覧ください。 | × |
innodb_change_buffer_max_size | integer 0 ... 50 |
× |
innodb_change_buffering | string オプション: |
× |
innodb_checksum_algorithm | string オプション: |
× |
innodb_cmp_per_index_enabled | boolean on | off |
× |
innodb_commit_concurrency | integer 0 ... 1000 |
○ |
innodb_compression_failure_threshold_pct | integer 0 ... 100 |
× |
innodb_compression_level | integer 0 ... 9 |
× |
innodb_compression_pad_pct_max | integer 0 ... 75 |
× |
innodb_concurrency_tickets | integer 1 ... 4294967295 |
× |
innodb_deadlock_detect | boolean on | off MySQL 5.7 以降でサポートされています。 デフォルト: |
× |
innodb_disable_sort_file_cache | boolean on | off |
× |
innodb_doublewrite_batch_size | integer 0 ... 256 デフォルト: 0 |
○ |
innodb_doublewrite_files | integer 2 ... 128 |
○ |
innodb_doublewrite_pages | integer 4 ... 512 デフォルト: 64 |
○ |
innodb_file_per_table | boolean on | off このフラグの詳細については、ヒントをご覧ください。 |
× |
innodb_fill_factor | integer 10 ... 100 |
× |
innodb_flush_log_at_timeout | double 0.0001 ... 2700 デフォルト: 1 MySQL 5.7 以降でサポートされています。 このフラグの詳細については、ヒントをご覧ください。 |
× |
innodb_flush_log_at_trx_commit | integer 1, 2 デフォルト: 1 このフラグを有効にしてレプリカを昇格させると、このフラグは自動的に削除されます。これにより、昇格したレプリカはデフォルトで完全な耐久性を持つことになります。昇格したレプリカでこのフラグを使用するには、昇格後にフラグをレプリカに更新します。 このフラグの詳細については、ヒントをご覧ください。 |
× |
innodb_flush_neighbors | enumeration 0 ... 2 デフォルト値: 0 2 |
× |
innodb_flush_sync | boolean on | off |
× |
innodb_ft_aux_table | string このフラグの詳細については、ヒントをご覧ください。 |
○ |
innodb_ft_cache_size | integer 1600000 ... 80000000 |
○ |
innodb_ft_enable_diag_print | boolean on | off |
× |
innodb_ft_enable_stopword | boolean on | off |
× |
innodb_ft_max_token_size | integer 10 ~ 252 |
○ |
innodb_ft_min_token_size | integer 0 ~ 16 |
○ |
innodb_ft_num_word_optimize | integer 1000 ... 10000 |
× |
innodb_ft_result_cache_limit | integer 1000000 ... 4294967295 |
× |
innodb_ft_server_stopword_table | string |
× |
innodb_ft_sort_pll_degree | integer 1 ... 32 |
○ |
innodb_ft_total_cache_size | integer 32000000 ... 1600000000 |
○ |
innodb_ft_user_stopword_table | string |
× |
innodb_io_capacity | integer 100 ... 100000
デフォルト: 5000
ディスク パフォーマンスの構成の詳細については、パフォーマンス要件を満たすようにディスクを構成するの E2 VM 表をご覧ください。 |
× |
innodb_io_capacity_max | integer 100 ... 100000
デフォルト: 10000
ディスク パフォーマンスの構成の詳細については、パフォーマンス要件を満たすようにディスクを構成するの E2 VM 表をご覧ください。 |
× |
innodb_large_prefix | boolean on | off MySQL 5.6 でのみサポートされます。 |
× |
innodb_lock_wait_timeout | integer 1 ... 1073741824 |
× |
innodb_log_buffer_size | integer 262144 ... 4294967295 |
○ |
innodb_log_checksums | boolean on | off
デフォルト: on |
× |
innodb_log_compressed_pages | boolean on | off
デフォルト: on |
× |
innodb_log_file_size | integer MySQL 5.6: 1048576 ... 274877906944 MySQL 5.7 以降: 4194304 ... 274877906944 |
○ |
innodb_log_spin_cpu_abs_lwm | integer 0 ... 4294967295
デフォルト: 80 |
× |
innodb_log_spin_cpu_pct_hwm | integer 0 ... 100
デフォルト: 50 |
× |
innodb_log_wait_for_flush_spin_hwm | integer 0 ... 4294967295
デフォルト: 400 |
× |
innodb_log_write_ahead_size | integer 512 ... 65536
デフォルト: 8192 |
× |
innodb_lru_scan_depth | integer 100 ... 9223372036854775807 |
× |
innodb_max_dirty_pages_pct | float 0 ... 99.99
デフォルト: 90 |
× |
innodb_max_dirty_pages_pct_lwm | float 0 ... 99.99
デフォルト: 10 |
× |
innodb_max_purge_lag | integer 0 ... 4294967295
デフォルト: 0 |
× |
innodb_max_undo_log_size | integer 10485760 ... 9223372036854775807
デフォルト: 1073741824 |
× |
innodb_max_purge_lag_delay | integer 0 ... 10000000
デフォルト: 0 |
× |
innodb_monitor_disable |
string |
× |
innodb_monitor_enable |
string |
× |
innodb_monitor_reset |
string counter 、module 、pattern 、all |
× |
innodb_monitor_reset_all |
enumeration 有効な値: counter 、module 、pattern 、all |
× |
innodb_old_blocks_pct | integer 5 ... 95 |
× |
innodb_old_blocks_time | integer 0 ~ 4294967295 |
× |
innodb_online_alter_log_max_size | integer 65536 ... 9223372036854775807 |
× |
innodb_open_files | integer 100 ... 2147483647
デフォルト: MySQL 5.7: 2000
MySQL 8.0 以降: 4000 |
≥ 8.0.28 : いいえ ≤ 8.0.27 : はい |
innodb_optimize_fulltext_only | boolean on | off |
× |
innodb_page_cleaners | integer 1 ... 64 MySQL 5.7 以降でサポートされています。MySQL 5.7 と 8.0 のデフォルトは 4 です。MySQL 8.4 の場合、デフォルトは innodb_buffer_pool_instances フラグに構成された値と同じです。 |
○ |
innodb_parallel_read_threads | integer 1 ... 256
デフォルト: 4 |
× |
innodb_print_all_deadlocks | boolean on | off
デフォルト: off |
× |
innodb_print_ddl_logs | boolean on | off |
× |
innodb_purge_batch_size | integer 1 ... 5000
デフォルト: 300 |
× |
innodb_purge_rseg_truncate_frequency | integer 1 ... 128
デフォルト: 128 |
× |
innodb_purge_threads | 1 ... 32
デフォルトは 1 です。 |
○ |
innodb_random_read_ahead | boolean on | off |
× |
innodb_read_ahead_threshold | integer 0 ... 64 |
× |
innodb_read_io_threads | integer 1 ... 64
|
○ |
innodb_replication_delay | integer 0 ~ 4294967295 |
× |
innodb_rollback_on_timeout | boolean on | off |
○ |
innodb_rollback_segments | integer 1 ... 128 |
× |
innodb_segment_reserve_factor | float .03 ... 40
デフォルト: 12.5 |
× |
innodb_sort_buffer_size | integer 65536 ... 67108864 |
○ |
innodb_spin_wait_delay | integer MySQL 5.7: 0 ... 1000000 MySQL 8.0.13 以降: 0 ... 1000
デフォルト: 6 |
× |
innodb_stats_auto_recalc | boolean on | off |
× |
innodb_stats_include_delete_marked | boolean on | off
デフォルト: off |
× |
innodb_stats_method | enumeration nulls_equal | nulls_unequal | nulls_ignored |
× |
innodb_stats_on_metadata | boolean on | off |
× |
innodb_stats_persistent | boolean on | off |
× |
innodb_stats_persistent_sample_pages | integer 1 ~ 9223372036854775807 |
× |
innodb_stats_sample_pages | integer 1 ~ 9223372036854775807 |
× |
innodb_stats_transient_sample_pages | integer 1 ~ 9223372036854775807 |
× |
innodb_status_output | boolean on | off |
× |
innodb_status_output_locks | boolean on | off |
× |
innodb_strict_mode | boolean on | off |
× |
innodb_sync_array_size | 1 ... 1024
デフォルトは 1 です。 |
○ |
innodb_sync_spin_loops | integer 0 ... 4294967295
デフォルト: 30 |
× |
innodb_table_locks | boolean on | off
デフォルト: on |
× |
innodb_thread_concurrency | integer 0 ~ 1000 |
× |
innodb_thread_sleep_delay | integer 0 ~ 1000000 |
× |
innodb_undo_log_truncate | boolean on | off
デフォルト: on |
× |
innodb_use_native_aio | boolean on | off
デフォルト: on |
○ |
innodb_write_io_threads | integer 1 ~ 64 |
○ |
interactive_timeout | integer 1 ~ 31536000 |
× |
internal_tmp_disk_storage_engine | enumeration INNODB | MYISAM デフォルト: INNODB |
× |
internal_tmp_mem_storage_engine | enumeration MEMORY 、TempTable |
× |
join_buffer_size | integer 128 ... 9223372036854775807 |
× |
keep_files_on_create |
boolean on | off
デフォルト: off
|
× |
key_buffer_size | integer 4096 ... 4294967295
デフォルト: 8388608 |
× |
key_cache_age_threshold | integer 100 ... 9223372036854775807
デフォルト: 300 |
× |
key_cache_block_size | integer 512 ... 16384
デフォルト: 1024 |
× |
key_cache_division_limit | integer 1 ... 100
デフォルト: 100 |
× |
lc_times_names | string en_US | cs_CZ | da_DK | nl_NL | et_EE | fr_FR | de_DE | el_GR | hu_HU | it_IT | ja_JP | ko_KR | no_NO | nb_NO | pl_PL | pt_PT | ro_RO | ru_RU | sr_RS | sk_SK | es_ES | sv_SE | uk_UA
デフォルト: en_US |
× |
local_infile | boolean on | off |
× |
lock_wait_timeout | integer 1 ~ 31536000 |
× |
log_bin_trust_function_creators | boolean on | off |
× |
log_output | set FILE | TABLE | NONE |
× |
log_error_verbosity | integer 1 ... 3
デフォルト: MySQL 5.7: 3 MySQL 8.0 以降: 2 |
× |
log_queries_not_using_indexes | boolean on | off |
× |
log_slow_admin_statements | boolean on | off
デフォルト: off |
× |
log_slow_extra | boolean on | off
デフォルト: off |
× |
log_slow_replica_statements | boolean
on | off
デフォルト: off
|
× |
log_slow_slave_statements | boolean
on | off
デフォルト: off
|
× |
log_throttle_queries_not_using_indexes | integer 0 ~ 9223372036854775807 |
× |
log_timestamps | string "UTC | SYSTEM"
デフォルト: UTC |
× |
long_query_time | float 0 ... 30000000
Cloud SQL では、必要に応じて、このフラグを 1 未満に設定できます。
|
× |
lower_case_table_names 5.7 | 8.0 | integer 0 または 1
デフォルト: 0
このフラグにデフォルト値の MySQL 5.7 インスタンスの場合、このフラグの値はいつでも変更できます。変更する場合は、この変更が既存のテーブルとデータベースに与える影響を必ず理解してください。 MySQL 8.0 以降のインスタンスでは、このフラグの値は、インスタンスの作成中にのみ目的の値に設定できます。この値を設定すると、変更できません。また、既存のインスタンスではこのフラグの値は変更できません。 MySQL 5.7、MySQL 8.0、または MySQL 8.4 インスタンスのリードレプリカを作成する場合、レプリカはプライマリからこのフラグの値を継承します。 | ○ |
mandatory_roles | string role name
デフォルト: empty string
|
× |
master_verify_checksum | boolean
on | off
デフォルト: off
|
× |
max_allowed_packet | integer 16384 ~ 1073741824
sql_mode=TRADITIONAL、または sql_mode=STRICT_ALL_TABLES の場合、この値は 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=on 、enabled=off 、one_line=on 、one_line=off 複数の値を持つフラグの詳細については、ヒントをご覧ください。 |
× |
optimizer_trace_features |
multi-value repeated string 複数の値を持つフラグの詳細については、ヒントをご覧ください。 |
× |
optimizer_trace_max_mem_size | integer 0 ~ 9223372036854775807 |
× |
optimizer_trace_offset | integer -9223372036854775808 ... 9223372036854775807 |
× |
parser_max_mem_size | integer 10000000 ... 9223372036854775807 |
× |
password_history | integer 0-4294967295
デフォルト: 0
|
× |
password_require_current | boolean on | off
デフォルト: off
|
× |
password_reuse_interval | integer 0-4294967295
デフォルト: 0
|
× |
performance_schema | boolean on | off デフォルト: デフォルト: performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_accounts_size | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_digests_size | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_error_size | integer 0 ... 1048576 |
○ |
performance_schema_events_stages_history_long_size | integer -1 ... 1048576 |
○ |
performance_schema_events_stages_history_size | integer -1 ... 1024 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_events_statements_history_long_size | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_events_statements_history_size | integer -1 ... 1024 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_events_transactions_history_long_size | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_events_transactions_history_size | integer -1 ... 1024 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_events_waits_history_long_size | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_events_waits_history_size | integer -1 ... 1024 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_hosts_size | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_cond_classes | integer 0 ... 256 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_cond_instances | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_digest_length | integer 0 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_digest_sample_age | integer 0 ... 1048576 デフォルト: 60
|
× |
performance_schema_max_file_classes | integer 0 ... 256 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_file_handles | integer 0 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_file_instances | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_index_stat | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_memory_classes | integer 0 ... 1024 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_metadata_locks | integer -1 ... 104857600 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_mutex_classes | integer 0 ... 256 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_mutex_instances | integer -1 ... 104857600 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_prepared_statements_instances | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_program_instances | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_rwlock_classes | integer 0 ... 256 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_rwlock_instances | integer -1 ... 104857600 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_socket_classes | integer 0 ... 256 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_socket_instances | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_sql_text_length | integer 0 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_stage_classes | integer 0 ... 256 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_statement_classes | integer 0 ... 256 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_statement_stack | integer 1 ... 256 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_table_handles | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_table_instances | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_table_lock_stat | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_thread_classes | integer 0 ... 256 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_max_thread_instances | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_session_connect_attrs_size | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_setup_actors_size | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_setup_objects_size | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
performance_schema_users_size | integer -1 ... 1048576 performance_schema フラグの詳細については、ヒントをご覧ください。 |
○ |
preload_buffer_size | integer 1024 ... 1073741824
デフォルト: 32768
|
× |
query_alloc_block_size | integer 1024 ... 4294967295 |
× |
query_cache_limit | integer 0 ~ 223338299392 クエリ キャッシュは MySQL 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_LOSSY 、ALL_NON_LOSSY 、ALL_SIGNED 、ALL_UNSIGNED |
× |
replicate_do_db | string
このフラグの使用方法の詳細については、レプリケーション フィルタのセクションをご覧ください。 |
× |
replicate_do_table | string
このフラグの使用方法の詳細については、レプリケーション フィルタのセクションをご覧ください。 |
× |
replicate_ignore_db | string
このフラグの使用方法の詳細については、レプリケーション フィルタのセクションをご覧ください。 |
× |
replicate_ignore_table | string
このフラグの使用方法の詳細については、レプリケーション フィルタのセクションをご覧ください。 |
× |
replicate_wild_do_table | string
このフラグの使用方法の詳細については、レプリケーション フィルタのセクションをご覧ください。 |
× |
replicate_wild_ignore_table | string
このフラグの使用方法の詳細については、レプリケーション フィルタのセクションをご覧ください。 |
× |
rpl_read_size | integer 8192 ... 4294959104
デフォルト: 8192 |
× |
schema_definition_cache | integer 256 ... 524288
デフォルト: 256 |
× |
session_track_gtids | string
OFF | OWN_GTID | ALL_GTIDS
デフォルト: OFF |
× |
session_track_schema | boolean on | off
デフォルト: on |
× |
session_track_state_change | boolean on | off
デフォルト: off |
× |
session_track_transaction_info | string
OFF | STATE | CHARACTERISTICS
デフォルト: OFF |
× |
sha256_password_proxy_users |
boolean on | off
デフォルト: off
|
× |
show_create_table_verbosity | boolean on | off
デフォルト: off |
× |
show_compatibility_56 | boolean on | off MySQL 5.7 でのみサポートされます。 |
× |
skip_character_set_client_handshake |
boolean on | off
デフォルト: off
|
○ |
skip_show_database | flag on | off |
○ |
slave_checkpoint_group | integer 32 ... 524280 デフォルトは 512 です。 このフラグは、マルチスレッドが有効になっていないレプリカには影響しません。 |
× |
slave_checkpoint_period | integer 1 ... 4294967295 デフォルトは 300 です。 単位はミリ秒です。 |
× |
slave_compressed_protocol | boolean on | off
|
× |
slave_net_timeout | integer 1 ... 31536000
単位は秒です。 |
× |
slave_parallel_type | enumeration DATABASE , LOGICAL_CLOCK デフォルト: MySQL 8.0.26 以前: DATABASE MySQL 8.0.27 以降: LOGICAL_CLOCK
このフラグの使用方法と使用可能な値については、並列レプリケーションの構成をご覧ください。 |
× |
slave_parallel_workers | integer
このフラグの使用方法と使用可能な値については、並列レプリケーションの構成をご覧ください。 |
× |
slave_preserve_commit_order | boolean
このフラグの使用方法と使用可能な値については、並列レプリケーションの構成をご覧ください。 |
× |
slave_pending_jobs_size_max | integer
このフラグの使用方法と使用可能な値については、並列レプリケーションの構成をご覧ください。 |
× |
slave_skip_errors | string
デフォルト: OFF
このフラグの詳細については、ヒントをご覧ください。 |
○ |
slave_sql_verify_checksum | boolean
on | off
|
× |
slave_transaction_retries | integer
0 ... 9223372036854775807 |
× |
slave_type_conversions | string 値: ALL_LOSSY 、ALL_NON_LOSSY 、ALL_SIGNED 、ALL_UNSIGNED |
× |
slow_launch_time | Integer 0 ... 31536000 デフォルト: 2 |
× |
slow_query_log | boolean on | off 遅いクエリのログの詳細については、ヒントをご覧ください。 |
× |
sort_buffer_size | integer 32768 ... 9223372036854775807 |
× |
source_verify_checksum | boolean
on | off デフォルト: off
|
× |
sql_mode | string
Cloud SQL for MySQL では、 |
× |
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_output
がNONE
に設定されている場合、ログにアクセスできません。log_output
をTABLE
に設定すると、ログ出力は 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_size
にinnodb_buffer_pool_instances
を掛けた値に等しいか、その倍数である必要があります。バッファプール サイズをinnodb_buffer_pool_chunk_size
とinnodb_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%)
MySQL バージョン 5.6 以降の場合、デフォルト値は ON
です。
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
を使用すると、ページ フラッシュの頻度を変更できるため、バイナリロググループの 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
に指定された値よりも頻繁に発生することもあれば、少ないこともあります。また、値は上限ではありません。
インスタンスが処理する同時クエリの数に対して、tmp_table_size
および max_heap_table_size
に設定する値が大きすぎると、インスタンスの使用可能なメモリが不足する可能性があります。メモリが不足すると、インスタンスがクラッシュして再起動します。
これらのフラグの使用方法については、MySQL での内部一時テーブルの使用方法と MEMORY ストレージ エンジンをご覧ください。
共有コア(RAM が 3 GB 未満)を持つインスタンスでは、このフラグを有効にできません。このフラグを有効にすると、マシンタイプをフラグに対応していないサイズに変更することはできません。変更するには、まずこのフラグを無効にする必要があります。
OFF
、MySQL 8.0 のデフォルト値は ON
です。event_scheduler
フラグの詳細については、event_scheduler をご覧ください。リードレプリカの event_scheduler
フラグが ON
に設定されている場合は、イベントで定義されたステートメントの種類に基づいてエラーが発生する可能性があります。
- スケジュールされたイベントがリードレプリカの
write
イベントの場合は、リードレプリカが読み取り専用のためエラーになります。詳細については、リードレプリカをご覧ください。 - スケジュールされたイベントに
kill
などの停止オペレーションが含まれている場合、event_scheduler
はそれをレプリカに適用します。これによりレプリケーションが停止し、レプリカが削除されます。
event_scheduler
フラグを OFF
に設定します。
event_scheduler
を有効または無効にする方法の詳細については、データベース フラグを構成するをご覧ください。
replica_skip_errors
フラグまたは slave_skip_errors
フラグを設定すると、レプリケーションの問題が発生することがあります。一般に、ステートメントの実行中にエラーが発生した場合、レプリケーションは停止します。このフラグを使用すると、エラーがスキップされて、レプリケーションが続行され、プライマリ インスタンスとレプリカの間で不整合が発生します。また、レプリケーションの問題のトラブルシューティングが難しくなる可能性もあります。
Cloud SQL では、このフラグは必要な場合にのみ使用することをおすすめします。レプリケーション エラーが発生した場合は、この問題を解決する方法について Cloud SQL のレプリケーションのトラブルシューティングをご覧ください。
character_set_connection
character_set_results
collation_connection
innodb_buffer_pool_dump_now
innodb_buffer_pool_load_abort
innodb_buffer_pool_load_now
innodb_ft_aux_table
foreign_key_checks
sql_select_limit
unique_checks
SET GLOBAL FLAG_NAME=FLAG_VALUE
SET GLOBAL
コマンドを使用するには、cloudsqlsuperuser
ロールに付与されている CLOUDSQL_SPECIAL_SYSEM_VARIABLES_ADMIN
権限が必要です。
特定のユーザーに特別な権限を付与する方法については、MySQL ユーザーについてをご覧ください。これらのフラグは永続的ではありません。Cloud SQL インスタンスが再作成または再起動されると、フラグの設定値はデフォルト値にリセットされます。
- binlog_order_commits
-
binlog_order_commits
フラグのデフォルト値はON
です。このフラグのデフォルト値を変更しないことをおすすめします。デフォルト値をOFF
に変更した場合、同じバイナリロググループ内のトランザクションは、バイナリログに書き込まれたときとは異なる順序で 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 つあります。
次のコマンドに示すように、データベースのフルネームを使用して、特定のデータベースに権限を付与できます。
grant select on test1_foobar.* to 'testuser'@'%'; grant select on test2_foobar.* to 'testuser'@'%'; grant select on test3_foobar.* to 'testuser'@'%';
partial_revokes
で、grant
コマンドとrevoke
コマンドを使用して、少数のデータベース スキーマへのアクセスを制限しながら、すべてのデータベース スキーマに対するユーザー権限を付与できます。grant select on *.* to 'testuser'@'%'; revoke select on test3_foobar.* from 'testuser'@'%';
これにより、
test3_foobar.*
へのアクセスを制限しながら、すべてのデータベース スキーマへのアクセス権が付与されます。
レプリケーション フィルタ
レプリケーション フィルタは Cloud SQL レプリカに対してのみ設定できます。各レプリケーション フィルタは、複数のデータベースに対する 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 コマンドで使用する場合は、特別な処理が必要です。 |
次のステップ
- MySQL のシステム変数の詳細。
- オペレーション ガイドラインの詳細。