Mengelola replika baca

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.

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

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Pilih instance replika dengan mengklik namanya.
  3. Klik Nonaktifkan replikasi di panel tombol.
  4. Klik Oke.

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

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

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Pilih instance replika dengan mengklik namanya.
  3. Klik Aktifkan Replikasi.
  4. 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 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 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 menerima respons JSON yang mirip dengan yang berikut ini:

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:

  1. Menghentikan semua penulisan ke instance utama.
  2. Periksa status replikasi replika (ikuti petunjuk di tab mysql Client).
  3. Pastikan bahwa replika sedang mereplikasi, lalu tunggu hingga jeda replikasi yang dilaporkan oleh metrikSeconds_Behind_Master adalah 0.

Jika tidak, instance yang baru dipromosikan mungkin tidak memiliki beberapa transaksi yang di-commit ke instance utama.

Guna mempromosikan replika ke instance mandiri:

Konsol

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Pilih instance replika dengan mengklik namanya.
  3. Klik Promosikan replika.
  4. 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, buat pengganti 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, buat pengganti 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.

Mengonfigurasi replikasi paralel

Mengurangi kelambatan replikasi penting untuk mengelola kinerja replikasi. Keterlambatan replikasi terjadi ketika pembaruan pada replika baca tertinggal dari pembaruan pada instance utama. Bagian ini menjelaskan cara pengguna mengaktifkan replikasi paralel, yang dapat mengurangi kelambatan replikasi.

Dalam replikasi MySQL, thread SQL replikasi digunakan untuk menyetujui transaksi yang dikumpulkan dalam log relai pada replika baca. Replikasi paralel mengurangi kelambatan replikasi dengan meningkatkan jumlah thread SQL yang bekerja untuk menyetujui transaksi ini. Replika baca dengan replikasi paralel yang diaktifkan terkadang disebut replika multi-thread.

Replikasi paralel tersedia dalam tiga skenario berikut di Cloud SQL untuk MySQL:

Untuk mempermudah, halaman ini menggunakan istilah "instance utama" dan "replika baca".

Langkah-langkah dasar untuk mengubah flag replikasi paralel

Langkah-langkah untuk mengaktifkan replikasi paralel adalah sebagai berikut:

  1. Pada replika baca, nonaktifkan replikasi.
  2. Pada replika baca, tetapkan flag untuk replikasi paralel. Gunakan perintah gcloud untuk menetapkan flag. Opsi Google Cloud Console dinonaktifkan saat replikasi dinonaktifkan.
  3. Pada replika baca, aktifkan replikasi.
  4. Secara opsional, pada contoh utama, tetapkan tanda untuk mengoptimalkan performa untuk replikasi paralel.

Replika baca: Tanda untuk replikasi paralel

Cloud SQL untuk MySQL mendukung beberapa flag untuk replikasi paralel pada replika baca. Untuk mengetahui informasi tentang flag, klik link berikut ke dokumentasi MySQL 8.0:

Mengubah flag ini tidak akan memulai ulang replika baca.

Tabel berikut berisi rentang yang diizinkan dan nilai default untuk tanda ini:

Tanda replika baca Nilai yang diizinkan Nilai default MySQL 5.7 Nilai default MySQL 8.0 dan yang lebih baru
replica_parallel_workers 0-1024 0 0 (MySQL 8.0.26 dan yang lebih lama)
4 (MySQL 8.0.27 dan yang lebih baru)
replica_parallel_type DATABASE, LOGICAL_CLOCK DATABASE DATABASE (MySQL 8.0.26 dan yang lebih lama)
LOGICAL_CLOCK (MySQL 8.0.27 dan yang lebih baru)
replica_preserve_commit_order ON, OFF OFF OFF (MySQL 8.0.26 dan yang lebih lama)
ON (MySQL 8.0.27 dan yang lebih baru)
replica_pending_jobs_size_max 1024-1GB 16MB 128 MB

Flag replica_preserve_commit_order mencegah kesenjangan dalam urutan transaksi yang dijalankan dari log relai replika.

Setelan replica_preserve_commit_order=1 memerlukan hal berikut:

