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
- Di Konsol Google Cloud, pilih project yang berisi instance Cloud SQL yang ingin Anda tetapkan flag database-nya.
- Buka instance, lalu klik Edit.
- Scroll ke bawah sampai ke bagian Flag.
- Untuk menetapkan flag yang belum ditetapkan pada instance sebelumnya, klik Tambahkan item, pilih flag dari menu drop-down, lalu tetapkan nilainya.
- Klik Simpan untuk menyimpan perubahan.
- 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.
Menerapkan perubahan
Untuk menerapkan konfigurasi Terraform di project Google Cloud, selesaikan langkah-langkah di bagian berikut.
Menyiapkan Cloud Shell
- Luncurkan Cloud Shell.
-
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).
-
Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki
ekstensi
.tf
—misalnyamain.tf
. Dalam tutorial ini, file ini disebut sebagaimain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
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.
- Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
- Simpan perubahan Anda.
-
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
-
Tinjau konfigurasi dan pastikan resource yang akan dibuat atau
diupdate oleh Terraform sesuai yang Anda inginkan:
terraform plan
Koreksi konfigurasi jika diperlukan.
-
Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan
yes
pada prompt:terraform apply
Tunggu hingga Terraform menampilkan pesan "Apply complete!".
- 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:
- Untuk menonaktifkan perlindungan penghapusan, di file konfigurasi Terraform Anda, tetapkan
argumen
deletion_protection
kefalse
.deletion_protection = "false"
- Terapkan konfigurasi Terraform terbaru dengan menjalankan perintah berikut dan memasukkan
yes
pada perintah:terraform apply
-
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:
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:
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
- Di Konsol Google Cloud, pilih project yang berisi instance Cloud SQL yang semua flagnya ingin Anda hapus.
- Buka instance, lalu klik Edit.
- Buka bagian Flag Database.
- Klik X di samping semua flag yang ditampilkan.
- 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:
Menentukan flag database yang telah ditetapkan untuk instance
Untuk melihat flag apa saja yang telah disetel untuk sebuah instance Cloud SQL:
Konsol
- Di Konsol Google Cloud, pilih project yang berisi instance Cloud SQL dengan flag database yang telah ditetapkan yang ingin Anda lihat.
- 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 didukung
Flag yang tidak disebutkan di bawah tidak didukung.
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 |
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 128 ... 2147483647
Cloud SQL dapat menetapkan nilai untuk flag ini pada instance, berdasarkan Nilai yang direkomendasikan Microsoft. |
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 |
Pemecahan masalah
Masalah | Pemecahan masalah |
---|---|
Cloud SQL untuk SQL Server tidak mendukung modifikasi zona waktu instance yang ada. |
Di Cloud SQL, SQL Server mendukung penetapan zona waktu instance baru, tetapi tidak mendukung instance yang sudah ada. Di Cloud SQL untuk SQL Server, Anda dapat menggunakan fungsi |
Langkah selanjutnya
- Pelajari opsi konfigurasi SQL Server lebih lanjut.