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.

Ketika Anda menetapkan, menghapus, atau memodifikasi flag untuk sebuah instance database, database tersebut kemungkinan akan 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 1204, remote access, dan remote query timeout (s), Anda dapat menggunakan perintah berikut:

gcloud sql instances patch INSTANCE_NAME \
  --database-flags="1204"=on,"remote access"=on,"remote query timeout (s)"=300

Terraform

Untuk menambahkan flag database, gunakan resource Terraform.

resource "google_sql_database_instance" "instance" {
  name             = "sqlserver-instance-flags"
  region           = "us-central1"
  database_version = "SQLSERVER_2019_STANDARD"
  root_password    = "INSERT-PASSWORD-HERE"
  settings {
    database_flags {
      name  = "1204"
      value = "on"
    }
    database_flags {
      name  = "remote access"
      value = "on"
    }
    database_flags {
      name  = "remote query timeout (s)"
      value = "300"
    }
    tier = "db-custom-2-7680"
  }
  # 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 dengan menjalankan perintah berikut dan memasukkan yes pada prompt:
    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 menerima respons JSON yang mirip dengan yang berikut ini:

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 menerima respons JSON yang mirip dengan yang berikut ini:

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 menerima respons JSON yang mirip dengan yang berikut ini:

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 menerima respons JSON yang mirip dengan yang berikut ini:

Menentukan flag database yang telah ditetapkan untuk 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, buat pengganti 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, buat pengganti 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 didukung

Cloud SQL hanya mendukung flag yang tercantum di bagian ini.

Flag Cloud SQL Jenis
Nilai dan Catatan yang Dapat Diterima
Mulai Ulang
Diperlukan?
1204 (flag trace) boolean
on | off
Tidak
1222 (flag trace) boolean
on | off
Tidak
1224 (flag trace) boolean
on | off
Tidak
2528 (flag trace) boolean
on | off
Tidak
3205 (flag trace) boolean
on | off
Tidak
3226 (flag trace) boolean
on | off
Tidak
3625 (flag trace) boolean
on | off
Ya
4199 (flag trace) boolean
on | off
Tidak
4616 (flag trace) boolean
on | off
Tidak
7806 (flag trace) boolean
on | off
Ya
jumlah bucket pemeriksaan akses cache integer
0 ... 65536
Tidak
akses check cache kuota integer
0 ... 2147483647
Tidak
menyamarkan afinitas integer
2147483648 ... 2147483647
Tidak
xps agen boolean
on | off
Tidak
soft-numa otomatis dinonaktifkan boolean
on | off
Ya
cloud sql xe bucket name string
Nama bucket harus diawali dengan awalan gs://.
Tidak
cloud sql xe output total disk size (mb) integer
10 ... 512
Tidak
cloud sql xe file retention (mins) integer
0 ... 10080
Tidak
cloud sql xe upload interval (mins) integer
1 ... 60
Tidak
cloudsql mengaktifkan server tertaut boolean
on | off
Tidak
nilai minimum biaya untuk paralelisme integer
0 ... 32767
Tidak
berisi autentikasi database boolean
on | off
Tidak
rantai kepemilikan lintas db boolean
on | off
Tidak
nilai minimum kursor integer
-1 ... 2147483647
Tidak
bahasa teks lengkap default integer
0 ... 2147483647
Tidak
bahasa default integer
0 ... 32
Tidak
trace default diaktifkan boolean
on | off
Tidak
larang hasil dari pemicu boolean
on | off
Tidak
skrip eksternal diaktifkan boolean
on | off
Ya
bandwidth crawl ft (maks) integer
0 ... 32767
Tidak
bandwidth crawl ft (min) integer
0 ... 32767
Tidak
bandwidth notifikasi ft (maks) integer
0 ... 32767
Tidak
memberitahukan bandwidth ft (min) integer
0 ... 32767
Tidak
faktor pengisian (%) integer
0 ... 100
Tidak
mengindeks memori pembuatan (kb) integer
704 ... 2147483647
Tidak
kunci integer
5000 ... 2147483647
Ya
memori server maks (mb) integer
1000 ... 2147483647
Cloud SQL dapat menetapkan nilai untuk flag ini pada instance, berdasarkan Nilai yang direkomendasikan Microsoft. Untuk mengetahui informasi selengkapnya, lihat Flag khusus.
Tidak
ukuran replika teks maksimal (b) integer
-1 ... 2147483647
Tidak
thread worker maksimal integer
128 ... 65535
Tidak
pemicu bertingkat boolean
on | off
Tidak
mengoptimalkan workload ad hoc boolean
on | off
Tidak
waktu tunggu ph (dtk) integer
1 ... 3600
Tidak
batas biaya gubernur kueri integer
0 ... 2147483647
Tidak
waktu tunggu kueri (dtk) integer
-1 ... 2147483647
Tidak
interval pemulihan (mnt) integer
0 ... 32767
Tidak
akses jarak jauh boolean
on | off
Ya
waktu tunggu login jarak jauh (dtk) integer
0 ... 2147483647
Tidak
waktu tunggu kueri jarak jauh (dtk) integer
0 ... 2147483647
Tidak
mengubah kata-kata bising boolean
on | off
Tidak
batas tahun dua digit integer
1753 ... 9999
Tidak
koneksi pengguna integer
0, 10 ... 32767
Ya
opsi pengguna integer
0 ... 32767
Tidak

Flag khusus

Bagian ini berisi informasi tambahan tentang flag Cloud SQL untuk SQL Server.

max server memory (mb)

Flag ini membatasi jumlah memori yang dapat dialokasikan Cloud SQL untuk kumpulan internalnya. Rekomendasi umumnya adalah menyetel nilai untuk flag ke sekitar 80% agar SQL Server tidak menggunakan semua memori yang tersedia untuk instance Cloud SQL. Jika Anda menetapkan nilai lebih besar dari 80%, Anda mungkin mengalami ketidakstabilan, penurunan performa, dan error database karena masalah kehabisan memori.

Jika Anda tidak menetapkan nilai untuk flag ini, Cloud SQL akan mengelola nilai secara otomatis, berdasarkan ukuran RAM untuk instance Anda. Selain itu, jika Anda mengubah ukuran instance, Cloud SQL akan otomatis menyesuaikan nilai flag untuk memenuhi rekomendasi kami terkait ukuran instance baru. Hal ini memastikan bahwa database Anda menggunakan resource secara efektif, sehingga mencegah kelebihan alokasi, error, dan penurunan performa untuk instance Anda.

Pemecahan masalah

Masalah Pemecahan masalah
Anda ingin mengubah zona waktu untuk instance Cloud SQL.

Untuk melihat cara memperbarui zona waktu instance, lihat Setelan instance.

Di Cloud SQL untuk SQL Server, Anda dapat menggunakan fungsi AT TIME ZONE untuk konversi waktu dan lainnya. Untuk mengetahui informasi selengkapnya tentang fungsi ini, lihat AT TIME ZONE (Transact-SQL).

Langkah selanjutnya