Flag replica_pending_jobs_size_max menetapkan memori maksimum, dalam byte, yang tersedia untuk antrean applier yang menyimpan peristiwa yang belum diterapkan.

Instance utama: Tanda untuk replikasi paralel

Cloud SQL untuk MySQL mendukung beberapa flag untuk digunakan pada instance utama. Anda dapat menggunakan flag ini untuk menyesuaikan performa replikasi untuk replika baca terkait dengan replikasi paralel yang diaktifkan. Untuk mengetahui informasi tentang flag, klik link berikut ke dokumentasi MySQL 8.0:

Mengubah flag ini tidak akan memulai ulang instance utama.

Tabel berikut berisi rentang yang diizinkan dan nilai default untuk flag ini:

Tanda instance utama Nilai yang diizinkan Nilai default MySQL 5.7 Nilai default MySQL 8.0 Nilai default MySQL 8.4
binlog_transaction_dependency_history_size 1-1000000 25000 25000 25000
binlog_transaction_dependency_tracking COMMIT_ORDER, WRITESET, WRITESET_SESSION COMMIT_ORDER WRITESET t/a (tidak digunakan lagi di MySQL 8.4)
transaction_write_set_extraction OFF, MURMUR32, XXHASH64 OFF XXHASH64 t/a (tidak digunakan lagi di MySQL 8.4)

Di MySQL 5.7, jika binlog_transaction_dependency_tracking ditetapkan ke WRITESET atau WRITESET_SESSION, transaction_write_set_extraction harus ditetapkan ke nilai non-OFF (XXHASH64 atau MURMUR32).

Memeriksa status replikasi

Saat melihat instance replika menggunakan Google Cloud Console atau login ke instance menggunakan klien administrasi, Anda akan mendapatkan detail tentang replikasi, termasuk status dan metrik. Saat menggunakan gcloud CLI, Anda akan mendapatkan ringkasan singkat tentang konfigurasi replikasi.

Sebelum memeriksa status replikasi untuk instance replika Cloud SQL, gunakan perintah
gcloud sql instances describe untuk menampilkan status instance. Akibatnya, Anda dapat melihat apakah replikasi diaktifkan untuk instance replika atau tidak.

Metrik berikut tersedia untuk instance replika. (Pelajari lebih lanjut metrik tambahan yang tersedia untuk semua instance, termasuk instance non-replika.)

MetrikDeskripsi
Status Replikasi
(cloudsql.googleapis.com/database/replication/state)

Menunjukkan apakah replikasi secara aktif melakukan streaming log dari log utama ke replika. Nilainya dapat berupa:

  • Running
  • Stopped
  • Error

Metrik ini menunjukkan Running apakah thread I/O dan SQL replika melaporkan bahwa keduanya sedang berjalan. Lihat metrik Status thread I/O Slave dan Status thread SQL Slave yang berjalan di bawah untuk mengetahui informasi selengkapnya, atau baca bagian Pemeriksaan Status Replikasi di Panduan Referensi MySQL.

Jeda Replikasi
(cloudsql.googleapis.com/database/replication/replica_lag)

Durasi saat status replika mengalami keterlambatan dibandingkan status instance utama. Ini adalah perbedaan antara (1) waktu saat ini dan (2) stempel waktu asli saat transaksi utama di-commit yang sedang diterapkan pada replika. Secara khusus, penulisan mungkin dianggap sebagai keterlambatan meskipun telah diterima oleh replika, jika replika belum menerapkan penulisan ke database.

Untuk replika beruntun, setiap pasangan replika utama dipantau secara terpisah dan tidak ada metrik tunggal yang menghasilkan keterlambatan (utama ke replika) secara menyeluruh.

Metrik ini melaporkan nilai Seconds_Behind_Master saat SHOW REPLICA STATUS dijalankan di replika. Untuk mengetahui informasi selengkapnya, lihat Memeriksa Status Replikasi di Manual Referensi MySQL.

Kelambatan Jaringan
(cloudsql.googleapis.com/database/replication/network_lag)

Jumlah waktu, dalam detik yang diperlukan dari penulisan binlog di database utama untuk mencapai thread IO di replika.

