Mengonfigurasi filter replikasi dengan MariaDB - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengonfigurasi filter replikasi dengan MariaDB

Anda dapat menggunakan filter replikasi untuk menentukan basis data dan tabel mana yang direplikasi dengan replika baca. Filter replikasi dapat menyertakan basis data dan tabel dalam replikasi atau mengecualikannya dari replikasi.

Berikut ini adalah beberapa kasus penggunaan untuk filter replikasi:

  • Untuk mengurangi ukuran replika baca. Dengan filter replikasi, Anda dapat mengecualikan basis data dan tabel yang tidak diperlukan pada replika baca.

  • Untuk mengecualikan basis data dan tabel dari replika baca untuk alasan keamanan.

  • Untuk mereplikasi basis data yang berbeda dan tabel untuk kasus penggunaan tertentu di replika baca yang berbeda. Misalnya, Anda mungkin menggunakan replika baca khusus untuk analitik atau penyerpihan.

  • Untuk instance DB yang telah membaca replika secara berbeda Wilayah AWS, untuk mereplikasi database atau tabel yang berbeda dalam berbagai Wilayah AWS.

catatan

Anda juga dapat menggunakan filter replikasi untuk menentukan basis data dan tabel apa yang direplikasi dengan instans DB MariaDB primer yang dikonfigurasi sebagai replika dalam topologi replikasi masuk. Untuk mengetahui informasi selengkapnya tentang konfigurasi ini, lihat Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal.

Mengatur parameter penyaringan replikasi untuk RDS MariaDB

Untuk mengonfigurasi filter replikasi, atur parameter filter replikasi berikut pada replika baca:

  • replicate-do-db – Mereplikasi perubahan ke basis data yang ditentukan. Ketika Anda menetapkan parameter ini untuk replika baca, hanya basis data yang ditentukan dalam parameter yang direplikasi.

  • replicate-ignore-db – Jangan mereplikasi perubahan ke basis data yang ditentukan. Ketika parameter replicate-do-db diatur untuk replika baca, parameter ini tidak dievaluasi.

  • replicate-do-table – Mereplikasi perubahan ke tabel yang ditentukan. Ketika Anda menetapkan parameter ini untuk replika baca, hanya tabel yang ditentukan dalam parameter yang direplikasi. Juga, ketika parameter replicate-do-db atau replicate-ignore-db diatur, basis data yang mencakup tabel tertentu harus disertakan dalam replikasi dengan replika baca.

  • replicate-ignore-table — Jangan mereplikasi perubahan ke tabel yang ditentukan. Ketika parameter replicate-do-table diatur untuk replika baca, parameter ini tidak dievaluasi.

  • replicate-wild-do-table – Mereplikasi tabel berdasarkan basis data dan pola nama tabel yang ditentukan. Karakter wildcard % dan _ didukung. Ketika parameter replicate-do-db atau replicate-ignore-db diatur, pastikan untuk menyertakan basis data yang mencakup tabel tertentu dalam replikasi dengan replika baca.

  • replicate-wild-ignore-table – Jangan mereplikasi tabel berdasarkan basis data dan pola nama tabel yang ditentukan. Karakter wildcard % dan _ didukung. Ketika parameter replicate-do-table atau replicate-wild-do-table diatur untuk replika baca, parameter ini tidak dievaluasi.

Parameter dievaluasi sesuai dengan urutannya dalam daftar. Untuk mengetahui informasi selengkapnya tentang cara kerja parameter ini, lihat Dokumentasi MariaDB.

Secara default, masing-masing parameter ini memiliki nilai kosong. Pada setiap replika baca, Anda dapat menggunakan parameter ini untuk mengatur, mengubah, dan menghapus filter replikasi. Ketika Anda menetapkan salah satu parameter ini, pisahkan masing-masing filter dari yang lain dengan koma.

Anda dapat menggunakan karakter wildcard % dan _ dalam parameter replicate-wild-do-table dan replicate-wild-ignore-table. Parameter wildcard % mencocokkan jumlah karakter berapa pun, dan wildcard _ hanya mencocokkan satu karakter.

