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.
Topik
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 parameterreplicate-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 parameterreplicate-do-db
ataureplicate-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 parameterreplicate-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 parameterreplicate-do-db
ataureplicate-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 parameterreplicate-do-table
ataureplicate-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
danbinlog_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
, bukanSHOW REPLICA STATUS
. Jika Anda menggunakan MariaDB sebelum versi 10.5, gunakanSHOW SLAVE STATUS
. -