Jika network_lag bernilai nol, atau dapat diabaikan, tetapi `replica_lag` tinggi, ini menunjukkan bahwa thread SQL tidak dapat menerapkan perubahan replikasi dengan cukup cepat.

Status thread I/O slave berjalan
(cloudsql.googleapis.com/database/mysql/replication/slave_io_running_state)

Menunjukkan apakah thread I/O untuk membaca log biner instance utama sedang berjalan pada replika atau tidak. Nilainya dapat berupa:

  • Yes
  • No
  • Connecting

Metrik ini melaporkan nilai Slave_IO_Running saat SHOW REPLICA STATUS dijalankan di replika. Untuk mengetahui informasi selengkapnya, lihat Memeriksa Status Replikasi di Manual Referensi MySQL.

Status eksekusi thread SQL slave
(cloudsql.googleapis.com/database/mysql/replication/slave_sql_running_state)

Menunjukkan apakah thread SQL untuk menjalankan peristiwa di log relai sedang berjalan pada replika atau tidak. Nilainya dapat berupa:

  • Yes
  • No
  • Connecting

Metrik ini melaporkan nilai Slave_SQL_Running saat SHOW REPLICA STATUS dijalankan di replika. Untuk mengetahui informasi selengkapnya, lihat Memeriksa Status Replikasi di Manual Referensi MySQL.

Untuk memeriksa status replikasi:

Konsol

Cloud SQL melaporkan metrik Replication State dan Replication Lag di dasbor pemantauan Cloud SQL default.

Untuk melihat metrik lain untuk replika dalam region dan lintas region, serta replika server eksternal, buat dasbor kustom dan tambahkan metrik yang ingin Anda pantau ke dasbor tersebut:

  1. Di konsol Google Cloud, buka halaman Monitoring.

    Buka Monitoring

  2. Pilih tab Dasbor.
  3. Klik Buat Dasbor.
  4. Beri nama dasbor lalu klik OK.
  5. Klik Tambahkan Diagram.
  6. Untuk Resource Type, pilih Cloud SQL Database.
  7. Lakukan salah satu tindakan berikut:
    1. Guna memantau kondisi replikasi metrik: di kolom Pilih metrik, ketik Replication state. Lalu, tambahkan filter untuk state = "Running". Diagram menunjukkan 1 jika replikasi berjalan dan 0 jika tidak.
    2. Guna memantau kondisi replikasi metrik: di kolom Pilih metrik, ketik replica_lag. Diagram menunjukkan durasi waktu ketika status replika tertinggal dari status utama.
    3. Untuk memantau status thread I/O replika: di kolom Select a metric, ketik Slave I/O thread running state. Lalu tambahkan filter di state = "Yes". Diagram menunjukkan 1 jika thread berjalan dan 0 jika tidak.
    4. Untuk memantau status thread SQL replika: di kolom Select a metric, ketik Slave SQL thread running state. Lalu tambahkan filter di state = "Yes". Diagram menunjukkan 1 jika thread berjalan dan 0 jika tidak.

gcloud

Untuk instance replika, periksa status replikasi dengan:

gcloud sql instances describe REPLICA_NAME

Pada output, cari properti databaseReplicationEnabled dan masterInstanceName.

Untuk instance utama, periksa apakah ada replika dengan:

gcloud sql instances describe PRIMARY_INSTANCE_NAME

Di output, cari properti replicaNames.

Klien mysql

  1. Menghubungkan ke replika dengan klien MySQL.

    Untuk mengetahui informasinya, lihat Opsi koneksi untuk aplikasi eksternal.

  2. Periksa status replika:
    SHOW REPLICA STATUS \G

    Cari metrik berikut dalam output perintah:

    • Master_Host: Nama instance utama
    • Slave_IO_Running, Slave_SQL_Running: Apakah thread I/O dan SQL berjalan. Thread ini bertanggung jawab mentransfer peristiwa dari log utama ke log relai replika dan menjalankan peristiwa tersebut dari log relai. Nilai metrik adalah Yes jika thread berjalan. Kedua thread harus berjalan agar replikasi aktif.
    • Seconds_Behind_Master: Jumlah waktu, dalam hitungan detik, ketika replika mengalami keterlambatan dalam memproses transaksi utama, yaitu perbedaan antara (1) waktu saat ini dan (2) stempel waktu aslinya di tempat utama melakukan transaksi yang saat ini sedang diterapkan pada replika. Nilainya adalah NULL jika replikasi rusak.
    • Master_Log_filedanRead_Master_Log_Pos .Relay_Master_Log_File danExec_Master_Log_Pos : Metrik ini menunjukkan koordinat (nama file dan offset) di mana thread I/O telah membaca peristiwa hingga (Master_Log_file dan Read_Master_Log_Pos ) dan thread SQL telah mengeksekusi peristiwa hingga (Relay_Master_Log_File dan Exec_Master_Log_Pos ). Jika sama (misalnya Master_Log_file sama dengan Relay_Master_Log_File dan Read_Master_Log_Pos sama dengan Exec_Master_Log_Pos ) berarti replika telah memproses semua peristiwa yang diterima dari peristiwa utama.