Format pencatatan log biner instans DB sumber penting untuk replikasi karena menentukan catatan perubahan data. Pengaturan parameter binlog_format menentukan apakah replikasi berbasis baris atau berbasis pernyataan. Untuk informasi selengkapnya, lihat Mengkonfigurasi pencatatan biner MariaDB.

catatan

Semua pernyataan bahasa definisi data (DDL) direplikasi sebagai pernyataan, terlepas dari binlog_format pengaturan pada instance DB sumber.

Batasan penyaringan replikasi untuk RDS MariaDB

Batasan berikut berlaku untuk penyaringan replikasi untuk RDS MariaDB:

  • Setiap parameter filter replikasi memiliki batas 2.000 karakter.

  • Koma tidak didukung dalam filter replikasi.

  • Opsi MariaDB binlog_do_db dan binlog_ignore_db untuk filter log biner tidak didukung.

  • Filter replikasi tidak mendukung transaksi XA.

    Untuk informasi selengkapnya, lihat Pembatasan Transaksi XA di SQL dokumentasi Saya.

  • Pemfilteran replikasi tidak didukung untuk RDS MariaDB versi 10.2.

Contoh penyaringan replikasi untuk RDS MariaDB

Untuk mengonfigurasi filter replikasi untuk replika baca, modifikasi parameter filter replikasi dalam grup parameter yang terkait dengan replika baca tersebut.

catatan

Anda tidak dapat mengubah grup parameter default. Jika replika baca menggunakan grup parameter default, buat grup parameter baru dan kaitkan dengan replika baca tersebut. Untuk mengetahui informasi selengkapnya tentang grup parameter DB, lihat Grup parameter untuk RDS.

Anda dapat mengatur parameter dalam grup parameter menggunakan AWS Management Console, AWS CLI, atau RDSAPI. Untuk mengetahui informasi tentang mengatur parameter, lihat Memodifikasi parameter dalam grup parameter DB di Amazon RDS Aurora. Ketika Anda mengatur parameter dalam grup parameter, semua instans DB yang terkait dengan grup parameter tersebut menggunakan pengaturan parameter. Jika Anda mengatur parameter filter replikasi dalam grup parameter, pastikan bahwa grup parameter dikaitkan hanya dengan replika baca. Biarkan parameter filter replikasi kosong untuk instans DB sumber.

Contoh berikut mengatur parameter menggunakan AWS CLI. Contoh-contoh ini diatur ApplyMethod immediate agar perubahan parameter terjadi segera setelah CLI perintah selesai. Jika Anda ingin menerapkan perubahan tertunda setelah replika baca di-boot ulang, atur ApplyMethod ke pending-reboot.

Contoh berikut mengatur filter replikasi:

contoh Menyertakan basis data dalam replikasi

Contoh berikut menyertakan basis data mydb1 dan mydb2 dalam replikasi. Ketika Anda mengatur replicate-do-db untuk replika baca, hanya basis data yang ditentukan dalam parameter yang direplikasi.

Untuk Linux, macOS, atau Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myparametergroup \ --parameters "[{"ParameterName": "replicate-do-db", "ParameterValue": "mydb1,mydb2", "ApplyMethod":"immediate"}]"

Untuk Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myparametergroup ^ --parameters "[{"ParameterName": "replicate-do-db", "ParameterValue": "mydb1,mydb2", "ApplyMethod":"immediate"}]"
contoh Menyertakan tabel dalam replikasi

Contoh berikut menyertakan tabel table1 dan table2 dalam mydb1 basis data dalam replikasi.

Untuk Linux, macOS, atau Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myparametergroup \ --parameters "[{"ParameterName": "replicate-do-table", "ParameterValue": "mydb1.table1,mydb1.table2", "ApplyMethod":"immediate"}]"

Untuk Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myparametergroup ^ --parameters "[{"ParameterName": "replicate-do-table", "ParameterValue": "mydb1.table1,mydb1.table2", "ApplyMethod":"immediate"}]"
contoh Menyertakan tabel dalam replikasi menggunakan karakter wildcard

Contoh berikut menyertakan tabel dengan nama berawalan orders dan returns dalam basis data mydb dalam replikasi.

Untuk Linux, macOS, atau Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myparametergroup \ --parameters "[{"ParameterName": "replicate-wild-do-table", "ParameterValue": "mydb.orders%,mydb.returns%", "ApplyMethod":"immediate"}]"

