Mengonfigurasi flag database

Halaman ini menjelaskan cara mengonfigurasi flag database untuk Cloud SQL, dan mencantumkan flag yang dapat Anda tetapkan untuk instance Anda. Anda menggunakan flag database untuk banyak operasi, termasuk menyesuaikan parameter MySQL, menyesuaikan opsi, serta mengonfigurasi dan menyesuaikan instance.

Dalam beberapa kasus, menetapkan satu flag mungkin mengharuskan Anda menetapkan flag lain untuk mengaktifkan fungsi yang diinginkan sepenuhnya. Contohnya, untuk mengaktifkan logging kueri lambat, Anda harus menetapkan flag slow_query_log menjadi on dan flag log_output ke FILE agar log Anda tersedia menggunakan Logs Explorer Konsol Google Cloud.

Saat Anda menetapkan, menghapus, atau mengubah flag untuk instance database, database mungkin dimulai ulang. Nilai flag lalu akan tetap tersimpan untuk instance tersebut sampai Anda menghapusnya. Jika instance tersebut merupakan sumber (source) dari sebuah replika, lalu instance tersebut dimulai ulang, maka replika tersebut juga akan dimulai ulang untuk menyelaraskannya dengan konfigurasi instance yang terbaru.

Mengonfigurasi flag database

Menetapkan flag database

Konsol

  1. Di Konsol Google Cloud, pilih project yang berisi instance Cloud SQL yang ingin Anda tetapkan flag database-nya.
  2. Buka instance, lalu klik Edit.
  3. Scroll ke bawah sampai ke bagian Flag.
  4. Untuk menetapkan flag yang belum ditetapkan pada instance sebelumnya, klik Tambahkan item, pilih flag dari menu drop-down, lalu tetapkan nilainya.
  5. Klik Simpan untuk menyimpan perubahan.
  6. Konfirmasi perubahan Anda di bagian Flag di halaman Ringkasan.

gcloud

Edit instance-nya:

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

Perintah ini akan menimpa semua flag database yang telah ditetapkan sebelumnya. Untuk tetap menjaga yang telah disetel dan menambahkan yang baru, sertakan nilai ke semua flag yang ingin Anda setel pada instance; flag yang tidak diberi nilai akan ditetapkan kembali ke nilai defaultnya. Untuk flag yang tidak mempunyai nilai, tentukan nama flag yang diikuti dengan tanda sama dengan ("=").

Contohnya, untuk menetapkan flag general_log, skip_show_database, dan wait_timeout, Anda dapat menggunakan perintah berikut:

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

Terraform

Untuk menambahkan flag database, gunakan resource 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
}

Menerapkan perubahan

Untuk menerapkan konfigurasi Terraform di project Google Cloud, selesaikan langkah-langkah di bagian berikut.

Menyiapkan Cloud Shell

  1. Luncurkan Cloud Shell.
  2. Tetapkan project Google Cloud default tempat Anda ingin menerapkan konfigurasi Terraform.

    Anda hanya perlu menjalankan perintah ini sekali per project, dan dapat dijalankan di direktori mana pun.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Variabel lingkungan akan diganti jika Anda menetapkan nilai eksplisit dalam file konfigurasi Terraform.

Menyiapkan direktori

Setiap file konfigurasi Terraform harus memiliki direktorinya sendiri (juga disebut modul root).

  1. Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki ekstensi .tf—misalnya main.tf. Dalam tutorial ini, file ini disebut sebagai main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Jika mengikuti tutorial, Anda dapat menyalin kode contoh di setiap bagian atau langkah.

    Salin kode contoh ke dalam main.tf yang baru dibuat.

    Atau, salin kode dari GitHub. Tindakan ini direkomendasikan jika cuplikan Terraform adalah bagian dari solusi menyeluruh.

  3. Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
  4. Simpan perubahan Anda.
  5. Lakukan inisialisasi Terraform. Anda hanya perlu melakukan ini sekali per direktori.
    terraform init

    Secara opsional, untuk menggunakan versi penyedia Google terbaru, sertakan opsi -upgrade:

    terraform init -upgrade

Menerapkan perubahan

  1. Tinjau konfigurasi dan pastikan resource yang akan dibuat atau diupdate oleh Terraform sesuai yang Anda inginkan:
    terraform plan

    Koreksi konfigurasi jika diperlukan.

  2. Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan yes pada prompt:
    terraform apply

    Tunggu hingga Terraform menampilkan pesan "Apply complete!".

  3. Buka project Google Cloud Anda untuk melihat hasilnya. Di Konsol Google Cloud, buka resource Anda di UI untuk memastikan bahwa Terraform telah membuat atau mengupdatenya.

Menghapus perubahan

Untuk menghapus perubahan Anda, lakukan langkah-langkah berikut:

  1. Untuk menonaktifkan perlindungan penghapusan, di file konfigurasi Terraform Anda, tetapkan argumen deletion_protection ke false.
    deletion_protection =  "false"
  2. Terapkan konfigurasi Terraform terbaru dengan menjalankan perintah berikut dan memasukkan yes pada perintah:
    terraform apply
  1. Hapus resource yang sebelumnya diterapkan dengan konfigurasi Terraform Anda dengan menjalankan perintah berikut dan memasukkan yes pada prompt:

    terraform destroy

REST v1

Untuk menyetel flag pada database yang sudah ada:

Sebelum menggunakan data permintaan manapun, lakukan penggantian berikut:

  • project-id: ID project
  • instance-id: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

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

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

Contohnya, untuk menetapkan flag general_log bagi penggunaan database yang ada:

Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:

  • project-id: ID project
  • instance-id: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

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

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

Jika terdapat beberapa flag yang sudah terkonfigurasi untuk database, maka modifikasi perintah sebelumnya untuk menyertakan flag tersebut. Perintah PATCH akan menimpa flag yang sudah ada dengan flag yang terdaftar di dalam permintaan.

REST v1beta4

Untuk menyetel flag pada database yang sudah ada:

Sebelum menggunakan data permintaan manapun, lakukan penggantian berikut:

  • project-id: ID project
  • instance-id: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

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

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

Contohnya, untuk menetapkan flag general_log bagi penggunaan database yang ada:

Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:

  • project-id: ID project
  • instance-id: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

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

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

Jika terdapat beberapa flag yang sudah terkonfigurasi untuk database, maka modifikasi perintah sebelumnya untuk menyertakan flag tersebut. Perintah PATCH akan menimpa flag yang sudah ada dengan flag yang terdaftar di dalam permintaan.

Menghapus semua flag untuk kembali ke nilai defaultnya

Konsol

  1. Di Konsol Google Cloud, pilih project yang berisi instance Cloud SQL yang semua flagnya ingin Anda hapus.
  2. Buka instance, lalu klik Edit.
  3. Buka bagian Flag Database.
  4. Klik X di samping semua flag yang ditampilkan.
  5. Klik Simpan untuk menyimpan perubahan.

gcloud

Hapus semua flag ke nilai defaultnya pada instance:

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

Anda akan diminta untuk mengonfirmasi bahwa instance akan dimulai ulang.

REST v1

Untuk menghapus semua flag untuk instance yang ada:

Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:

  • project-id: ID project
  • instance-id: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

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

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

REST v1beta4

Untuk menghapus semua flag untuk instance yang ada:

Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:

  • project-id: ID project
  • instance-id: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

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

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

Melihat nilai saat ini dari flag database

Untuk melihat semua nilai saat ini dari variabel sistem MySQL, login ke instance Anda dengan klien mysql dan masukkan pernyataan berikut:

 SHOW VARIABLES;

Perhatikan bahwa Anda hanya dapat mengubah nilai untuk flag yang didukung (seperti yang tercantum di bawah).

Mengetahui apa saja flag database yang telah disetel untuk sebuah instance

Untuk melihat flag apa saja yang telah disetel untuk sebuah instance Cloud SQL:

Konsol

  1. Di Konsol Google Cloud, pilih project yang berisi instance Cloud SQL dengan flag database yang telah ditetapkan yang ingin Anda lihat.
  2. Pilih instance untuk membuka halaman Ringkasan Instance.

    Flag database yang telah ditetapkan tercantum di bagian Flag database.

gcloud

Dapatkan status instance:

gcloud sql instances describe INSTANCE_NAME

Dalam output, flag database dicantumkan di bagian settings sebagai koleksi databaseFlags. Untuk mengetahui informasi selengkapnya tentang representasi flag dalam output, lihat Representasi Resource Instance.

REST v1

Untuk menampilkan daftar flag yang dikonfigurasi untuk instance:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • project-id: ID project
  • instance-id: ID instance

Metode HTTP dan URL:

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

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Pada output, cari kolom databaseFlags.

REST v1beta4

Untuk menampilkan daftar flag yang dikonfigurasi untuk instance:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • project-id: ID project
  • instance-id: ID instance

Metode HTTP dan URL:

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

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Pada output, cari kolom databaseFlags.

Flag yang dikelola oleh Cloud SQL

Cloud SQL menyesuaikan flag sistem tertentu yang bergantung pada jenis mesin instance.

innodb_buffer_pool_instances
  • 1 untuk db-f1-micro dan db-g1-small.
  • 1 jika RAM < 7,5 GB.
  • 2 jika 7,5 GB <= RAM < 13 GB.
  • 4 jika 13 GB <= RAM < 26 GB.
  • 8 jika RAM >= 26 GB.

Flag yang didukung

Flag yang didukung di Cloud SQL adalah flag yang paling sering diminta untuk MySQL. Flag yang tidak disebutkan di bawah tidak didukung.

Untuk flag yang diberikan, Cloud SQL mungkin mendukung nilai atau rentang yang berbeda dari parameter atau opsi MySQL yang sesuai.

Flag ini berlaku untuk semua versi MySQL yang didukung oleh Cloud SQL kecuali jika dinyatakan lain.

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