Untuk detail selengkapnya tentang output dari perintah ini, lihat dokumentasi MySQL tentang Memeriksa Status Replikasi.

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 max_connections lebih besar dari atau sama dengan nilai pada tanda utama.

Jika flag max_connections sudah ditetapkan dengan tepat, periksa log di Cloud Logging untuk menemukan error yang sebenarnya.

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: set Service Networking service account as servicenetworking.serviceAgent role on consumer project, makan nonaktifkan dan aktifkan kembali Service Networking API. Tindakan ini akan membuat akun layanan yang diperlukan untuk melanjutkan prosesnya.

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 automatic storage increase.

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:
  • Kueri lambat pada replika. Temukan dan perbaiki.
  • Semua tabel harus memiliki kunci utama/unik. Setiap update pada tabel tersebut tanpa kunci utama/unik akan menyebabkan pemindaian tabel penuh pada replika tersebut.
  • Kueri seperti DELETE ... WHERE field < 50000000 menyebabkan kelambatan replikasi dengan replikasi berbasis baris karena sejumlah besar update tertumpuk di replika.

Beberapa kemungkinan solusinya mencakup:

Kelambatan replikasi tiba-tiba melonjak. Hal ini disebabkan oleh transaksi yang berjalan lama. Saat sebuah transaksi (satu pernyataan atau beberapa pernyataan) di-commit pada instance sumber, waktu mulai transaksi dicatat dalam log biner. Saat replika menerima peristiwa binlog ini, replika akan membandingkan stempel waktu tersebut dengan stempel waktu saat ini untuk menghitung kelambatan replikasi. Oleh karena itu, transaksi yang berjalan lama pada sumber akan langsung mengakibatkan kelambatan replikasi yang besar pada replika. Jika jumlah perubahan baris dalam transaksi besar, replika juga akan menghabiskan waktu lama untuk menjalankannya. Selama waktu tersebut, kelambatan replikasi meningkat. Setelah replika menyelesaikan transaksi ini, periode untuk mengejar ketertinggalan akan bergantung pada beban kerja tulis pada sumber dan kecepatan pemrosesan replika.

Untuk menghindari transaksi yang panjang, beberapa solusi yang memungkinkan mencakup:

  • Memecah transaksi menjadi beberapa transaksi kecil
  • Memotong satu kueri tulis besar menjadi beberapa batch yang lebih kecil
  • Cobalah untuk memisahkan kueri SELECT yang panjang dari transaksi yang dicampur dengan DML
Mengubah tanda replikasi paralel akan menghasilkan error. Nilai yang salah ditetapkan untuk salah satu atau beberapa tanda ini.

Pada instance utama yang menampilkan pesan error, tetapkan tanda replikasi paralel:

  1. Ubah tanda binlog_transaction_dependency_tracking dan transaction_write_set_extraction:
    • binlog_transaction_dependency_tracking=COMMIT_ORDER
    • transaction_write_set_extraction=OFF
  2. Tambahkan tanda slave_pending_jobs_size_max:

    slave_pending_jobs_size_max=33554432

  3. Ubah tanda transaction_write_set_extraction:

    transaction_write_set_extraction=XXHASH64

  4. Ubah tanda binlog_transaction_dependency_tracking:

    binlog_transaction_dependency_tracking=WRITESET

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 berikutnya