Halaman ini menjelaskan cara mengelola replika baca. Operasi ini termasuk menonaktifkan dan mengaktifkan replikasi, mempromosikan replika, mengonfigurasi replika paralel, dan memeriksa status replikasi.
Untuk mengetahui informasi selengkapnya tentang cara kerja replikasi, baca Replikasi di Cloud SQL.
Halaman ini berlaku untuk replika instance Cloud SQL. Untuk menyiapkan instance Cloud SQL agar bertindak sebagai penayang bagi pelanggan eksternal, baca Mengonfigurasi replika eksternal.
Nonaktifkan replikasi
Secara default, replika dimulai dengan mengaktifkan replikasi. Namun, Anda dapat menonaktifkan replikasi, misalnya, untuk men-debug atau menganalisis status sebuah instance. Jika sudah siap, Anda dapat mengaktifkan kembali replikasi secara eksplisit. Menonaktifkan atau mengaktifkan kembali replikasi tidak akan memulai ulang instance replika.
Menonaktifkan replikasi tidak menghentikan instance replika; instance menjadi hanya-baca yang tidak lagi direplikasi dari instance utamanya. Anda akan tetap ditagih untuk instance tersebut. Pada replika yang dinonaktifkan, Anda dapat mengaktifkan kembali replikasi, menghapus replika, atau mempromosikan replika ke instance mandiri.
Untuk menonaktifkan replikasi:
Konsol
-
Di konsol Google Cloud, buka halaman Instance Cloud SQL.
- Pilih instance replika dengan mengklik namanya.
- Klik Nonaktifkan replikasi di panel tombol.
- Klik OK.
gcloud
gcloud sql instances patch REPLICA_NAME \ --no-enable-database-replication
REST v1
Untuk menjalankan perintah cURL ini pada command line prompt, Anda perlu memperoleh token akses menggunakan perintah gcloud auth print-access-token. Anda juga dapat menggunakan APIs Explorer pada halaman Instance:patch untuk mengirim permintaan REST API.
Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:
- project-id: ID Project
- replica-name: Nama instance replika
Metode HTTP dan URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/replica-name
Meminta isi JSON:
{ "settings": { "databaseReplicationEnabled": "False" } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
REST v1beta4
Untuk menjalankan perintah cURL ini pada command line prompt, Anda perlu memperoleh token akses menggunakan perintah gcloud auth print-access-token. Anda juga dapat menggunakan APIs Explorer pada halaman Instance:patch untuk mengirim permintaan REST API.
Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:
- project-id: ID Project
- replica-name: Nama instance replika
Metode HTTP dan URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/replica-name
Meminta isi JSON:
{ "settings": { "databaseReplicationEnabled": "False" } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
Aktifkan replikasi
Jika replika tidak melakukan replikasi untuk waktu yang lama, akan membutuhkan waktu lebih lama untuk mengejar ketertinggalan dari instance utama. Dalam hal ini, hapus replika dan buat yang baru.
Untuk mengaktifkan replikasi:
Konsol
-
Di konsol Google Cloud, buka halaman Instance Cloud SQL.
- Pilih instance replika dengan mengklik namanya.
- Klik Aktifkan Replikasi.
- Klik Oke.
gcloud
gcloud sql instances patch REPLICA_NAME \ --enable-database-replication
REST v1
Untuk menjalankan perintah cURL ini pada command line prompt, Anda perlu memperoleh token akses menggunakan perintah gcloud auth print-access-token. Anda juga dapat menggunakan APIs Explorer pada halaman Instance:patch untuk mengirim permintaan REST API.
Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:
- project-id: ID Project
- replica-name: Nama instance replika
Metode HTTP dan URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/replica-name
Meminta isi JSON:
{ "settings": { "databaseReplicationEnabled": "True" } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
REST v1beta4
Untuk menjalankan perintah cURL ini pada command line prompt, Anda perlu memperoleh token akses menggunakan perintah gcloud auth print-access-token. Anda juga dapat menggunakan APIs Explorer pada halaman Instance:patch untuk mengirim permintaan REST API.
Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:
- project-id: ID Project
- replica-name: Nama instance replika
Metode HTTP dan URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/replica-name
Meminta isi JSON:
{ "settings": { "databaseReplicationEnabled": "True" } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
Mempromosikan replika
Mempromosikan replika baca akan menghentikan replikasi dan mengonversi instance menjadi instance utama Cloud SQL mandiri dengan kemampuan baca dan tulis.
Saat dipromosikan, replika baca otomatis dikonfigurasi dengan cadangan, tetapi tidak dikonfigurasi secara otomatis sebagai instance ketersediaan tinggi (HA). Anda dapat mengaktifkan ketersediaan tinggi setelah mempromosikan replika seperti yang Anda lakukan untuk instance non-replika apa pun. Mengonfigurasi replika baca untuk ketersediaan tinggi dilakukan dengan cara yang sama seperti untuk instance utama. Pelajari lebih lanjut cara mengonfigurasi instance untuk ketersediaan tinggi.
Sebelum mempromosikan replika baca, jika replika baca masih tersedia dan menayangkan klien, Anda harus melakukan hal berikut:
- Menghentikan semua penulisan ke instance utama.
- Periksa status replikasi dari replika. Salah satu opsi untuk melakukannya adalah dasbor Always On Availability Group di SQL Server Management Studio (SSMS).
- Pastikan bahwa replika sedang mereplikasi, lalu periksa
jeda replikasi, misalnya seperti yang dilaporkan oleh
seconds_behind_master
metrik.
Jika tidak, instance yang baru dipromosikan mungkin tidak memiliki beberapa transaksi yang di-commit ke instance utama.
Guna mempromosikan replika ke instance mandiri:
Konsol
-
Di konsol Google Cloud, buka halaman Instance Cloud SQL.
- Pilih instance replika dengan mengklik namanya.
- Klik Promosikan replika.
- Klik Oke.
gcloud
gcloud sql instances promote-replica REPLICA_NAME
REST v1
Untuk menjalankan perintah cURL ini pada command line prompt, Anda perlu memperoleh token akses menggunakan perintah gcloud auth print-access-token. Anda juga dapat menggunakan APIs Explorer di halaman Instances:promoteReplica untuk mengirim permintaan REST API.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID Project
- replica-name: Nama instance replika
Metode HTTP dan URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/replica-name/promoteReplica
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
REST v1beta4
Untuk menjalankan perintah cURL ini pada command line prompt, Anda perlu memperoleh token akses menggunakan perintah gcloud auth print-access-token. Anda juga dapat menggunakan APIs Explorer di halaman Instances:promoteReplica untuk mengirim permintaan REST API.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID Project
- replica-name: Nama instance replika
Metode HTTP dan URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/replica-name/promoteReplica
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Pastikan instance yang dipromosikan sudah dikonfigurasi dengan benar. Secara khusus, pertimbangkan untuk mengonfigurasi instance untuk ketersediaan tinggi jika diperlukan.
Memeriksa status replikasi
Saat ini, Anda harus menggunakan kueri T-SQL atau SSMS untuk memantau status replikasi. Untuk informasi selengkapnya, lihat referensi berikut:Memecahkan masalah
Masalah | Pemecahan masalah |
---|---|
Replika baca tidak mulai direplikasi pada saat pembuatan. | Mungkin ada error yang lebih spesifik di file log. Periksa log di Cloud Logging untuk menemukan error yang sebenarnya. |
Tidak dapat membuat replika baca - error invalidFlagValue. | Salah satu tanda dalam permintaan tidak valid. Ini bisa berupa tanda yang Anda
berikan secara eksplisit atau tanda yang ditetapkan ke nilai default.
Pertama, pastikan nilai tanda Jika flag |
Tidak dapat membuat replika baca - error tidak diketahui. | Mungkin ada error yang lebih spesifik di file log.
Periksa log di
Cloud Logging untuk menemukan error yang sebenarnya.
Jika error-nya adalah: |
Disk penuh. | Ukuran disk instance utama dapat penuh selama pembuatan replika. Edit instance utama untuk mengupgradenya ke ukuran disk yang lebih besar. |
Instance replika menggunakan terlalu banyak memori. | Replika menggunakan memori sementara untuk meng-cache operasi baca yang
sering diminta, yang dapat menyebabkannya menggunakan lebih banyak memori daripada instance utama.
Mulai ulang instance replika untuk mengklaim kembali ruang memori sementara. |
Replikasi dihentikan. | Batas penyimpanan maksimum tercapai dan peningkatan penyimpanan otomatis
tidak diaktifkan.
Edit instance untuk mengaktifkan |
Jeda replikasi selalu tinggi. | Beban tulis terlalu tinggi untuk ditangani replika. Kelambatan replikasi
terjadi saat thread SQL pada replika tidak dapat mengikuti
thread IO. Beberapa jenis kueri atau beban kerja dapat menyebabkan kelambatan replikasi tinggi yang bersifat sementara atau
permanen untuk skema tertentu. Beberapa penyebab
umum kelambatan replikasi adalah:
Beberapa kemungkinan solusinya mencakup:
|
Pembuatan replika gagal dengan waktu tunggu. | Transaksi tanpa komitmen yang berjalan lama pada instance utama dapat menyebabkan
pembuatan replika baca gagal.
Buat ulang replika setelah menghentikan semua kueri yang berjalan. |
Langkah selanjutnya
- Pelajari cara membuat replika baca.
- Pelajari persyaratan dan praktik terbaik untuk replikasi lebih lanjut.