Flag Cloud SQL Jenis
Nilai dan Catatan yang Dapat Diterima
Perlu
Mulai Ulang?
activate_all_roles_on_login boolean
on | off
default: off
Tidak
autocommit boolean
on | off
default: on
Tidak
auto_increment_increment integer
1 ... 65535
Tidak
auto_increment_offset integer
1 ... 65535
Tidak
automatic_sp_privileges boolean
on | off
default: on
Tidak
back_log integer
1 ... 65535
default: max_connections
Ya
binlog_cache_size integer
4096 ... 9223372036854775807
Tidak
binlog_expire_logs_seconds integer
0 atau 86400 (1 day) ... 4294967295 (max value)
Default adalah 2592000, yang sama dengan 30 hari.

Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag ini.

Tidak
binlog_group_commit_sync_delay 0 ... 1000000

Didukung di MySQL 5.7, 8.0

Default adalah 0.

Tidak
binlog_group_commit_sync_no_delay_count 0 ... 1000000

Didukung di MySQL 5.7, 8.0

Default adalah 0.

Tidak
binlog_gtid_simple_recovery boolean
on | off
default: on
Ya
binlog_order_commits boolean
on | off
default: on

Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag ini.

Tidak
binlog_row_image enumeration
full (default), minimal, atau noblob
Tidak
binlog_row_metadata enumeration
full atau minimal (default)
Tidak
binlog_row_value_options string
PARTIAL_JSON
Tidak
binlog_rows_query_log_events boolean
on | off
default: off
Tidak
binlog_stmt_cache_size 4096 ... 9223372036854775807 Tidak
binlog_transaction_dependency_history_size integer

Untuk mengetahui informasi tentang cara menggunakan flag ini dan nilainya yang dapat diterima, lihat Mengonfigurasi replikasi paralel.

Tidak
binlog_transaction_dependency_tracking enumeration

Untuk mengetahui informasi tentang cara menggunakan flag ini dan nilainya yang dapat diterima, lihat Mengonfigurasi replikasi paralel.

Tidak
block_encryption_mode string
aes-keylen-mode
default: aes-128-ECB
Tidak
bulk_insert_buffer_size integer
0 ... 4294967295
default: 8388608
Tidak
collation_connection string
default:
MySQL 8.0 - utf8mb4_0900_ai_ci

Lihat bagian Tips untuk mendapatkan informasi selengkapnya tentang flag ini.

Tidak
collation_server string
default:
MySQL 5.7 -utf8_general_ci
MySQL 8.0 -utf8mb4_0900_ai_ci
Tidak
character_set_client string

default:
MySQL 5.7: utf8
MySQL 8.0: utf8mb4

Lihat bagian Tips untuk mendapatkan informasi selengkapnya tentang flag ini.

Tidak
character_set_connection string
default:
MySQL 5.7: utf8
MySQL 8.0: utf8mb4

Lihat bagian Tips untuk mendapatkan informasi selengkapnya tentang flag ini.

Tidak
character_set_results string
utf8 atau utf8mb4
default:
MySQL 5.7: utf8
MySQL 8.0: utf8mb4

Lihat bagian Tips untuk mendapatkan informasi selengkapnya tentang flag ini.

Tidak
character_set_server string
utf8 atau utf8mb4 (direkomendasikan)
Ya
check_proxy_users boolean
on | off
default: off
Tidak
cloudsql_allow_analyze_table on boolean | off
default: off
Tidak
cloudsql_iam_authentication boolean on | off
default: off
Didukung di MySQL 5.7 dan 8.0 untuk Cloud SQL.
Tidak
cloudsql_ignore_innodb_encryption on boolean | off
default: off
Tidak
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

default: create_user, alter_user, grant, dan update
Tidak
cloudsql_mysql_audit_data_masking_regex string
max_string_length: 2048
default: Klik di sini.
Tidak
cloudsql_mysql_audit_log_write_period integer
0...5000 milidetik
default: 500 milidetik
Tidak
cloudsql_mysql_audit_max_query_length integer
-1...1073741824
default: -1
Tidak
cloudsql_vector boolean on | off
default: off
Ya
cloudsql_vector_max_mem_size integer
1073741824...innodb_buffer_pool_size/2
default: 1073741824 dalam byte
Ya
completion_type enumeration
NO_CHAIN (default), CHAIN, atau RELEASE
Tidak
concurrent_insert enumeration
NEVER, AUTO (default), atau ALWAYS
Tidak
connect_timeout integer
2 ... 31536000
default: 10
Tidak
cte_max_recursion_depth integer
0 ... 4294967295
default: 1000
Tidak
default_authentication_plugin string
mysql_native_password|caching_sha2_password
Ya
default_password_lifetime integer 0...65535
default: 0
Tidak
default_time_zone string
Ada dua cara untuk menentukan zona waktu: sebagai selisih zona waktu dan nama zona waktu. Contohnya, +00:00 adalah selisih zona waktu untuk London (yang berada dalam zona waktu UTC), dan Europe/London adalah nama zona waktunya.

Anda menggunakan nilai untuk menentukan selisih zona waktu, dari -12:59 menjadi +13:00. Perlu angka nol di awal.

Saat menggunakan nama zona waktu, penyesuaian otomatis ke waktu musim panas didukung. Setelan ini tidak didukung saat menggunakan selisih zona waktu. Lihat daftar nama zona waktu yang didukung Cloud SQL untuk MySQL. Anda harus memperbarui flag ini secara manual, pada instance utama dan pada semua replika baca, untuk memperhitungkannya.

Untuk menetapkan zona waktu tanpa menyebabkan mulai ulang pada instance Cloud SQL, gunakan perintah set time_zone=timezone_offset atau timezone_name dengan flag init_connect.

Ya
default_week_format integer
0 ... 7
default: 0
Tidak
delay_key_write enumeration
OFF, ON (default), atau ALL
Tidak
disconnect_on_expired_password on boolean | off
default: on
Ya
div_precision_increment integer
0 ... 30
default: 4
Tidak
end_markers_in_json boolean
on | off
default: off
Tidak
eq_range_index_dive_limit integer
0 ... 2147483647
Tidak
event_scheduler boolean
on | off

Jika Anda menggunakan Event Scheduler, konfigurasikan instance Anda dengan kebijakan aktivasi SELALU untuk memastikan bahwa peristiwa terjadwal itu berjalan.

Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag ini.

Tidak
expire_logs_days integer
0 ... 99
Default adalah 0, yang berarti tidak ada penghapusan otomatis.

Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag ini.

Tidak
explicit_defaults_for_timestamp boolean
on | off

Tidak
flush_time integer
0 ... 31536000
default: 0
Tidak
foreign_key_checks boolean
on | off
default: on

Lihat bagian Tips untuk mendapatkan informasi selengkapnya tentang flag ini.

Tidak
ft_max_word_len integer
10 ... 252
Ya
ft_min_word_len integer
1 ... 16
Ya
ft_query_expansion_limit integer
0 ... 1000
Ya
ft_stopword_file string
Ya
general_log boolean
on | off

Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang log umum.

Tidak
generated_random_password_length integer 5-255
default: 20
Tidak
group_concat_max_len integer
4 ... 17179869184
Tidak
gtid_executed_compression_period integer
0 ... 4294967295
default (hingga versi 8.0.22): 1000
default (versi 8.0.23+): 0
Tidak
histogram_generation_max_mem_size integer
1000000 ... 4294967295
default: 20000000
Tidak
init_connect string Tidak
innodb_adaptive_hash_index boolean
on | off
Tidak
innodb_adaptive_hash_index_parts integer
1 ... 512
Ya
innodb_adaptive_max_sleep_delay integer
0 ... 1000000
Tidak
innodb_autoextend_increment integer
1 ... 1000
Tidak
innodb_autoinc_lock_mode integer
0 ... 2
Ya
innodb_buffer_pool_chunk_size integer
1048576 ... (innodb_buffer_pool_size/innodb_buffer_pool_instances)

Nilai flag ini bergantung pada innodb_buffer_pool_size dan innodb_buffer_pool_instances. MySQL dapat otomatis menyesuaikan nilai innodb_buffer_pool_chunk_size berdasarkan kedua flag ini.

Ya
innodb_buffer_pool_dump_pct integer
1 ... 100
Default: 25
Tidak
innodb_buffer_pool_dump_at_shutdown boolean
on | off
Tidak
innodb_buffer_pool_dump_now boolean
on | off

Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang tanda ini.

Tidak
innodb_buffer_pool_instances integer
1 ... 64
Ya
innodb_buffer_pool_load_abort boolean
on | off

Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang tanda ini.

Tidak
innodb_buffer_pool_load_at_startup boolean
on | off
Ya
innodb_buffer_pool_load_now boolean
on | off

Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang tanda ini.

Tidak
innodb_buffer_pool_size integer

Menyetel flag ini untuk MySQL 5.6 memerlukan mulai ulang. Lihat bagian Tips untuk informasi selengkapnya tentang flag ini.

Tidak
innodb_change_buffer_max_size integer
0 ... 50
Tidak
innodb_change_buffering string

Opsi: none, inserts, deletes, changes, purges, all.

Tidak
innodb_checksum_algorithm string

Opsi: crc32, strict_crc32, innodb, strict_innod, none, strict_none.

Tidak
innodb_cmp_per_index_enabled boolean
on | off
Tidak
innodb_commit_concurrency integer
0 ... 1000
Ya
innodb_compression_failure_threshold_pct integer
0 ... 100
Tidak
innodb_compression_level integer
0 ... 9
Tidak
innodb_compression_pad_pct_max integer
0 ... 75
Tidak
innodb_concurrency_tickets integer
1 ... 4294967295
Tidak
innodb_deadlock_detect boolean
on | off

Didukung di MySQL 5.7 dan 8.0.

Default: on