Untuk Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myparametergroup ^ --parameters "[{"ParameterName": "replicate-wild-do-table", "ParameterValue": "mydb.orders%,mydb.returns%", "ApplyMethod":"immediate"}]"
contoh Mengeluarkan karakter wildcard dalam nama

Contoh berikut menunjukkan kepada Anda cara menggunakan karakter escape \ untuk mengeluarkan karakter wildcard yang merupakan bagian dari nama.

Asumsikan bahwa Anda memiliki beberapa nama tabel dalam basis data mydb1 yang dimulai dengan my_table, dan Anda ingin menyertakan tabel ini dalam replikasi. Nama tabel meliputi garis bawah, yang juga merupakan karakter wildcard, sehingga contoh ini melepaskan garis bawah dalam nama tabel.

Untuk Linux, macOS, atau Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myparametergroup \ --parameters "[{"ParameterName": "replicate-wild-do-table", "ParameterValue": "my\_table%", "ApplyMethod":"immediate"}]"

Untuk Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myparametergroup ^ --parameters "[{"ParameterName": "replicate-wild-do-table", "ParameterValue": "my\_table%", "ApplyMethod":"immediate"}]"
contoh Mengecualikan basis data dari replikasi

Contoh berikut mengecualikan basis data mydb1 dan mydb2 dari replikasi.

Untuk Linux, macOS, atau Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myparametergroup \ --parameters "[{"ParameterName": "replicate-ignore-db", "ParameterValue": "mydb1,mydb2", "ApplyMethod":"immediate"}]"

Untuk Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myparametergroup ^ --parameters "[{"ParameterName": "replicate-ignore-db", "ParameterValue": "mydb1,mydb2", "ApplyMethod":"immediate"}]"
contoh Mengecualikan tabel dari replikasi

Contoh berikut mengecualikan tabel table1 dan table2 dalam basis data mydb1 dari replikasi.

Untuk Linux, macOS, atau Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myparametergroup \ --parameters "[{"ParameterName": "replicate-ignore-table", "ParameterValue": "mydb1.table1,mydb1.table2", "ApplyMethod":"immediate"}]"

Untuk Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myparametergroup ^ --parameters "[{"ParameterName": "replicate-ignore-table", "ParameterValue": "mydb1.table1,mydb1.table2", "ApplyMethod":"immediate"}]"
contoh Mengecualikan tabel dari replikasi menggunakan karakter wildcard

Contoh berikut mengecualikan tabel dengan nama berawalan orders dan returns dalam basis data mydb dari replikasi.

Untuk Linux, macOS, atau Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myparametergroup \ --parameters "[{"ParameterName": "replicate-wild-ignore-table", "ParameterValue": "mydb.orders%,mydb.returns%", "ApplyMethod":"immediate"}]"

Untuk Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myparametergroup ^ --parameters "[{"ParameterName": "replicate-wild-ignore-table", "ParameterValue": "mydb.orders%,mydb.returns%", "ApplyMethod":"immediate"}]"

Melihat filter replikasi untuk replika baca

Anda dapat melihat filter replikasi untuk replika baca dengan cara berikut:

  • Memeriksa pengaturan parameter filter replikasi dalam grup parameter yang terkait dengan replika baca.

    Untuk mengetahui petunjuknya, lihat Melihat nilai parameter untuk grup parameter DB di Amazon RDS Amazon.

  • Dalam klien MariaDB, hubungkan ke replika baca dan jalankan pernyataan SHOW REPLICA STATUS.

    Dalam output, bidang berikut menunjukkan filter replikasi untuk replika baca:

    • Replicate_Do_DB

    • Replicate_Ignore_DB

    • Replicate_Do_Table

    • Replicate_Ignore_Table

    • Replicate_Wild_Do_Table

    • Replicate_Wild_Ignore_Table

    Untuk informasi selengkapnya tentang bidang ini, lihat Memeriksa Status Replikasi di SQL Dokumentasi saya.

    catatan

    Versi sebelumnya dari MariaDB menggunakan SHOW SLAVE STATUS, bukan SHOW REPLICA STATUS. Jika Anda menggunakan MariaDB sebelum versi 10.5, gunakan SHOW SLAVE STATUS.