Halaman ini menjelaskan cara membuat instance Cloud SQL untuk MySQL.
Untuk mengetahui detail informasi tentang semua setelan instance, lihat Setelan instance.
Instance yang baru dibuat memiliki empat database sistem:
information_schema
: Menyediakan akses ke metadata database, informasi tentang server MySQL.mysql
: Skema sistem. Objek ini berisi tabel yang menyimpan informasi yang diperlukan oleh server MySQL saat dijalankan.performance_schema
: Fitur untuk memantau eksekusi MySQL Server di level rendah.sys
: Berisi kumpulan objek yang membantu DBA dan developer menafsirkan data yang dikumpulkan oleh skema performa.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Pastikan Anda memiliki peran Admin Cloud SQL dan Compute Viewer di
akun pengguna.
Pelajari lebih lanjut tentang peran dan perizinan
Buat instance MySQL
Konsol
-
Di konsol Google Cloud, buka halaman Instance Cloud SQL.
- Klik Create instance.
- Pada panel Choose your database engine di halaman Create an instance, klik Choose MySQL.
- Di kolom Instance ID pada panel Instance info, masukkan
ID untuk instance Anda.
Anda tidak perlu menyertakan project ID dalam nama instance. Hal ini dilakukan secara otomatis jika sesuai (misalnya, di file log).
- Setel sandi untuk pengguna root.
Meskipun ada opsi untuk menyetel Tidak ada sandi, hal ini tidak direkomendasikan untuk alasan keamanan.
Opsional: Konfigurasikan kebijakan sandi untuk instance sebagai berikut:
- Centang kotak Aktifkan kebijakan sandi.
- Klik tombol Siapkan kebijakan sandi, tetapkan satu atau beberapa
opsi berikut, lalu klik Save.
- Panjang minimum: Menentukan jumlah karakter minimum yang harus dimiliki oleh sandi.
- Kompleksitas sandi: periksa apakah sandi merupakan kombinasi karakter huruf kecil, huruf besar, numerik, dan non-alfanumerik.
- Batasi penggunaan ulang sandi: Menentukan jumlah sandi sebelumnya yang tidak dapat digunakan kembali.
Hanya didukung pada Cloud SQL untuk MySQL 8.0.
- Larang nama pengguna: Mencegah penggunaan nama pengguna dalam sandi.
- Pilih versi database untuk instance Anda: MySQL 8.0 (default), MySQL 5.7, atau MySQL 5.6.
- Opsional: Pilih Tampilkan versi minor. Lalu, pilih versi minor selain versi minor default.
- .Pilih edisi Cloud SQL untuk instance Anda:
Enterprise
atauEnterprise plus
. Untuk informasi selengkapnya tentang edisi Cloud SQL, lihat Pengantar edisi Cloud SQL. - Pada bagian Pilih region dan ketersediaan zona, pilih region
dan zona untuk instance Anda.
Ketersediaan region mungkin berbeda berdasarkan edisi
Cloud SQL Anda. Untuk informasi selengkapnya, lihat Tentang setelan instance.
Tempatkan instance Anda di region yang sama dengan resource yang mengaksesnya. Region yang dipilih tidak dapat diubah pada masa mendatang. Pada umumnya, Anda tidak perlu menentukan zona.
Jika mengonfigurasi instance untuk ketersediaan tinggi, Anda dapat memilih zona utama dan sekunder.
Kondisi berikut berlaku jika zona sekunder digunakan selama pembuatan instance:
- Zona secara default ditetapkan ke
Any
untuk zona utama danAny (different from primary)
untuk zona sekunder. - Jika zona utama dan sekunder ditentukan, keduanya harus berada di zona yang berbeda.
- Zona secara default ditetapkan ke
- Pada bagian Sesuaikan instance, perbarui setelan untuk instance
Anda.
Mulailah dengan mengklik TAMPILKAN OPSI KONFIGURASI untuk menampilkan grup
setelan. Kemudian, perluas grup yang diinginkan untuk meninjau dan menyesuaikan setelannya.
Ringkasan semua opsi yang telah dipilih ditampilkan di sebelah kanan.
Penyesuaian setelan instance ini bersifat opsional. Default ditetapkan di setiap
kasus ketika tidak ada penyesuaian yang dilakukan.
Tabel berikut adalah referensi cepat untuk setelan instance. Untuk mengetahui detail selengkapnya tentang setiap setelan, lihat halaman setelan instance.
Setelan Notes Machine type Machine type Pilih dari Shared core atau Dedicated core. Untuk Shared core, setiap jenis mesin diklasifikasikan berdasarkan jumlah CPU (cores) dan jumlah memori untuk instance Anda. Cores Jumlah vCPU untuk instance Anda. Pelajari lebih lanjut. Memori Jumlah memori untuk instance Anda, dalam GB. Pelajari lebih lanjut. Kustom Untuk jenis mesin Dedicated core, daripada memilih konfigurasi yang telah ditetapkan, pilih tombol Khusus untuk membuat instance dengan konfigurasi kustom. Saat memilih opsi ini, Anda harus memilih jumlah inti dan jumlah memori untuk instance. Pelajari lebih lanjut. Penyimpanan Jenis penyimpanan Tentukan apakah instance Anda menggunakan penyimpanan SSD atau HDD. Pelajari lebih lanjut. Kapasitas penyimpanan Jumlah penyimpanan yang disediakan untuk instance. Pelajari lebih lanjut. Aktifkan peningkatan penyimpanan otomatis Menentukan apakah Cloud SQL menyediakan lebih banyak penyimpanan secara otomatis untuk instance Anda saat ruang kosong hampir habis. Pelajari lebih lanjut. Enkripsi Enkripsi yang dikelola Google Opsi default. Kunci enkripsi yang dikelola pelanggan (CMEK) Pilih untuk menggunakan kunci Anda dengan Google Cloud Key Management Service. Pelajari lebih lanjut. Koneksi IP Pribadi Menambahkan alamat IP pribadi untuk instance Anda. Untuk memungkinkan koneksi ke instance, diperlukan konfigurasi tambahan.
Secara opsional, Anda dapat menentukan rentang IP yang dialokasikan untuk instance yang akan digunakan pada koneksi.- Perluas Opsi tampilkan rentang IP yang dialokasikan.
- Pilih rentang IP dari menu drop-down.
Instance Anda dapat memiliki alamat IP publik dan pribadi.
- Pelajari lebih lanjut cara menggunakan IP pribadi.
- Pelajari lebih lanjut rentang alamat IP yang dialokasikan.
IP Publik Menambahkan alamat IP publik untuk instance Anda. Selanjutnya, Anda dapat menambahkan jaringan yang diizinkan untuk terhubung ke instance. Instance Anda dapat memiliki alamat IP publik dan pribadi.
Pelajari lebih lanjut cara menggunakan IP publik.
Jaringan yang diizinkan Tambahkan nama untuk jaringan baru dan Alamat jaringan. Pelajari lebih lanjut. Jalur pribadi untuk layanan Google Cloud Dengan mencentang kotak ini, Anda mengizinkan layanan Google Cloud lainnya, seperti BigQuery, untuk mengakses data di Cloud SQL dan membuat kueri terhadap data ini melalui koneksi pribadi.
Perlindungan data Otomatiskan pencadangan Periode waktu saat Anda ingin pencadangan dimulai. Pelajari lebih lanjut. Pilih tempat untuk menyimpan cadangan Anda Pilih Multi-region untuk sebagian besar kasus penggunaan. Jika Anda perlu menyimpan cadangan di region tertentu, misalnya, jika ada alasan peraturan untuk melakukannya, pilih Region kemudian pilih region Anda dari menu drop-down Lokasi. Pilih jumlah cadangan yang akan disimpan Jumlah cadangan otomatis yang ingin Anda pertahankan (dari 1 hingga 365 hari). Pelajari lebih lanjut. Aktifkan pemulihan point-in-time Mengaktifkan pemulihan point-in-time dan write-ahead logging. Pelajari lebih lanjut. Aktifkan perlindungan penghapusan Menentukan apakah akan melindungi instance dari penghapusan yang tidak disengaja. Pelajari lebih lanjut. Pilih jumlah hari untuk log yang akan disimpan Mengonfigurasi retensi write-ahead log dari 1 hingga 7 hari. Setelan defaultnya yakni 7 hari. Pelajari lebih lanjut. Pemeliharaan Periode pilihan Menentukan periode satu jam ketika Cloud SQL dapat melakukan pemeliharaan yang mengganggu pada instance Anda. Jika Anda tidak menyetel periode ini, pemeliharaan yang mengganggu dapat dilakukan kapan saja. Pelajari lebih lanjut. Urutan update Waktu yang Anda pilih untuk update instance, relatif terhadap instance lain dalam project yang sama. Pelajari lebih lanjut. Tanda Tambahkan tanda Anda dapat menggunakan tanda database untuk mengontrol setelan dan parameter untuk instance. Pelajari lebih lanjut. Label TAMBAHKAN LABEL Tambahkan kunci dan nilai untuk setiap label yang ditambahkan. Anda menggunakan label untuk membantu mengatur instance. Cache data Aktifkan cache data (opsional) Mengaktifkan cache data untuk instance edisi Cloud SQL untuk MySQL Enterprise Plus. Untuk mengetahui informasi selengkapnya tentang cache data, lihat cache data. -
Klik Create Instance.
Catatan: Mungkin diperlukan waktu beberapa menit untuk membuat instance. Namun, Anda dapat melihat informasi tentang instance saat sedang dibuat.
Untuk melihat sandi dalam teks yang jelas, klik ikon Tampilkan sandi.
Anda dapat memasukkan sandi secara manual atau mengklik Buat agar Cloud SQL membuat sandi untuk Anda secara otomatis.
Versi database tidak dapat diedit setelah instance dibuat.
gcloud
Untuk mengetahui informasi cara menginstal dan memulai gcloud CLI, lihat Menginstal gcloud CLI. Untuk mengetahui informasi cara memulai Cloud Shell, lihat dokumentasi Cloud Shell.
- Gunakan perintah
gcloud sql instances create
untuk membuat instance:
Untuk instance edisi Cloud SQL Enterprise Plus:gcloud sql instances create INSTANCE_NAME \ --region=REGION \ --tier=TIER \ --database-version=MYSQL_8_0_31 \ --edition=ENTERPRISE_PLUS
Untuk instance edisi Cloud SQL Enterprise: Sebagai alternatif, Anda dapat menggunakan tandagcloud sql instances create INSTANCE_NAME \ --cpu=NUMBER_CPUS \ --memory=MEMORY_SIZE \ --region=REGION
--tier
jika memilih db-f1-micro atau db-g1-small sebagai jenis mesin:gcloud sql instances create INSTANCE_NAME \ --tier=API_TIER_STRING \ --region=REGION
vCPU dan ukuran memori memiliki batasan nilai:
- vCPU harus berupa 1 atau bilangan genap antara 2 dan 96.
- Memori harus:
- 0,9 hingga 6,5 GB per vCPU
- Kelipatan 256 MB
- Setidaknya 3,75 GB (3840 MB)
Misalnya, string berikut membuat instance edisi Cloud SQL Enterprise dengan dua vCPU dan memori 7,680 MB:
gcloud sql instances create myinstance \ --database-version=MYSQL_8_0 \ --cpu=2 \ --memory=7680MB \ --region=us-central1
String berikut membuat instance edisi Cloud SQL Enterprise Plus dengan empat inti:
gcloud sql instances create myinstance \ --database-version=MYSQL_8_0_31 \ --tier=db-perf-optimized-N-4 \ --edition=ENTERPRISE_PLUS \ --region=us-central1
Nilai default untuk REGION adalah
us-central1
.Jangan menyertakan informasi sensitif atau informasi identitas pribadi dalam nama instance Anda; terlihat secara eksternal.
Anda tidak perlu menyertakan project ID dalam nama instance. Hal ini dilakukan secara otomatis jika sesuai (misalnya, di file log).Jika membuat instance untuk ketersediaan tinggi, Anda dapat menentukan zona utama dan sekunder menggunakan parameter
--zone
dan--secondary-zone
. Kondisi berikut berlaku jika zona sekunder digunakan selama pembuatan atau pengeditan instance:- Zona harus berupa zona yang valid.
- Jika zona sekunder ditentukan, zona utama juga harus ditentukan.
- Jika zona utama dan sekunder ditentukan, zona tersebut harus berbeda.
- Jika zona utama dan sekunder ditentukan, zona tersebut harus berada di region yang sama.
Anda dapat menambahkan parameter lainnya untuk menentukan setelan instance lainnya:
Setelan Parameter Notes Parameter yang diperlukan Versi database --database-version
Versi database, yang didasarkan pada edisi Cloud SQL Anda. Region --region
Lihat nilai yang valid. Menetapkan kebijakan sandi Aktifkan kebijakan sandi --enable-password-policy
Mengaktifkan kebijakan sandi saat digunakan. Secara default, kebijakan sandi dinonaktifkan. Jika dinonaktifkan menggunakan parameter --clear-password-policy
, parameter kebijakan sandi lainnya akan direset.Panjang minimum --password-policy-min-length
Menentukan jumlah karakter minimum yang harus dimiliki sandi. Kerumitan sandi --password-policy-complexity
Mengaktifkan pemeriksaan kerumitan sandi untuk memastikan bahwa sandi berisi salah satu dari setiap jenis karakter berikut: huruf kecil, huruf besar, numerik, dan non-alfanumerik. Tetapkan nilai ke COMPLEXITY_DEFAULT
.Batasi penggunaan kembali sandi --password-policy-reuse-interval
Menentukan jumlah sandi sebelumnya yang tidak dapat digunakan kembali. Hanya didukung pada Cloud SQL untuk MySQL 8.0. Larang nama pengguna --password-policy-disallow-username-substring
Mencegah penggunaan nama pengguna dalam sandi. Gunakan parameter --no-password-policy-disallow-username-substring
untuk menonaktifkan pemeriksaan tersebut.Konektivitas IP Pribadi --network
--no-assign-ip
(opsional)--allocated-ip-range-name
(opsional)--enable-google-private-path
(opsional)--network
: Menentukan nama jaringan VPC yang ingin Anda gunakan untuk instance ini. Akses layanan pribadi harus sudah dikonfigurasi untuk jaringan tersebut.ork. Hanya tersedia untuk perintah beta (gcloud beta sql instances create
).--no-assign-ip
: Instance hanya akan memiliki alamat IP pribadi.--allocated-ip-range-name
: Jika telah ditentukan, tetapkan nama rentang untuk rentang IP yang dialokasikan. Contoh ,google-managed-services-default
. Nama rentang harus sesuai denganRFC-1035
dan terdiri dari 1-63 karakter. (gcloud alpha sql instances create
).--enable-google-private-path
: Jika menggunakan parameter ini, berarti Anda mengizinkan layanan Google Cloud lainnya, seperti BigQuery, untuk mengakses data di Cloud SQL dan membuat kueri terhadap data ini melalui koneksi pribadi.Parameter ini hanya valid jika:
- Anda menggunakan parameter
--no-assign-ip
. - Gunakan parameter
--network
untuk menentukan nama jaringan VPC yang ingin Anda gunakan untuk membuat koneksi pribadi.
Pelajari lebih lanjut cara mengonfigurasi IP pribadi.
IP Publik --authorized-networks
Untuk koneksi IP publik, hanya koneksi dari jaringan yang diizinkan yang dapat terhubung ke instance Anda. Pelajari lebih lanjut. Penerapan SSL --ssl-mode
--require-ssl
Parameter
ssl-mode
memberlakukan penerapan SSL/TLS untuk koneksi. Untuk mengetahui informasi lebih lanjut, lihat Setelan Cloud SQL untuk MySQL.Parameter
require-ssl
menentukan apakah koneksi SSL melalui IP diterapkan atau tidak.require-ssl
adalah parameter lama. Sebagai gantinya, gunakanssl-mode
. Untuk mengetahui informasi selengkapnya, lihat IpConfiguration.Jenis mesin dan penyimpanan Machine type --tier
Digunakan untuk menentukan instance dengan shared-core ( db-f1-micro
ataudb-g1-small
). Untuk konfigurasi instance kustom, gunakan parameter--cpu
atau--memory
sebagai gantinya. Lihatkonfigurasi instance kustom.Jenis penyimpanan --storage-type
Tentukan apakah instance Anda menggunakan penyimpanan SSD atau HDD. Pelajari lebih lanjut. Kapasitas penyimpanan --storage-size
Jumlah penyimpanan yang disediakan untuk instance, dalam GB. Pelajari lebih lanjut. Peningkatan Penyimpanan Otomatis --storage-auto-increase
Menentukan apakah Cloud SQL menyediakan lebih banyak penyimpanan secara otomatis untuk instance Anda saat ruang kosong hampir habis. Pelajari lebih lanjut. Batas peningkatan penyimpanan otomatis --storage-auto-increase-limit
Tentukan seberapa besar Cloud SQL dapat meningkatkan penyimpanan secara otomatis. Hanya tersedia untuk perintah beta ( gcloud beta sql instances create
). Pelajari lebih lanjut.Cache data (opsional) --enable-data-cache
Mengaktifkan atau menonaktifkan cache data untuk instance. Untuk informasi selengkapnya, lihat cache data. Pencadangan otomatis dan ketersediaan tinggi Ketersediaan tinggi --availability-type
Untuk instance dengan ketersediaan tinggi, tetapkan ke REGIONAL
. Pelajari lebih lanjut.Zona sekunder --secondary-zone
ika membuat instance untuk ketersediaan tinggi, Anda dapat menentukan zona utama dan sekunder menggunakan --zone
dan--secondary-zone parameters
. Pembatasan berikut berlaku jika zona sekunder digunakan selama pembuatan atau pengeditan instance:- Zona harus berupa zona yang valid.
- Jika zona sekunder ditentukan, zona utama juga harus ditentukan.
Jika zona utama dan sekunder ditentukan, zona tersebut harus berbeda.
Jika zona utama dan sekunder ditentukan, zona tersebut harus berada di region yang sama.
Backup otomatis --backup-start-time
Periode waktu saat Anda ingin pencadangan dimulai. Pelajari lebih lanjut. Setelan retensi untuk cadangan otomatis --retained-backups-count
Jumlah cadangan otomatis yang perlu dipertahankan. Pelajari lebih lanjut. Logging biner --enable-bin-log
Logging biner memungkinkan replikasi dan pemulihan point-in-time. Pelajari lebih lanjut. Setelan retensi untuk logging biner --retained-transaction-log-days
Jumlah hari untuk menyimpan log biner untuk pemulihan point-in-time.Pelajari lebih lanjut. Tambahkan tanda database Tanda database --database-flags
Anda dapat menggunakan tanda database untuk mengontrol setelan dan parameter untuk instance. Pelajari tanda database lebih lanjut. Pelajari lebih lanjut cara memformat parameter ini. Jadwal pemeliharaan Masa pemeliharaan --maintenance-window-day
,--maintenance-window-hour
Menentukan periode satu jam kapan Cloud SQL dapat melakukan pemeliharaan yang mengganggu pada instance Anda. Jika Anda tidak menyetel periode, maka pemeliharaan yang dapat mengganggu bisa dilakukan kapan saja. Pelajari lebih lanjut. Waktu pemeliharaan --maintenance-release-channel
Waktu yang Anda pilih untuk update instance, relatif terhadap instance lain dalam project yang sama. Gunakan preview
untuk update sebelumnya, danproduction
untuk update berikutnya. Pelajari lebih lanjut. - Catat alamat IP yang ditetapkan secara otomatis.
Jika tidak menggunakan Proxy Auth Cloud SQL, Anda akan menggunakan alamat ini sebagai alamat host yang digunakan aplikasi atau alat untuk terhubung ke instance.
- Atur kata sandi untuk pengguna MySQL "root@%":
gcloud sql users set-password root \ --host=% \ --instance INSTANCE_NAME \ --password PASSWORD
Terraform
Untuk membuat instance, 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
Buat instance
Contoh ini akan membuat sebuah instance. Beberapa parameter opsional, seperti cadangan dan logging biner juga disertakan. Untuk mengetahui daftar lengkap parameter panggilan ini, lihat halaman Instances:insert. Untuk mengetahui informasi tentang setelan instance, termasuk nilai yang valid untuk region, lihat Setelan instance.
Jangan menyertakan informasi sensitif atau informasi identitas pribadi
di ID instance Anda; karena informasi tersebut terlihat dari luar.
Anda tidak perlu menyertakan project ID dalam nama instance. Hal ini dilakukan secara otomatis jika
sesuai (misalnya, di file log).
Sebelum menggunakan data permintaan lain, buat pengganti berikut:
- PROJECT_ID: project ID Anda.
- INSTANCE_ID: ID instance Anda
- DATABASE_VERSION: versi database.
Misalnya
MYSQL_8_0
atauMYSQL_8_0_31
. - REGION: Region
- MACHINE_TYPE: jenis mesin Anda
- EDITION_TYPE: edisi Cloud SQL Anda
- DATA_CACHE_ENABLED: (opsional) ditetapkan ke
true
untuk mengaktifkan cache data untuk instance Anda - PRIVATE_NETWORK: tentukan nama jaringan Virtual Private Cloud (VPC) yang ingin digunakan untuk instance ini. Akses layanan pribadi harus sudah dikonfigurasi untuk jaringan tersebut.
- AUTHORIZED_NETWORKS: Untuk koneksi IP publik, tentukan koneksi dari jaringan resmi yang dapat terhubung ke instance Anda.
Untuk menetapkan kebijakan sandi saat membuat instance, sertakan objek passwordValidationPolicy dalam permintaan. Tetapkan parameter berikut, jika diperlukan:
enablePasswordPolicy
: Mengaktifkan kebijakan sandi saat disetel ketrue
.Untuk menghapus kebijakan sandi, Anda dapat menggunakan permintaan
PATCH
dengannull
sebagai nilai untukenablePasswordPolicy
. Dalam kasus ini, parameter kebijakan sandi lainnya akan diatur ulang.minLength
: Menentukan jumlah karakter minimum yang harus dimiliki sandi.complexity
: Memeriksa apakah sandi merupakan kombinasi karakter huruf kecil, huruf besar, angka, dan non-alfanumerik. Nilai defaultnya adalahCOMPLEXITY_DEFAULT
.reuseInterval
: Menentukan jumlah sandi sebelumnya yang tidak dapat digunakan kembali.Hanya didukung pada Cloud SQL untuk MySQL 8.0.
disallowUsernameSubstring
: Mencegah penggunaan nama pengguna dalam sandi saat ditetapkan ketrue
.
Metode HTTP dan URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
Meminta isi JSON:
{ "name": "INSTANCE_ID", "region": "REGION", "databaseVersion": "DATABASE_VERSION", "settings": { "tier": "MACHINE_TYPE", "edition": "EDITION_TYPE", "dataCacheConfig" = { "dataCacheEnabled": DATA_CACHE_ENABLED }, "backupConfiguration": { "binaryLogEnabled": true, "enabled": true }, "passwordValidationPolicy": { "enablePasswordPolicy": true "minLength": "MIN_LENGTH", "complexity": COMPLEXITY_DEFAULT, "reuseInterval": "REUSE_INTERVAL", "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING", } "ipConfiguration": { "privateNetwork": "PRIVATE_NETWORK", "authorizedNetworks": [AUTHORIZED_NETWORKS], "ipv4Enabled": false, "enablePrivatePathForGoogleCloudServices": true } } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON seperti berikut:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2019-09-25T22:19:33.735Z", "operationType": "CREATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
Responsnya adalah operasi yang berjalan lama, yang mungkin memerlukan waktu beberapa menit untuk diselesaikan.
Memperbarui sandi root
Ketika instance selesai melakukan inisialisasi, perbarui sandi root:
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: project ID Anda.
- instance-id: ID instance yang dibuat di langkah sebelumnya
- root-password: sandi root yang diinginkan
Metode HTTP dan URL:
PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?host=%25&name=root
Meminta isi JSON:
{ "name": "root", "host": "%", "password": "root-password" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id", "status": "DONE", "user": "user@example.com", "insertTime": "2019-09-26T14:32:30.592Z", "startTime": "2019-09-26T14:32:30.594Z", "endTime": "2019-09-26T14:32:33.518Z", "operationType": "UPDATE_USER", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id", "targetProject": "project-id" }
Mengambil alamat IPv4
Ambil alamat IPv4 yang ditetapkan secara otomatis untuk instance baru:
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: project ID Anda.
- instance-id: ID instance yang dibuat di langkah sebelumnya
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 seperti berikut:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0_18", "settings": { "authorizedGaeApplications": [], "tier": "db-f1-micro", "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "us-west1-a", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "backupConfiguration": { "startTime": "18:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "1", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" }, "etag": "--redacted--", "ipAddresses": [ { "type": "PRIMARY", "ipAddress": "10.0.0.1" } ], "serverCaCert": { ... }, "instanceType": "CLOUD_SQL_INSTANCE", "project": "project-id", "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com", "backendType": "SECOND_GEN", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id", "connectionName": "project-id:region:instance-id", "name": "instance-id", "region": "us-west1", "gceZone": "us-west1-a" }
Cari kolom ipAddress
dalam respons.
REST v1beta4
Buat instance
Contoh ini akan membuat sebuah instance. Beberapa parameter opsional, seperti cadangan dan logging biner juga disertakan. Untuk daftar lengkap parameter panggilan ini, lihat halaman instances:insert. Untuk mengetahui informasi tentang setelan instance, termasuk nilai yang valid untuk region, lihat Setelan instance
Jangan sertakan informasi sensitif atau informasi identitas pribadi
di ID instance Anda; informasi ini terlihat secara eksternal.
Anda tidak perlu menyertakan project ID dalam nama instance. Hal ini dilakukan secara otomatis jika
sesuai (misalnya, di file log).
Sebelum menggunakan data permintaan lain, buat pengganti berikut:
- PROJECT_ID: project ID Anda.
- INSTANCE_ID: ID instance Anda
- DATABASE_VERSION: versi database.
Misalnya
MYSQL_8_0
atauMYSQL_8_0_31
. - REGION: Region
- MACHINE_TYPE: jenis mesin Anda
- EDITION_TYPE: edisi Cloud SQL Anda
- DATA_CACHE_ENABLED: (opsional) ditetapkan ke
true
untuk mengaktifkan cache data untuk instance Anda
Untuk menetapkan kebijakan sandi saat membuat instance, sertakan objek passwordValidationPolicy dalam permintaan. Tetapkan parameter berikut, jika diperlukan:
enablePasswordPolicy
: Mengaktifkan kebijakan sandi saat disetel ketrue
.Untuk menghapus kebijakan sandi, Anda dapat menggunakan permintaan
PATCH
dengannull
sebagai nilai untukenablePasswordPolicy
. Dalam kasus ini, parameter kebijakan sandi lainnya akan diatur ulang.minLength
: Menentukan jumlah karakter minimum yang harus dimiliki sandi.complexity
: Memeriksa apakah sandi merupakan kombinasi karakter huruf kecil, huruf besar, angka, dan non-alfanumerik. Nilai defaultnya adalahCOMPLEXITY_DEFAULT
.reuseInterval
: Menentukan jumlah sandi sebelumnya yang tidak dapat digunakan kembali.Hanya didukung pada Cloud SQL untuk MySQL 8.0.
disallowUsernameSubstring
: Mencegah penggunaan nama pengguna dalam sandi saat ditetapkan ketrue
.
Metode HTTP dan URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
Meminta isi JSON:
{ "name": "INSTANCE_ID", "region": "REGION", "databaseVersion": "DATABASE_VERSION", "settings": { "tier": "MACHINE_TYPE", "edition": "EDITION_TYPE", "dataCacheConfig" { "dataCacheEnabled": DATA_CACHE_ENABLED }, "backupConfiguration": { "binaryLogEnabled": true, "enabled": true }, "passwordValidationPolicy": { "enablePasswordPolicy": true "minLength": "MIN_LENGTH", "complexity": COMPLEXITY_DEFAULT, "reuseInterval": "REUSE_INTERVAL", "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING", } } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2019-09-25T22:19:33.735Z", "operationType": "CREATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
Responsnya adalah operasi yang berjalan lama, yang mungkin memerlukan waktu beberapa menit untuk diselesaikan.
Memperbarui sandi root
Ketika instance selesai melakukan inisialisasi, perbarui sandi root:
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: project ID Anda.
- instance-id: ID instance yang dibuat di langkah sebelumnya
- root-password: sandi root yang diinginkan
Metode HTTP dan URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?host=%25&name=root
Meminta isi JSON:
{ "name": "root", "host": "%", "password": "root-password" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "DONE", "user": "user@example.com", "insertTime": "2019-09-26T14:32:30.592Z", "startTime": "2019-09-26T14:32:30.594Z", "endTime": "2019-09-26T14:32:33.518Z", "operationType": "UPDATE_USER", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
Responsnya adalah operasi yang berjalan lama, yang mungkin memerlukan waktu beberapa menit untuk diselesaikan.
Mengambil alamat IPv4
Ambil alamat IPv4 yang ditetapkan secara otomatis untuk instance baru:
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: project ID Anda.
- instance-id: ID instance yang dibuat di langkah sebelumnya
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 seperti berikut:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0_18", "settings": { "authorizedGaeApplications": [], "tier": "db-f1-micro", "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "us-west1-a", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "backupConfiguration": { "startTime": "18:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "1", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" }, "etag": "--redacted--", "ipAddresses": [ { "type": "PRIMARY", "ipAddress": "10.0.0.1" } ], "serverCaCert": { ... }, "instanceType": "CLOUD_SQL_INSTANCE", "project": "project-id", "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com", "backendType": "SECOND_GEN", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "connectionName": "project-id:region:instance-id", "name": "instance-id", "region": "us-west1", "gceZone": "us-west1-a" }
Cari kolom ipAddress
dalam respons.
Menentukan versi minor database
Anda dapat menentukan versi minor dari instance yang ada dengan menggunakan gcloud
atau
REST API.
gcloud
Gunakan perintah gcloud sql instances create
dengan tanda --database-version
.
Ganti variabel berikut sebelum menjalankan perintah:
- INSTANCE_NAME: nama instance
- DATABASE_VERSION: Versi minor database dari instance:
MYSQL_8_0_18
,MYSQL_8_0_26
,MYSQL_8_0_27
,MYSQL_8_0_28
,MYSQL_8_0_29
,MYSQL_8_0_30
,MYSQL_8_0_31
(versi minor default untuk MySQL 8.0),MYSQL_8_0_32
, atauMYSQL_8_0_33
. Jika Anda menentukanMYSQL_8_0
, versi minor default akan digunakan. Jika Anda tidak menentukan tanda ini, versi utama default,MYSQL_8_0
, akan digunakan.
gcloud sql instances create INSTANCE_NAME \ --database-version=DATABASE_VERSION
Untuk informasi selengkapnya, lihat dokumentasi membuat instance menggunakan gcloud
.
REST v1
Gunakan permintaan POST dengan metode
instances:insert dan tanda databaseVersion
.
POST https://sqladmin.googleapis.com/sql/v1/projects/project-id/instances
- project_id: ID project.
- instance_id: nama instance
- databaseVersion: Versi database dari instance:
MYSQL_8_0_18
,MYSQL_8_0_26
,MYSQL_8_0_27
,MYSQL_8_0_28
,MYSQL_8_0_29
,MYSQL_8_0_30
,MYSQL_8_0_31
(versi default minor untuk MySQL 8.0),MYSQL_8_0_32
, atauMYSQL_8_0_33
. Jika Anda menentukanMYSQL_8_0
, versi minor default akan digunakan. Jika Anda tidak menentukan tanda ini, versi utama default,MYSQL_8_0
, akan digunakan.
Untuk informasi selengkapnya, baca dokumentasi tentang membuat instance menggunakan REST v1 API.
REST v1beta4
Gunakan permintaan POST dengan metode
instances:insert dan tanda databaseVersion
.
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances
Sebelum menggunakan data permintaan apa pun, ganti variabel berikut:
- project_id: ID project.
- instance_id: nama instance
- databaseVersion:
Versi database instance:
MYSQL_8_0_18
,MYSQL_8_0_26
,MYSQL_8_0_27
,MYSQL_8_0_28
,MYSQL_8_0_29
,MYSQL_8_0_30
,MYSQL_8_0_31
(versi minor default untuk MySQL 8.0),MYSQL_8_0_32
, atauMYSQL_8_0_33
. Jika Anda menentukanMYSQL_8_0
, versi minor default akan digunakan. Jika Anda tidak menentukan tanda ini, versi utama default,MYSQL_8_0
, akan digunakan.
Untuk informasi selengkapnya, lihat dokumentasi tentang membuat instance menggunakan REST v1beta4 API.
Versi minor database untuk replika baca, clone, dan PITR
Saat membuat replika baca, Anda dapat menentukan versi minor database dari replika baca. Secara default, replika baca baru dibuat pada versi minor default.
Saat meng-clone instance, instance yang baru dibuat memiliki versi minor yang sama dengan versi sumber.
Saat menjalankan pemulihan point-in-time, instance yang baru dibuat memiliki versi minor database yang sama dengan versi minor sumber.
Konfigurasi instance kustom
Menentukan memori dan inti virtual yang tersedia untuk instance Cloud SQL Anda. Ketersediaan jenis mesin ditentukan oleh edisi Cloud SQL Anda.
Untuk workload yang memerlukan pemrosesan real-time, seperti pemrosesan transaksi online (OLTP), pastikan instance Anda memiliki cukup memori untuk memuat seluruh set pekerjaan. Namun, ada faktor lain yang dapat memengaruhi persyaratan memori, seperti jumlah koneksi aktif, dan proses overhead internal. Anda harus melakukan pengujian beban untuk menghindari masalah performa di lingkungan produksi.
Saat mengonfigurasi instance, pilih memori dan vCPU yang cukup untuk menangani workload Anda, dan upgrade seiring peningkatan beban kerja. Konfigurasi mesin dengan vCPU yang tidak memadai dapat kehilangan cakupan SLA-nya. Untuk informasi selengkapnya, lihat Panduan operasional.
Jenis mesin untuk instance edisi Cloud SQL Enterprise Plus
Untuk instance edisi Cloud SQL Enterprise Plus, jenis mesin telah ditetapkan sebelumnya sebagai berikut:
Jenis mesin Enterprise plus | vCPUs | Memori (GB) | SSD Lokal |
---|---|---|---|
db-perf-optimized-N-2 | 2 | 16 | 375 |
db-perf-optimized-N-4 | 4 | 32 | 375 |
db-perf-optimized-N-8 | 8 | 64 | 375 |
db-perf-optimized-N-16 | 16 | 128 | 750 |
db-perf-optimized-N-32 | 32 | 256 | 1500 |
db-perf-optimized-N-48 | 48 | 384 | 3000 |
db-perf-optimized-N-64 | 64 | 512 | 6000 |
db-perf-optimized-N-80 | 80 | 640 | 6000 |
db-perf-optimized-N-96 | 96 | 768 | 6000 |
db-perf-optimized-N-128 | 128 | 864 | 9.000 |
Jenis mesin untuk instance edisi Cloud SQL Enterprise
Untuk instance edisi Cloud SQL Enterprise, Anda juga dapat
membuat konfigurasi instance kustom menggunakan perintah gcloud sql
instances create
.
Dengan konfigurasi instance kustom, Anda dapat memilih jumlah memori dan CPU
yang diperlukan instance. Fleksibilitas ini memungkinkan Anda memilih
bentuk VM yang sesuai dengan workload Anda.
Nama jenis mesin menggunakan format berikut:
db-custom-#-#
Ganti placeholder # pertama dengan jumlah CPU dalam mesin, dan placeholder # kedua dengan jumlah memori di mesin.
Misalnya, jika nama mesin Anda adalah db-custom
, dan komputer
Anda memiliki 1 CPU dan RAM 3840 MB, format mesin tersebut adalah
db-custom-1-3840
.
Saat memilih jumlah CPU dan jumlah memori, ada beberapa batasan pada konfigurasi yang Anda pilih:
- vCPU harus berupa 1 atau bilangan genap antara 2 dan 96.
- Memori harus:
- 0,9 hingga 6,5 GB per vCPU
- Kelipatan 256 MB
- Setidaknya 3,75 GB (3840 MB)
Tabel berikut berisi daftar nama setiap jenis mesin lama, jumlah CPU dan RAM untuk setiap jenis mesin, serta string yang dihasilkan untuk jenis mesin tersebut.
Anda dapat membuat jenis mesin yang setara dengan menentukan CPU dan
RAM yang setara di Google Cloud Console, dengan menggunakan gcloud CLI, atau dengan
menentukan db-custom-#-#
di API.
Jenis mesin lama | vCPUs | Memori (MB) | string db-custom-CPU-RAM (string tingkat API) |
---|---|---|---|
db-n1-standard-1 | 1 | 3840 | db-custom-1-3840 |
db-n1-standard-2 | 2 | 7680 | db-custom-2-7680 |
db-n1-standard-4 | 4 | 15360 | db-custom-4-15360 |
db-n1-standard-8 | 8 | 30720 | db-custom-8-30720 |
db-n1-standard-16 | 16 | 61440 | db-custom-16-61440 |
db-n1-standard-32 | 32 | 122880 | db-custom-32-122880 |
db-n1-standard-64 | 64 | 245760 | db-custom-64-245760 |
db-n1-standard-96 | 96 | 368640 | db-custom-96-368640 |
db-n1-highmem-2 | 2 | 13312 | db-custom-2-13312 |
db-n1-highmem-4 | 4 | 26624 | db-custom-4-26624 |
db-n1-highmem-8 | 8 | 53248 | db-custom-8-53248 |
db-n1-highmem-16 | 16 | 106496 | db-custom-16-106496 |
db-n1-highmem-32 | 32 | 212992 | db-custom-32-212992 |
db-n1-highmem-64 | 64 | 425984 | db-custom-64-425984 |
db-n1-highmem-96 | 96 | 638976 | db-custom-96-638976 |
Memecahkan masalah
Masalah | Pemecahan masalah |
---|---|
Pesan error: Failed to create subnetwork. Couldn't
find free blocks in allocated IP ranges. Please allocate new ranges for
this service provider . |
Tidak ada lagi alamat yang tersedia dalam rentang IP yang dialokasikan. Ada
beberapa kemungkinan skenario:
Untuk mengatasi masalah ini, Anda dapat memperluas rentang IP yang dialokasikan atau mengalokasikan rentang IP tambahan ke koneksi layanan pribadi. Untuk informasi selengkapnya, lihat Mengalokasikan rentang alamat IP. Jika menggunakan tanda Jika Anda mengalokasikan rentang baru, pastikan alokasinya tidak tumpang tindih dengan alokasi yang ada. Setelah membuat rentang IP baru, perbarui peering vpc dengan perintah berikut: gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID \ --force Jika Anda memperluas alokasi yang sudah ada, pastikan untuk hanya menambah rentang alokasi dan tidak menguranginya. Misalnya, jika alokasi asli adalah 10.0.10.0/24, buat alokasi baru dengan minimal 10.0.10.0/23. Secara umum, jika dimulai dari alokasi /24, mengurangi /mask sebesar 1 untuk setiap kondisi (grup jenis instance tambahan, region tambahan) adalah aturan praktis yang baik. Misalnya, jika mencoba membuat kedua grup jenis instance pada alokasi yang sama, beralih dari /24 ke /23 sudah cukup. Setelah memperluas rentang IP yang ada, perbarui peering vpc dengan perintah berikut: gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID |
Pesan error: Failed to create subnetwork. Router status is
temporarily unavailable. Please try again later. Help Token:
[token-ID] . |
Coba buat instance Cloud SQL lagi. |
Langkah selanjutnya
- Buat database pada instance.
- Buat pengguna MySQL pada instance.
- Amankan dan kontrol akses ke instance.
- Menghubungkan ke instance dengan klien MySQL.
- Impor data ke database.