Tidak
innodb_disable_sort_file_cache boolean
on | off
Tidak
innodb_doublewrite_batch_size integer
0 ... 256
Default: 0
Ya
innodb_doublewrite_files integer
2 ... 128
Ya
innodb_doublewrite_pages integer
4 ... 512
Default: 64
Ya
innodb_file_per_table boolean
on | off

Lihat bagian Tips untuk mendapatkan informasi selengkapnya tentang flag ini.

Tidak
innodb_fill_factor integer
10 ... 100
Tidak
innodb_flush_log_at_timeout double
0.0001... 2700
Default: 1

Didukung di MySQL 5.7 dan 8.0.

Lihat bagian Tips untuk mendapatkan informasi selengkapnya tentang flag ini.

Tidak
innodb_flush_log_at_trx_commit integer
1, 2
Default: 1

Jika Anda mempromosikan replika dengan mengaktifkan flag ini, flag tersebut akan secara otomatis dihapus, sehingga replika yang dipromosikan memiliki ketahanan penuh secara default. Untuk menggunakan flag ini dengan replika yang dipromosikan, Anda dapat memperbarui flag ke replika setelah promosi.

Lihat bagian Tips untuk mendapatkan informasi selengkapnya tentang flag ini.

Tidak
innodb_flush_neighbors enumeration
0 ... 2

Didukung di MySQL 5.6, 5.7, dan 8.0.

Nilai default:

  • MySQL 5.6: 0
  • MySQL 5.7: 2
  • MySQL 8.0: 2
  • Tidak
    innodb_flush_sync boolean
    on | off
    Tidak
    innodb_ft_aux_table string

    Lihat bagian Tips untuk mendapatkan informasi selengkapnya tentang flag ini.

    Ya
    innodb_ft_cache_size integer
    1600000 ... 80000000
    Ya
    innodb_ft_enable_diag_print boolean
    on | off
    Tidak
    innodb_ft_enable_stopword boolean
    on | off
    Tidak
    innodb_ft_max_token_size integer
    10 ... 252

    Hanya didukung di MySQL 5.6 dan versi yang lebih baru.

    Ya
    innodb_ft_min_token_size integer
    0 ... 16

    Hanya didukung di MySQL 5.6 dan versi yang lebih baru.

    Ya
    innodb_ft_num_word_optimize integer
    1000 ... 10000
    Tidak
    innodb_ft_result_cache_limit integer
    1000000 ... 4294967295
    Tidak
    innodb_ft_server_stopword_table string

    Hanya didukung di MySQL 5.6 dan versi yang lebih baru.

    Tidak
    innodb_ft_sort_pll_degree integer
    1 ... 32
    Ya
    innodb_ft_total_cache_size integer
    32000000 ... 1600000000
    Ya
    innodb_ft_user_stopword_table string Tidak
    innodb_io_capacity integer
    100 ... 100000
    Default: 5000

    Didukung di MySQL 5.6, 5.7, dan 8.0.

    Untuk mempelajari lebih lanjut cara mengonfigurasi performa disk, lihat tabel VM E2 di Mengonfigurasi disk untuk memenuhi persyaratan performa.

    Tidak
    innodb_io_capacity_max integer
    100 ... 100000
    Default: 10000

    Didukung di MySQL 5.6, 5.7, dan 8.0.

    Untuk mempelajari lebih lanjut cara mengonfigurasi performa disk, lihat tabel VM E2 di Mengonfigurasi disk untuk memenuhi persyaratan performa.

    Tidak
    innodb_large_prefix boolean
    on | off

    Hanya didukung di MySQL 5.6.

    Tidak
    innodb_lock_wait_timeout integer
    1 ... 1073741824
    Tidak
    innodb_log_buffer_size integer
    262144 ... 4294967295
    Ya
    innodb_log_checksums boolean
    on | off
    default: on
    Tidak
    innodb_log_compressed_pages boolean
    on | off
    default: on
    Tidak
    innodb_log_file_size integer
    MySQL 5.6: 1048576 ... 274877906944
    MySQL 5.7: 4194304 ... 274877906944
    Ya
    innodb_log_spin_cpu_abs_lwm integer
    0 ... 4294967295
    default: 80
    Tidak
    innodb_log_spin_cpu_pct_hwm integer
    0 ... 100
    default: 50
    Tidak
    innodb_log_wait_for_flush_spin_hwm integer
    0 ... 4294967295
    default: 400
    Tidak
    innodb_log_write_ahead_size integer
    512 ... 65536
    default: 8192
    Tidak
    innodb_lru_scan_depth integer
    100 ... 9223372036854775807
    Tidak
    innodb_max_dirty_pages_pct float
    0 ... 99.99
    default: 90
    Tidak
    innodb_max_dirty_pages_pct_lwm float
    0 ... 99.99
    default: 10
    Tidak
    innodb_max_purge_lag integer
    0 ... 4294967295
    default: 0
    Tidak
    innodb_max_undo_log_size integer
    10485760 ... 9223372036854775807
    default: 1073741824
    Tidak
    innodb_max_purge_lag_delay integer
    0 ... 10000000
    default: 0
    Tidak
    innodb_monitor_disable string Tidak
    innodb_monitor_enable string Tidak
    innodb_monitor_reset string
    counter, module, pattern, all
    Tidak
    innodb_monitor_reset_all enumeration
    Nilai yang valid: counter, module, pattern, all
    Tidak
    innodb_old_blocks_pct integer
    5 ... 95
    Tidak
    innodb_old_blocks_time integer
    0 ... 4294967295
    Tidak
    innodb_online_alter_log_max_size integer
    65536 ... 9223372036854775807
    Tidak
    innodb_open_files integer
    100 ... 2147483647
    default:
    MySQL 5.7: 2000
    MySQL 8.0: 4000
    8.0.28: Tidak
    8.0.27: Ya
    innodb_optimize_fulltext_only boolean
    on | off
    Tidak
    innodb_page_cleaners integer
    1 ... 64
    Didukung di MySQL 5.7 dan 8.0. Default: 4. Untuk versi 5.7, defaultnya adalah 32.
    Ya
    innodb_parallel_read_threads integer
    1 ... 256
    default: 4
    Tidak
    innodb_print_all_deadlocks boolean
    on | off
    default: off
    Tidak
    innodb_print_ddl_logs boolean
    on | off
    Tidak
    innodb_purge_batch_size integer
    1 ... 5000
    default: 300
    Tidak
    innodb_purge_rseg_truncate_frequency integer
    1 ... 128
    default: 128
    Tidak
    innodb_purge_threads 1 ... 32

    Didukung di MySQL 5.6, 5.7, 8.0

    Default adalah 1.

    Ya
    innodb_random_read_ahead boolean
    on | off
    Tidak
    innodb_read_ahead_threshold integer
    0 ... 64
    Tidak
    innodb_read_io_threads integer
    1 ... 64
    Ya
    innodb_replication_delay integer
    0 ... 4294967295
    Tidak
    innodb_rollback_on_timeout boolean
    on | off
    Ya
    innodb_rollback_segments integer
    1 ... 128
    Tidak
    innodb_segment_reserve_factor float
    .03 ... 40
    default: 12.5
    Tidak
    innodb_sort_buffer_size integer
    65536 ... 67108864
    Ya
    innodb_spin_wait_delay integer
    MySQL 5.7: 0 ... 1000000
    MySQL 8.0.13+: 0 ... 1000
    default: 6
    Tidak
    innodb_stats_auto_recalc boolean
    on | off
    Tidak
    innodb_stats_include_delete_marked boolean
    on | off
    default: off
    Tidak
    innodb_stats_method enumeration
    nulls_equal | nulls_unequal | nulls_ignored
    Tidak
    innodb_stats_on_metadata boolean
    on | off
    Tidak
    innodb_stats_persistent boolean
    on | off
    Tidak
    innodb_stats_persistent_sample_pages integer
    1 ... 9223372036854775807
    Tidak
    innodb_stats_sample_pages integer
    1 ... 9223372036854775807
    Tidak
    innodb_stats_transient_sample_pages integer
    1 ... 9223372036854775807
    Tidak
    innodb_status_output boolean
    on | off
    Tidak
    innodb_status_output_locks boolean
    on | off
    Tidak
    innodb_strict_mode boolean
    on | off
    Tidak
    innodb_sync_array_size 1 ... 1024

    Didukung di MySQL 5.6, 5.7, 8.0

    Default adalah 1.

    Ya
    innodb_sync_spin_loops integer
    0 ... 4294967295
    default: 30
    Tidak
    innodb_table_locks boolean
    on | off
    default: on
    Tidak
    innodb_thread_concurrency integer
    0 ... 1000
    Tidak
    innodb_thread_sleep_delay integer
    0 ... 1000000
    Tidak
    innodb_undo_log_truncate boolean
    on | off
    default: on
    Tidak
    innodb_use_native_aio boolean
    on | off
    default: on
    Ya
    innodb_write_io_threads integer
    1 ... 64
    Ya
    interactive_timeout integer
    1 ... 31536000
    Tidak
    internal_tmp_disk_storage_engine enumeration
    INNODB | MYISAM
    Default: INNODB
    Flag ini hanya digunakan untuk MySQL 5.7.
    Tidak
    internal_tmp_mem_storage_engine enumeration
    MEMORY, TempTable
    Flag ini hanya digunakan untuk MySQL 8.0.
    Tidak
    join_buffer_size integer
    128 ... 9223372036854775807
    Tidak
    keep_files_on_create boolean
    on | off
    default: off
    Tidak
    key_buffer_size integer
    4096 ... 4294967295
    default: 8388608
    Tidak
    key_cache_age_threshold integer
    100 ... 9223372036854775807
    default: 300
    Tidak
    key_cache_block_size integer
    512 ... 16384
    default: 1024
    Tidak
    key_cache_division_limit integer
    1 ... 100
    default: 100
    Tidak
    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
    default: en_US
    Tidak
    local_infile boolean
    on | off
    Tidak
    lock_wait_timeout integer
    1 ... 31536000
    Tidak
    log_bin_trust_function_creators boolean
    on | off
    Tidak
    log_output set
    FILE | TABLE | NONE
    Tidak
    log_error_verbosity integer
    1 ... 3
    default:
    MySQL 5.7: 3
    MySQL 8.0: 2
    Tidak
    log_queries_not_using_indexes boolean
    on | off
    Tidak
    log_slow_admin_statements boolean
    on | off
    default: off
    Tidak
    log_slow_extra boolean
    on | off
    default: off
    Tidak
    log_slow_replica_statements boolean
    on | off Default: off
    Tidak
    log_slow_slave_statements boolean
    on | off Default: off
    Tidak
    log_throttle_queries_not_using_indexes integer
    0 ... 9223372036854775807
    Tidak
    log_timestamps string
    "UTC | SYSTEM"
    default: UTC
    Tidak
    long_query_time float
    0 ... 30000000

    Cloud SQL menyediakan kemampuan untuk menetapkan flag ini menjadi kurang dari 1 jika diperlukan.

    Jika flag log_queries_not_using_indexes juga diaktifkan, Anda mungkin melihat kueri dengan waktu yang kurang dari waktu yang ditentukan di sini.

    Tidak
    lower_case_table_names 5.7 | 8.0 integer
    0 atau 1
    Default: 0

    Jika Anda menggunakan nilai default 0 untuk flag ini, nama tabel dan database akan peka huruf besar/kecil. Jika ditetapkan menjadi 1, nama tabel dan database tidak akan peka huruf besar/kecil.

    Untuk instance MySQL 5.7, Anda dapat mengubah nilai flag ini kapan saja. Jika Anda melakukannya, pastikan Anda memahami bagaimana perubahan memengaruhi tabel dan database Anda yang ada.

    Untuk instance MySQL 8.0, Anda dapat menetapkan nilai flag ini menjadi nilai yang diinginkan hanya ketika instance sedang dibuat. Setelah menetapkan nilai ini, Anda tidak dapat mengubahnya. Selain itu, untuk instance yang sudah ada, Anda tidak dapat mengubah nilai flag ini.

    Saat membuat replika baca untuk instance MySQL 5.7 atau MySQL 8.0, replika mewarisi nilai flag ini dari nilai utama.

    Ya
    mandatory_roles string role name
    default: empty string
    Tidak
    master_verify_checksum boolean
    on | off Default: off
    Tidak
    max_allowed_packet integer
    16384 ... 1073741824

    Nilai ini harus berupa kelipatan 1024, jika sql_mode=TRADITIONAL atau sql_mode=STRICT_ALL_TABLES.

    Tidak
    max_binlog_cache_size integer
    4096 ... 4294967296
    default: 4294967296
    Tidak
    max_binlog_size integer
    4096 ... 1073741824
    Tidak
    max_binlog_stmt_cache_size integer
    4096 ... 4294967296
    default: 4294967296
    Tidak
    max_connect_errors integer
    1 ... 9223372036854775807
    default: 100
    Tidak
    max_connections integer
    1 ... 100000
    Tidak
    max_digest_length integer
    0 ... 1048576
    Ya
    max_error_count integer
    0 ... 65535
    default:
    MySQL 5.7 atau yang lebih rendah: 64
    MySQL 8.0+: 1024
    Tidak
    max_execution_time integer
    0 ... 9223372036854775807
    Tidak
    max_heap_table_size integer
    16384 ... 67108864

    Lihat bagian Tips untuk mendapatkan informasi selengkapnya tentang flag ini.

    Tidak
    max_join_size integer
    16 ... 9223372036854775807
    Tidak
    max_length_for_sort_data integer
    4 ... 8388608
    Tidak
    max_points_in_geometry integer
    3 ... 1048576
    Tidak
    max_prepared_stmt_count integer
    0 ... 1048576
    Tidak
    max_seeks_for_key integer
    1 ... 9223372036854775807
    Tidak
    max_sort_length integer
    4 ... 8388608
    Tidak
    max_sp_recursion_depth integer
    0 ... 255
    Tidak
    max_user_connections integer
    0 ... 4294967295
    Tidak
    max_write_lock_count integer
    1 ... 9223372036854775807
    Tidak
    min_examined_row_limit integer
    0 ... 4294967295
    default: 0
    Tidak
    myisam_data_pointer_size integer
    2...7
    default: 6
    Tidak
    myisam_max_sort_file_size integer
    0...9223372036853727232
    default: 9223372036853727232
    Tidak
    myisam_mmap_size integer
    7...9223372036854775807
    default: 9223372036854775807
    Ya
    myisam_sort_buffer_size integer
    4096...4294967295
    default: 8388608
    Tidak
    myisam_stats_method string
    "nulls_unequal, nulls_equal, nulls_ignored"
    default: nulls_unequal
    Tidak
    myisam_use_mmap boolean
    on | off
    default: off
    Tidak
    mysql_native_password_proxy_users boolean
    on | off
    default: off
    Tidak
    net_buffer_length integer
    1024 ... 1048576
    default: 16384
    Tidak
    net_read_timeout integer
    30 ... 4294967295
    Tidak
    net_retry_count integer
    10 ... 4294967295
    Tidak
    net_write_timeout integer
    60 ... 4294967295
    Tidak
    ngram_token_size integer
    1 ... 10
    default: 2
    Ya
    optimizer_prune_level integer
    0 ... 1
    Tidak
    optimizer_search_depth integer
    0 ... 62
    Tidak
    optimizer_switch multi-value repeated string

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag multi-nilai.

    Tidak
    optimizer_trace multi-value repeated string
    enabled=on, enabled=off, one_line=on, one_line=off

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag multi-nilai.

    Tidak
    optimizer_trace_features multi-value repeated string

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag multi-nilai.

    Tidak
    optimizer_trace_max_mem_size integer
    0 ... 9223372036854775807
    Tidak
    optimizer_trace_offset integer
    -9223372036854775808 ... 9223372036854775807
    Tidak
    parser_max_mem_size integer
    10000000 ... 9223372036854775807
    Tidak
    password_history integer 0-4294967295
    default: 0
    Tidak
    password_require_current boolean on | off
    default: off
    Tidak
    password_reuse_interval integer 0-4294967295
    default: 0
    Tidak
    performance_schema boolean
    on | off

    default: off, untuk MySQL 5.6, 5.7, dan 8.0 jika RAM instance kurang dari 15 GB.

    default: on, untuk MySQL 8.0 jika RAM instance lebih besar dari 15 GB

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_accounts_size integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_digests_size integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_error_size integer
    0 ... 1048576
    Ya
    performance_schema_events_stages_history_long_size integer
    -1 ... 1048576
    Ya
    performance_schema_events_stages_history_size integer
    -1 ... 1024

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_events_statements_history_long_size integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_events_statements_history_size integer
    -1 ... 1024

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_events_transactions_history_long_size integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_events_transactions_history_size integer
    -1 ... 1024

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_events_waits_history_long_size integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_events_waits_history_size integer
    -1 ... 1024

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_hosts_size integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_cond_classes integer
    0 ... 256

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_cond_instances integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_digest_length integer
    0 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_digest_sample_age integer
    0 ... 1048576
    default: 60
    Tidak
    performance_schema_max_file_classes integer
    0 ... 256

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_file_handles integer
    0 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_file_instances integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_index_stat integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_memory_classes integer
    0 ... 1024

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_metadata_locks integer
    -1 ... 104857600

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_mutex_classes integer
    0 ... 256

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_mutex_instances integer
    -1 ... 104857600

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_prepared_statements_instances integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_program_instances integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_rwlock_classes integer
    0 ... 256

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_rwlock_instances integer
    -1 ... 104857600

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_socket_classes integer
    0 ... 256

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_socket_instances integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_sql_text_length integer
    0 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_stage_classes integer
    0 ... 256

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_statement_classes integer
    0 ... 256

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_statement_stack integer
    1 ... 256

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_table_handles integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_table_instances integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_table_lock_stat integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_thread_classes integer
    0 ... 256

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_max_thread_instances integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_session_connect_attrs_size integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_setup_actors_size integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_setup_objects_size integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    performance_schema_users_size integer
    -1 ... 1048576

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag performance_schema.

    Ya
    preload_buffer_size integer
    1024 ... 1073741824
    default: 32768
    Tidak
    query_alloc_block_size integer
    1024 ... 4294967295
    Tidak
    query_cache_limit integer
    0 ... 223338299392

    Flag ini tidak tersedia untuk MySQL 8.0 karena cache kueri tidak digunakan lagi pada MySQL 5.7.20, dan dihapus di MySQL 8.0.

    Tidak
    query_cache_min_res_unit integer
    0 ... 9223372036854775807

    Flag ini tidak tersedia untuk MySQL 8.0 karena cache kueri tidak digunakan lagi pada MySQL 5.7.20, dan dihapus di MySQL 8.0.

    Tidak
    query_cache_size integer
    0 ... 223338299392

    Flag ini tidak tersedia untuk MySQL 8.0 karena cache kueri tidak digunakan lagi pada MySQL 5.7.20, dan dihapus di MySQL 8.0.

    Tidak
    query_cache_type enumeration
    0 ... 2

    Flag ini tidak tersedia untuk MySQL 8.0 karena cache kueri tidak digunakan lagi pada MySQL 5.7.20, dan dihapus di MySQL 8.0.

    Ya
    query_cache_wlock_invalidate boolean
    on | off

    Flag ini tidak tersedia untuk MySQL 8.0 karena cache kueri tidak digunakan lagi pada MySQL 5.7.20, dan dihapus di MySQL 8.0.

    Tidak
    query_prealloc_size integer
    8192 ... 9223372036854775807
    Tidak
    range_alloc_block_size integer
    4096 ... 4294967295
    Tidak
    range_optimizer_max_mem_size integer
    0 ... 9223372036854775807
    Tidak
    read_buffer_size integer
    8192 ... 2147483647
    Tidak
    read_only boolean
    on | off

    Tidak berpengaruh untuk replika.

    Tidak
    read_rnd_buffer_size integer
    1 ... 2147483647
    Tidak
    regexp_stack_limit integer
    0 ... 2147483647
    Tidak
    regexp_time_limit integer
    0 ... 2147483647
    default: 32
    Tidak
    replica_checkpoint_group integer
    32 ... 524280
    Defaultnya adalah 512.

    Flag ini tidak memengaruhi replika yang tidak mengaktifkan multithreading.

    Tidak
    replica_checkpoint_period integer
    1 ... 4294967295
    Defaultnya adalah 300.

    Satuannya adalah milidetik.

    Tidak
    replica_compressed_protocol boolean
    on | off
    Tidak
    replica_net_timeout integer
    1 ... 31536000

    Satuannya adalah detik.

    Tidak
    replica_parallel_type enumeration
    DATABASE, LOGICAL_CLOCK
    Default:
    MySQL 8.0.26 atau yang lebih lama: DATABASE
    MySQL 8.0.27 atau yang lebih baru: LOGICAL_CLOCK

    Untuk mengetahui informasi tentang cara menggunakan flag ini dan nilainya yang dapat diterima, lihat Mengonfigurasi replikasi paralel.

    Tidak
    replica_parallel_workers integer

    Untuk mengetahui informasi tentang cara menggunakan flag ini dan nilainya yang dapat diterima, lihat Mengonfigurasi replikasi paralel.

    Tidak
    replica_pending_jobs_size_max integer

    Untuk mengetahui informasi tentang cara menggunakan flag ini dan nilainya yang dapat diterima, lihat Mengonfigurasi replikasi paralel.

    Tidak
    replica_preserve_commit_order boolean

    Untuk mengetahui informasi tentang cara menggunakan flag ini dan nilainya yang dapat diterima, lihat Mengonfigurasi replikasi paralel.

    Tidak
    replica_skip_errors string
    Default: OFF

    Untuk mengetahui informasi selengkapnya tentang flag ini, lihat bagian Tips.

    Ya
    replica_sql_verify_checksum boolean
    on | off
    Tidak
    replica_transaction_retries integer
    0 ... 9223372036854775807
    Tidak
    replica_type_conversions String
    nilai: ALL_LOSSY, ALL_NON_LOSSY, ALL_SIGNED, ALL_UNSIGNED
    Tidak
    replicate_do_db string

    Untuk mengetahui informasi selengkapnya tentang cara menggunakan flag ini, lihat bagian Filter replikasi.

    Tidak
    replicate_do_table string

    Untuk mengetahui informasi selengkapnya tentang cara menggunakan flag ini, lihat bagian Filter replikasi.

    Tidak
    replicate_ignore_db string

    Untuk mengetahui informasi selengkapnya tentang cara menggunakan flag ini, lihat bagian Filter replikasi.

    Tidak
    replicate_ignore_table string

    Untuk mengetahui informasi selengkapnya tentang cara menggunakan flag ini, lihat bagian Filter replikasi.

    Tidak
    replicate_wild_do_table string

    Untuk mengetahui informasi selengkapnya tentang cara menggunakan flag ini, lihat bagian Filter replikasi.

    Tidak
    replicate_wild_ignore_table string

    Untuk mengetahui informasi selengkapnya tentang cara menggunakan flag ini, lihat bagian Filter replikasi.

    Tidak
    rpl_read_size integer
    8192 ... 4294959104
    default: 8192
    Tidak
    schema_definition_cache integer
    256 ... 524288
    default: 256
    Tidak
    session_track_gtids string
    OFF | OWN_GTID | ALL_GTIDS
    default: OFF
    Tidak
    session_track_schema boolean
    on | off
    default: on
    Tidak
    session_track_state_change boolean
    on | off
    default: off
    Tidak
    session_track_transaction_info string
    OFF | STATE | CHARACTERISTICS
    default: OFF
    Tidak
    sha256_password_proxy_users boolean
    on | off
    default: off
    Tidak
    show_create_table_verbosity boolean
    on | off
    default: off
    Tidak
    show_compatibility_56 boolean
    on | off

    Hanya didukung di MySQL 5.7.

    Tidak
    skip_character_set_client_handshake boolean
    on | off
    default: off
    Ya
    skip_show_database flag
    on | off
    Ya
    slave_checkpoint_group integer
    32 ... 524280
    Defaultnya adalah 512.

    Flag ini tidak memengaruhi replika yang tidak mengaktifkan multithreading.

    Tidak
    slave_checkpoint_period integer
    1 ... 4294967295
    Defaultnya adalah 300.

    Satuannya adalah milidetik.

    Tidak
    slave_compressed_protocol boolean
    on | off
    Tidak
    slave_net_timeout integer
    1 ... 31536000

    Satuannya adalah detik.

    Tidak
    slave_parallel_type enumeration
    DATABASE, LOGICAL_CLOCK
    Default:
    MySQL 8.0.26 atau yang lebih lama: DATABASE
    MySQL 8.0.27 atau yang lebih baru: LOGICAL_CLOCK

    Untuk mengetahui informasi tentang cara menggunakan flag ini dan nilainya yang dapat diterima, lihat Mengonfigurasi replikasi paralel.

    Tidak
    slave_parallel_workers integer

    Untuk mengetahui informasi tentang cara menggunakan flag ini dan nilainya yang dapat diterima, lihat Mengonfigurasi replikasi paralel.

    Tidak
    slave_preserve_commit_order boolean

    Untuk mengetahui informasi tentang cara menggunakan flag ini dan nilainya yang dapat diterima, lihat Mengonfigurasi replikasi paralel.

    Tidak
    slave_pending_jobs_size_max integer

    Untuk mengetahui informasi tentang cara menggunakan flag ini dan nilainya yang dapat diterima, lihat Mengonfigurasi replikasi paralel.

    Tidak
    slave_skip_errors string
    Default: OFF

    Untuk mengetahui informasi selengkapnya tentang flag ini, lihat bagian Tips.

    Ya
    slave_sql_verify_checksum boolean
    on | off
    Tidak
    slave_transaction_retries integer
    0 ... 9223372036854775807
    Tidak
    slave_type_conversions string
    nilai: ALL_LOSSY, ALL_NON_LOSSY, ALL_SIGNED, ALL_UNSIGNED
    Tidak
    slow_launch_time Integer
    0 ... 31536000
    Default: 2
    Tidak
    slow_query_log boolean
    on | off

    Lihat bagian Tips untuk informasi selengkapnya tentang log kueri yang lambat.

    Tidak
    sort_buffer_size integer
    32768 ... 9223372036854775807
    Tidak
    source_verify_checksum boolean
    on | off
    Default: off
    Tidak
    sql_mode string

    Lihat Mode SQL Server dalam dokumentasi MySQL untuk mengetahui nilai yang diizinkan, termasuk mode gabungan, seperti ANSI. NO_DIR_IN_CREATE tidak didukung.

    Cloud SQL untuk MySQL tidak mendukung nilai kosong untuk flag sql_mode. Daripada menggunakan nilai kosong, tetapkan flag ini ke mode NO_ENGINE_SUBSTITUTION.

    Tidak
    sql_require_primary_key boolean
    on | off
    Default: off
    Tidak
    sql_select_limit integer 0...18446744073709551615
    default: 18446744073709551615

    Lihat bagian Tips untuk mendapatkan informasi selengkapnya tentang flag ini.

    Tidak
    stored_program_cache integer
    16 ... 524288
    Tidak
    stored_program_definition_cache integer
    256 ... 524288
    Default: 256
    Tidak
    sync_binlog integer
    0 ... 4294967295

    Setelan default 1 memungkinkan sinkronisasi log biner ke disk sebelum transaksi di-commit.

    Jika Anda mempromosikan replika dengan mengaktifkan flag ini, flag tersebut akan secara otomatis dihapus, sehingga replika yang dipromosikan memiliki ketahanan penuh secara default. Untuk menggunakan flag ini dengan replika yang dipromosikan, Anda dapat memperbarui flag ke replika setelah promosi.

    Lihat bagian Tips untuk mendapatkan informasi selengkapnya tentang flag ini.

    Tidak
    sync_master_info integer
    0 ... 4294967295
    Default: 10000
    Tidak
    sync_relay_log integer
    0 ... 4294967295
    Default: 10000
    Tidak
    sync_relay_log_info integer
    0 ... 4294967295
    Default: 10000
    Tidak
    sync_source_info integer
    0 ... 4294967295
    Default: 10000
    Tidak
    sysdate_is_now boolean
    on | off
    default: off
    Ya
    table_definition_cache integer
    400 ... 524288
    Tidak
    tablespace_definition_cache integer
    256 ... 524288
    Default: 256
    Tidak
    table_open_cache integer
    1 ... 524288
    Tidak
    table_open_cache_instances integer
    1 ... 64
    Ya
    temptable_max_mmap integer
    0 ... 68719476736
    Default: 1073741824
    Tidak
    temptable_max_ram integer
    2097152 ... 68719476736
    Default: 1073741824
    Tidak
    thread_cache_size integer
    0 ... 16384
    Tidak
    thread_stack integer
    131072 ... 9223372036854775807
    Ya
    tls_version String

    Versi 5.7 hingga Versi 8.0.27: TLSv1, TLSv1.1
    Versi 8.0.28 atau yang lebih baru: TLSv1.2
    Versi 5.7: Ya

    Versi 8.0 atau yang lebih baru: Tidak
    tmp_table_size integer
    1024 ... 67108864

    Lihat bagian Tips untuk mengetahui informasi selengkapnya tentang flag ini.

    Tidak
    transaction_alloc_block_size integer
    1024 ... 131072
    Tidak
    transaction_isolation enumeration
    READ-UNCOMMITTED | READ-COMMITTED | REPEATABLE-READ | SERIALIZABLE
    Ya
    transaction_prealloc_size integer
    1024 ... 131072
    Tidak
    transaction_write_set_extraction enumeration

    Untuk mengetahui informasi tentang cara menggunakan flag ini dan nilainya yang dapat diterima, lihat Mengonfigurasi replikasi paralel.

    Tidak
    unique_checks boolean
    on | off
    default: on

    Lihat bagian Tips untuk mendapatkan informasi selengkapnya tentang flag ini.

    Tidak
    updatable_views_with_limit integer
    0 ... 1
    Tidak
    wait_timeout integer
    1 ... 31536000
    Tidak
    windowing_use_high_precision boolean
    on | off
    Default: on
    Tidak

    Nama zona waktu

    Di bagian ini, Anda akan mempelajari nama zona waktu yang didukung Cloud SQL untuk MySQL.

    Tabel di bagian ini menampilkan data berikut:

    • Nama zona waktu: Nama yang didukung Cloud SQL untuk MySQL.
    • STD: Selisih zona waktu dalam waktu standar (STD).
    • DST: Selisih zona waktu dalam waktu musim panas (DST).
    • Nama sinonim: Nama untuk zona waktu yang mungkin ingin Anda gunakan, tetapi tidak didukung oleh Cloud SQL untuk MySQL. Jika situasi ini terjadi, gunakan nama zona waktu yang sesuai.
    nama zona waktu STD DST Nama sinonim
    Afrika/Kairo +02.00 +02.00 Mesir
    Afrika/Casablanca +01.00 +00.00
    Afrika/Harare +02.00 +02.00 Afrika/Maputo
    Afrika/Monrovia +00.00 +00.00
    Afrika/Nairobi +03.00 +03.00 Afrika/Addis_Ababa
    Afrika/Asmera
    Afrika/Dar_es_Salaam
    Afrika/Djibouti
    Afrika/Kampala
    Afrika/Mogadishu
    India/Antananarivo
    India/Komoro
    India/Mayotte
    Afrika/Tripoli +02.00 +02.00 Libya
    Afrika/Windhoek +02.00 +02.00
    Amerika/Araguaina −03.00 −03.00
    Amerika/Asuncion −04.00 −03.00
    Amerika/Bogota −05.00 −05.00
    Amerika/Buenos_Aires −03.00 −03.00 Amerika/Argentina/Buenos_Aires
    Amerika/Caracas −04.00 −04.00
    Amerika/Chicago −06.00 −05.00
    Amerika/Chihuahua −07.00 −06.00 Amerika/Ojinaga
    Amerika/Cuiaba −04.00 −04.00
    Amerika/Denver −07.00 −06.00 Amerika/Shiprock
    Navajo
    MST7MDT
    AS/Gunung
    Amerika/Detroit −05.00 −04.00
    Amerika/Fortaleza −03.00 −03.00
    Amerika/Guatemala −06.00 −06.00
    Amerika/Halifax −04.00 −03.00 Kanada/Atlantik
    Amerika/Los_Angeles −08.00 −07.00
    Amerika/Manaus −04.00 −04.00 Brasil/Barat
    Amerika/Matamoros −06.00 −05.00
    Amerika/Kota_Meksiko −06.00 −05.00
    Amerika/Monterrey −06.00 −05.00
    Amerika/Montevideo −03.00 −03.00
    Amerika/New_York −05.00 −04.00
    Amerika/Phoenix −07.00 −07.00 AS/Arizona
    MST
    Amerika/Creston
    Amerika/Santiago −04.00 −03.00 Chili/Kontinental
    Amerika/Sao_Paulo −03.00 −03.00
    Amerika/Tijuana −08.00 −07.00 Meksiko/BajaNorte
    Amerika/Ensenada
    Amerika/Santa_Isabel
    Asia/Amman +02.00 +03.00
    Asia/Ashgabat +05.00 +05.00 Asia/Ashkhabad
    Asia/Bagdad +03.00 +03.00
    Asia/Baku +04.00 +04.00
    Asia/Bangkok +07.00 +07.00 Asia/Phnom_Penh
    Asia/Vientiane
    Asia/Beirut +02.00 +03.00
    Asia/Kolkata +05.30 +05.30 Asia/Kolkata
    Asia/Damaskus +02.00 +03.00
    Asia/Dhaka +06.00 +06.00 Asia/Dhaka
    Asia/Irkutsk +08.00 +08.00
    Asia/Yerusalem +02.00 +03.00 Asia/Tel_Aviv
    Israel
    Asia/Kabul +04.30 +04.30
    Asia/Karachi +05.00 +05.00
    Asia/Kathmandu +05.45 +05.45 Asia/Kathmandu
    Asia/Kolkata +05.30 +05.30
    Asia/Krasnoyarsk +07.00 +07.00
    Asia/Magadan +11.00 +11.00
    Asia/Muskat +04.00 +04.00 Asia/Dubai
    Asia/Novosibirsk +07.00 +07.00
    Asia/Riyadh +03.00 +03.00 Asia/Kuwait
    Antartika/Syowa
    Asia/Aden
    Asia/Seoul +09.00 +09.00 Republik Korea
    Asia/Shanghai +08.00 +08.00 Asia/Chongqing
    Asia/Chungking
    Asia/Harbin
    RRC
    Asia/Singapura +08.00 +08.00 Singapura
    Asia/Taipei +08.00 +08.00 ROC
    Asia/Teheran +03.30 +04.30 Iran
    Asia/Tokyo +09.00 +09.00 Jepang
    Asia/Ulan_Bator +08.00 +08.00 Asia/Ulan_Bator
    Asia/Vladivostok +10.00 +10.00
    Asia/Yakutsk +09.00 +09.00
    Asia/Yerevan +04.00 +04.00
    Atlantik/Azores −01.00 +00.00
    Australia/Adelaide +09.30 +10.30 Australia/Selatan
    Australia/Brisbane +10.00 +10.00 Australia/Queensland
    Australia/Darwin +09.30 +09.30 Australia/Utara
    Australia/Hobart +10.00 +11.00 Australia/Currie
    Australia/Tasmania
    Australia/Perth +08.00 +08.00 Australia/Barat
    Australia/Sydney +10.00 +11.00 Australia/NSW
    Australia/ACT
    Australia/Canberra
    Brasil/Timur −03.00 −03.00 Amerika/Sao_Paulo
    Kanada/Newfoundland −03.30 −02.30 America/St_Johns
    Kanada/Saskatchewan −06.00 −06.00 Amerika/Regina
    Kanada/Yukon −07.00 −07.00 Amerika/Whitehorse
    Eropa/Amsterdam +01.00 +02.00
    Eropa/Athena +02.00 +03.00
    Eropa/Dublin +01.00 +00.00 Irlandia
    Eropa/Helsinki +02.00 +03.00 Eropa/Mariehamn
    Eropa/Istanbul +03.00 +03.00 Turki
    Asia/Istanbul
    Eropa/Kaliningrad +02.00 +02.00
    Eropa/Madrid +01.00 +02.00
    Eropa/Moskow +03.00 +03.00 W-SU
    Eropa/Paris +01.00 +02.00 MET
    CET
    Eropa/Praha +01.00 +02.00 Eropa/Bratislava
    Eropa/Sarajevo +01.00 +02.00 Eropa/Belgrade
    Eropa/Ljubljana
    Eropa/Podgorica
    Eropa/Skopje
    Eropa/Zagreb
    Pasifik/Auckland +12.00 +13.00 Selandia_Baru
    Antartika/McMurdo
    Antartika/Kutub_Selatan
    Pasifik/Fiji +12.00 +13.00
    Pasifik/Guam +10.00 +10.00 Pasifik/Saipan
    Pasifik/Honolulu −10.00 −10.00 AS/Hawaii
    Pasifik/Johnston
    HST
    Pasifik/Samoa −11.00 −11.00 Pasifik/Pago_Pago
    AS/Samoa
    AS/Alaska −09.00 −08.00 Amerika/Anchorage
    Amerika/Juniau
    Amerika/Metlakatla
    Amerika/Nome
    Amerika/Sitka
    Amerika/Yakutat
    AS/Pusat −06.00 −05.00 Amerika/Chicago
    AS/Timur −05.00 −04.00 Amerika/New_York
    AS/Indiana_Timur −05.00 −04.00 Amerika/Indiana/Indianapolis
    Amerika/Indianapolis
    Amerika/Fort_Wayne
    AS/Gunung −07.00 −06.00 Amerika/Denver
    AS/Pasifik −08.00 −07.00 Amerika/Los_Angeles
    UTC +00.00 +00.00 Etc/UTC
    Etc/UCT
    Etc/Universal
    Etc/Zulu

    Tabel zona waktu di Cloud SQL mungkin perlu diperbarui dengan data terbaru. Contohnya, suatu negara mungkin beralih dari selisih zona waktu DST ke selisih STD atau suatu negara mungkin memperkenalkan zona waktu baru.

    Untuk setiap rilis agen layanan (CSA) penting untuk Cloud SQL, tabel zona waktu diperbarui dengan data terbaru. Jika hal ini terjadi, selama masa non-pemeliharaan, instance replika akan dimuat ulang. Instance utama kemudian dimuat ulang selama masa pemeliharaan.

    Anda dapat menunggu hingga masa pemeliharaan reguler untuk rilis CSA atau melakukan pemeliharaan layanan mandiri untuk memperbarui tabel zona waktu dengan data terbaru. Untuk informasi selengkapnya tentang cara melihat versi pemeliharaan yang tersedia, lihat Menentukan versi pemeliharaan target.

    Tips untuk menggunakan flag

    general_log, slow_query_log

    Agar log general atau slow query Anda tersedia, aktifkan flag yang sesuai dan tetapkan flag log_output ke FILE. Tindakan ini akan membuat output log tersedia menggunakan Logs Viewer di Konsol Google Cloud. Perlu diperhatikan bahwa biaya logging Kemampuan Observasi Google Cloud berlaku. Untuk meminimalkan biaya penyimpanan instance, log general dan slow query pada disk instance dirotasi jika file log sudah lebih dari 24 jam (dan tidak ada perubahan yang dibuat dalam durasi tersebut) atau berukuran lebih dari 100 MB. File log lama akan secara otomatis dihapus setelah rotasi.

    Jika log_output ditetapkan menjadi NONE, Anda tidak dapat mengakses log. Jika Anda menetapkan log_output menjadi TABLE, output log akan ditempatkan dalam tabel di database sistem mysql. Proses ini mungkin menghabiskan cukup banyak kapasitas disk. Jika tabel ini menjadi besar, tabel tersebut dapat memengaruhi waktu mulai ulang instance atau menyebabkan instance kehilangan cakupan SLA-nya. Karena alasan ini, opsi TABLE tidak direkomendasikan. Selain itu, konten log tidak tersedia di Logs Explorer dan tidak dirotasi. Jika perlu, Anda dapat memotong tabel log dengan menggunakan API. Untuk mengetahui informasi selengkapnya, lihat halaman referensi instances.truncateLog.

    expire_logs_days, binlog_expire_logs_seconds
    Jika Anda mengaktifkan pemulihan point-in-time, periode habis masa berlaku log biner Anda ditentukan oleh periode yang lebih rendah dari periode retensi log transaksi dan nilai flag tersebut. Anda dapat menggunakan flag ini untuk mengelola berapa lama log biner disimpan di replika. Untuk informasi selengkapnya, lihat halaman retensi log transaksi.
    innodb_buffer_pool_size

    Nilai innodb_buffer_pool_size adalah ukuran dalam byte kumpulan buffer. Anda tidak dapat mengaktifkan flag ini pada instance yang memiliki RAM kurang dari 3840 MiB.

    Flag ini tidak dapat dikonfigurasi untuk jenis mesin dengan inti bersama (f1_micro dan g1_small). Mengubah flag ini di MySQL 5.6 memerlukan mulai ulang.

    Di Cloud SQL, nilai default, minimum yang diizinkan, dan maksimum yang diizinkan dari flag innodb_buffer_pool_size bergantung pada memori instance. Nilai ini dapat dihitung secara kasar sebagai persentase RAM instance. Secara default, nilai flag ini biasanya ditetapkan mendekati nilai maksimum yang diizinkan. Persentase alokasi maksimum yang diizinkan akan meningkat seiring dengan ukuran instance. Nilai minimum yang diizinkan biasanya sekitar 20% dari RAM instance.

    Perkiraan nilai untuk flag ini:

    Rentang RAM InstanceMin %Default %Max %
    RAM 0 - 4,0 GB~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 ke atas~20%~72%~72%

    Nilai persis Anda dapat bervariasi. Untuk menghitung nilai saat ini bagi instance Anda, Anda dapat menjalankan kueri:

      show global variables like 'innodb_buffer_pool_size';
      

    Sebagai referensi, nilai minimum yang diizinkan, default, dan maksimum yang diizinkan disediakan untuk jenis mesin di bawah ini.

    Machine type RAM Instance (GB) Min (GB)
    (% dari total)
    Default (GB)
    (% dari total)
    Maks (GB)
    (% dari total)
    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

    Untuk semua MySQL versi 5.6 dan yang lebih tinggi, nilai defaultnya adalah ON.

    innodb_flush_log_at_trx_commit, sync_binlog
    Untuk memastikan kepatuhan penuh terhadap ACID, serta untuk menjaga ketahanan dan konsistensi dalam penyiapan replikasi, flag innodb_flush_log_at_trx_commit dan sync_binlog harus ditetapkan menjadi nilai default 1. Jika Anda mengubah nilai default, ketahanan mungkin menurun, yang dapat menyebabkan inkonsistensi antara instance utama dan replika. Oleh karena itu, instance akan kehilangan cakupan SLA-nya. Selain itu, salah satu dari hal berikut mungkin terjadi:
    • Kehilangan data dalam situasi tertentu, seperti error VM atau failover untuk instance HA regional
    • Data yang tidak sinkron dalam file data log biner dan InnoDB
    • Kehilangan atau kegagalan data PITR
    • Inkonsistensi data antara instance utama dan replikanya
    • Kerusakan replikasi

    Menetapkan nilai flag innodb_flush_log_at_trx_commit atau sync_binlog menjadi nilai non-default untuk instance utama, mandiri, dan HA akan menyebabkan berkurangnya ketahanan.

    Jika Anda memerlukan performa yang lebih tinggi untuk replika baca, sebaiknya tetapkan nilai innodb_flush_log_at_trx_commit menjadi 2. Cloud SQL tidak mendukung penetapan nilai untuk flag ini menjadi 0. Jika Anda menetapkan nilai flag menjadi 2, Anda harus menonaktifkan log biner pada replika, atau menetapkan sync_binlog menjadi nilai selain 1 untuk performa yang lebih tinggi.

    Cloud SQL mungkin mengubah nilai flag innodb_flush_log_at_trx_commit dan sync_binlog untuk sementara menjadi default saat melakukan pencadangan. Hal ini dapat menyebabkan penurunan performa saat mengambil cadangan. Agar hal ini tidak memengaruhi instance Anda, Anda dapat mengubah periode pencadangan saat penggunaan instance rendah. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola pencadangan on-demand dan otomatis.

    innodb_flush_log_at_timeout

    innodb_flush_log_at_timeout memungkinkan Anda mengubah frekuensi flush halaman agar tidak memengaruhi performa commit grup log biner. Setelan defaultnya adalah sekali per detik.

    Cloud SQL telah memperluas flag ini untuk mendukung penentuan jangka waktu dalam mikrodetik.

    Contoh:

    • 0.001 untuk menentukan 1 md
    • 0.0001 untuk menentukan 100 kita
    • 12.5 untuk menentukan 12,5 detik
    • 12.005 untuk menentukan 12 detik dan 5 md
    • 0.005100 untuk menentukan 5 md dan 100 us

    Untuk workload tertentu, penggunaan perincian seluruh detik untuk menghapus halaman mungkin tidak dapat diterima dalam hal potensi kehilangan transaksi. Sebagai gantinya, Anda dapat menghapus halaman menggunakan tingkat perincian mikrodetik untuk mempertahankan performa tanpa mengorbankan ketahanan secara signifikan.

    Jangka waktu mikrodetik untuk flag innodb_flush_log_at_timeout hanya berlaku jika tanda ketahanan innodb_flush_log_at_trx_commit ditetapkan ke 2.

    Penghapusan halaman mungkin terjadi lebih sering atau lebih jarang daripada nilai yang ditentukan untuk innodb_flush_log_at_timeout dan nilai tersebut bukan batas atas.

    max_heap_table_size, tmp_table_size

    Memori instance yang tersedia dapat habis jika Anda menetapkan tmp_table_size dan max_heap_table_size terlalu tinggi untuk jumlah kueri serentak yang diproses oleh instance. Menghabiskan memori dapat mengakibatkan error dan mulai ulang pada instance.

    Untuk mengetahui informasi selengkapnya tentang menggunakan flag ini, lihat Cara MySQL Menggunakan Tabel Sementara Internal dan Mesin Penyimpanan MEMORI.

    performance_schema

    Anda tidak dapat mengaktifkan flag ini pada instance yang memiliki RAM kurang dari 15360 MiB. Jika flag ini diaktifkan, Anda tidak dapat mengubah jenis mesin menjadi ukuran yang tidak mendukung flag tersebut; Anda harus terlebih dahulu menonaktifkan flag ini.

    event_scheduler
    Peristiwa MySQL, juga dikenal sebagai peristiwa terjadwal, adalah tugas yang dapat Anda jadwalkan. Peristiwa terjadwal adalah sekelompok dari satu atau beberapa pernyataan SQL yang ditetapkan untuk dijalankan pada satu atau beberapa interval yang ditentukan. Nilai default untuk MySQL 5.7 adalah OFF dan nilai default untuk MySQL 8.0 adalah ON. Untuk mempelajari flag event_scheduler lebih lanjut, lihat event_scheduler. Jika flag event_scheduler ditetapkan menjadi ON untuk replika baca, flag tersebut dapat menyebabkan error berdasarkan jenis pernyataan yang ditentukan dalam peristiwa:
    • Jika peristiwa terjadwal Anda adalah peristiwa write pada replika baca, hal ini akan menyebabkan error karena replika baca bersifat hanya baca. Lihat Replika Baca untuk mengetahui informasi selengkapnya.
    • Jika peristiwa terjadwal Anda berisi operasi penghentian, seperti kill, event_scheduler akan menerapkannya ke replika. Tindakan ini akan menghentikan replikasi dan menghapus replika.
    Untuk menghindari error tersebut, tetapkan flag event_scheduler menjadi OFF saat membuat replika.

    Untuk mengetahui informasi selengkapnya mengenai cara mengaktifkan atau menonaktifkan event_scheduler, lihat Mengonfigurasi flag database.

    replica_skip_errors,slave_skip_errors
    Menetapkan flag replica_skip_errors atau slave_skip_errors dapat menyebabkan masalah replikasi. Secara umum, jika terjadi error saat menjalankan pernyataan, replikasi akan dihentikan. Menggunakan flag ini akan menyebabkan error dilewati dan replikasi terus berlanjut, sehingga menyebabkan inkonsistensi antara instance dan replika utama. Hal ini juga dapat mempersulit pemecahan masalah replikasi.

    Cloud SQL merekomendasikan hanya menggunakan flag ini jika diperlukan. Jika Anda mengalami error replikasi, lihat Memecahkan Masalah Cloud SQL: Replikasi yang berisi informasi selengkapnya tentang cara menyelesaikan masalah ini.

    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_selectslimits
    Flag ini tidak dapat dipilih secara langsung di Google Cloud Console atau menggunakan gcloud CLI. Untuk menggunakan flag ini, gunakan perintah berikut:

    SET GLOBAL FLAG_NAME=FLAG_VALUE
    

    Penggunaan perintah SET GLOBAL memerlukan hak istimewa CLOUDSQL_SPECIAL_SYSEM_VARIABLES_ADMIN, yang diberikan ke peran cloudsqlsuperuser.

    Untuk informasi selengkapnya tentang cara memberikan akses hak istimewa khusus kepada pengguna tertentu, lihat Tentang pengguna MySQL. Flag ini tidak dipertahankan. Saat instance Cloud SQL Anda dibuat ulang atau dimulai ulang, setelan flag akan direset kembali ke nilai default.

    binlog_order_commits

    Nilai default untuk flag binlog_order_commits adalah ON. Cloud SQL merekomendasikan untuk tidak mengubah nilai default flag ini. Jika nilai default diubah menjadi OFF, transaksi dalam grup log biner yang sama akan di-commit dalam urutan yang berbeda dari saat ditulis dalam log biner. Hal ini memengaruhi operasi berikut yang menjalankan transaksi dalam urutan log biner:

    • Replikasi: dapat menyebabkan inkonsistensi data antara sumber dan replika
    • Point-in-time-recovery: dapat menyebabkan inkonsistensi data antara status yang dipulihkan PITR dan status historis

    optimizer_switch,optimizer_trace,optimizer_trace_features

    Flag pengoptimal memiliki nilai yang dipisahkan koma. Anda dapat menetapkan flag ini menggunakan Konsol atau gcloud. Untuk mengetahui informasi lebih lanjut cara menetapkan flag ini menggunakan konsol, lihat Mengonfigurasi flag database. Jika menggunakan gcloud, Anda dapat menentukan nilai untuk flag ini menggunakan dua cara berbeda:

    Untuk menetapkan beberapa sub-flag pengoptimal dalam satu perintah, gunakan pembatas koma untuk memisahkan setiap nama flag. Jika Anda menetapkan satu nilai sub-flag menggunakan perintah gcloud, nilai tersebut akan menimpa semua sub-flag yang ditetapkan sebelumnya. Contohnya, jika Anda menjalankan perintah berikut, nilai yang diharapkan untuk sub-flag batched_key_access ditetapkan menjadi on dan semua sub-flag lainnya untuk optimizer_flags ditetapkan menjadi nilai defaultnya.
    gcloud sql instances patch my-instance --database-flags=^~^optimizer_switch=batched_key_access=on
    
    Jika Anda menjalankan perintah berikut, nilai sub-flag block_nested_loop ditetapkan menjadi on dan semua sub-flag lainnya untuk optimizer_switch akan ditimpa dan ditetapkan menjadi nilai defaultnya.
    gcloud sql instances patch my-instance --database-flags=^~^optimizer_switch=block_nested_loop=on
    
    Hal ini mencakup batched_key_access, yang ditetapkan menjadi on oleh perintah sebelumnya. Untuk menyimpan semua sub-flag yang ditetapkan sebelumnya dan menambahkan yang baru, Anda harus menambahkan nilai semua sub-flag yang ingin Anda tetapkan saat menambahkan sub-flag baru.

    Flag sistem diubah di Cloud SQL

    Semua flag sistem database lain yang tidak tercantum di bagian flag yang didukung disebut flag yang terkelola. Untuk flag tertentu yang terkelola, Cloud SQL menetapkan flag tersebut menjadi nilai selain setelan default untuk memastikan instance Cloud SQL berjalan dengan andal. Anda tidak dapat mengubah nilai pada flag sistem ini.

    Flag yang terkelola dengan setelan non-default tercantum di bawah.

    Nama Variabel Setelan di Cloud SQL. Notes
    binlog_format BARIS Hanya berbeda di MySQL 5.6
    binlog_error_action ABORT_SERVER Hanya berbeda di MySQL 5.6
    innodb_doublewrite_pages 64 Berlaku untuk MySQL 8.0.26 ke atas
    innodb_file_format Barracuda Hanya berbeda di MySQL 5.6
    innodb_flush_method O_DIRECT
    memlock true
    skip_name_resolve AKTIF
    relay_log_info_repository TABEL
    relay_log_recovery AKTIF
    master_info_repository TABEL
    rpl_semi_sync_master_enabled 1
    rpl_semi_sync_master_timeout 3.000
    admin_address 127.0.0.1 Hanya berbeda di MySQL 8.0
    create_admin_listener_thread AKTIF
    port-open-timeout 120 Hanya berbeda di MySQL 8.0
    partial_revokes AKTIF MySQL 8.0 saja. Untuk mengetahui informasi selengkapnya tentang flag ini, lihat Pencabutan flag sistem parsial di MySQL 8.0.

    Flag sistem partial_revokes di MySQL 8.0

    Flag partial_revokes memungkinkan Anda membatasi akses pengguna pada skema database. Di Cloud SQL untuk MySQL versi 8.0, flag partial_revokes ditetapkan menjadi ON. Hal ini membatasi penggunaan karakter pengganti saat memberikan atau mencabut hak istimewa pengguna untuk skema database di MySQL 8.0. Perbarui pernyataan GRANT Anda untuk menggunakan nama lengkap skema database, bukan menggunakan karakter pengganti.

    Contohnya, jika Anda menggunakan perintah berikut dengan karakter pengganti %\ untuk memberikan hak istimewa kepada pengguna di MySQL 5.7, pengguna akan diberi hak istimewa ke semua database yang diakhiri dengan _foobar.

    GRANT ALL PRIVILEGES ON `%\_foobar`.*  TO  'testuser'@'%';
    

    Namun, di MySQL 8.0, pengguna hanya akan diberi akses ke database yang sama persis dengan %\_foobar.

    Ada dua cara berbeda untuk memberikan akses ke beberapa database di MySQL 8.0.

    1. Anda dapat memberikan izin ke database tertentu menggunakan nama lengkap database seperti yang ditunjukkan dalam perintah di bawah ini:

        grant select on test1_foobar.* to 'testuser'@'%';
        grant select on test2_foobar.* to 'testuser'@'%';
        grant select on test3_foobar.* to 'testuser'@'%';
      
    2. Dengan partial_revokes, Anda dapat menggunakan perintah grant dan revoke untuk memberikan hak istimewa kepada pengguna di semua skema database sekaligus membatasi akses ke beberapa skema database.

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

      Tindakan ini memberikan akses ke semua skema database sekaligus membatasi akses ke test3_foobar.*.

    Filter replikasi

    Filter replikasi hanya dapat ditetapkan pada replika Cloud SQL. Setiap filter replikasi ditetapkan sebagai satu flag untuk beberapa database dengan setiap nama database dipisahkan oleh koma. Anda dapat menyiapkan filter replikasi pada replika Cloud SQL menggunakan konsol atau perintah berikut:

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

    Filter replikasi tidak mendukung nama database yang berisi nilai koma. Nilai ^~^ dalam perintah sebelumnya diperlukan untuk flag database yang merupakan nilai yang dipisahkan koma.

    Saat Anda menetapkan flag filter replikasi, perhatikan hal berikut:

    • Jika replika menjadi tidak responsif, data yang difilter menurut filter replikasi dapat muncul di replika karena Cloud SQL menggunakan data sumber dari data utama untuk membangun ulang replika instance.
    • Anda tidak dapat menetapkan filter replikasi pada skema mysql.
    • Aturan filter replikasi tidak berlaku untuk ekspor serverless.

    Tanda konsultan indeks

    Berikut ini daftar flag database yang digunakan Cloud SQL untuk MySQL untuk mengaktifkan dan mengelola fitur khusus bagi penasihat indeks.

    Nama bendera Jenis
    Nilai dan catatan yang dapat diterima
    Perlu
    Mulai Ulang?
    cloudsql_index_advisor boolean
    on | off
    default: off
    Ya
    cloudsql_index_advisor_auto_advisor_schedule string
    default: 00:00
    Tidak
    cloudsql_index_advisor_run_at_timestamp Datetime
    default: 00:00:00
    Tidak

    Flag dengan alias

    Daftar berikut berisi nama flag yang telah diubah oleh Cloud SQL untuk MySQL versi 8.0.26 ke atas.

    Nama flag yang tidak digunakan lagi Nama flag baru
    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

    Jika instance Cloud SQL Anda menggunakan nama flag yang tidak digunakan lagi, edit instance Cloud SQL Anda, hapus nama flag yang tidak digunakan lagi tersebut, dan tambahkan flag baru ke instance Anda. Untuk mengetahui informasi lebih lanjut, lihat Menyiapkan flag database.

    Pemecahan masalah

    Masalah Pemecahan masalah
    Setelah mengaktifkan flag, instance akan melakukan loop antara panik dan error. Hubungi dukungan pelanggan untuk meminta penghapusan flag yang diikuti dengan hard drain. Hal ini memaksa instance untuk mulai ulang pada host yang berbeda dengan konfigurasi baru tanpa flag atau setelan yang tidak diinginkan.
    Anda melihat pesan error Bad syntax for dict arg saat mencoba menetapkan flag. Parameter value yang kompleks, seperti daftar yang dipisahkan koma, memerlukan perlakuan khusus saat digunakan dengan perintah gcloud.

    Langkah selanjutnya