Dengan melakukan replikasi MySQL, kita dapat menyalin isi database dari satu server MySQL ke satu atau beberapa server MySQL lainnya Tujuan replikasi MySQL antara lain
Prinsip proses replikasi MySQL adalah
Proses replikasi MySQL antara database master dan slave dapat dilakukan dengan jarak yang jauh, sehingga dapat menjadi sarana online realtime remote backup. Untuk pengaturan replikasi MySQL, silahkan baca artikel http. // www. proweb. bersama. id/artikel/dukungan/pengaturan_mysql_replikasi. html Untuk mempelajari lebih lanjut tentang replikasi MySQL, silakan kunjungi http. //dev. mysql. com/doc/refman/5. 0/id/replikasi. html Terjemahan disediakan oleh mesin penerjemah. Jika konten yang diterjemahkan bertentangan dengan versi bahasa Inggris asli, versi bahasa Inggris yang akan berlaku Di bagian ini, Anda dapat menemukan informasi khusus tentang penggunaan replika baca di Amazon RDS for MariaDB. Untuk informasi umum tentang replika baca dan petunjuk penggunaannya, lihat Bekerja dengan replika baca Sebelum instans DB MariaDB dapat berfungsi sebagai sumber replikasi, pastikan untuk mengaktifkan pencadangan otomatis pada instans DB sumber dengan menyetel periode penyimpanan cadangan ke nilai selain 0. Persyaratan ini juga berlaku untuk replika baca yang merupakan instans DB sumber untuk replika baca lainnya Anda dapat membuat hingga 15 replika baca dari satu instans DB di Wilayah yang sama. Agar replikasi dapat beroperasi secara efektif, setiap replika baca harus memiliki jumlah sumber daya komputasi dan penyimpanan yang sama dengan instans DB sumber. Jika Anda menskalakan instans DB sumber, gunakan juga replika baca RDS untuk MariaDB mendukung replika baca. Untuk mempelajari cara mengonfigurasi replika baca bertingkat, lihat Anda dapat menjalankan beberapa tindakan buat dan hapus tindakan pada saat yang sama yang mereferensikan instans DB sumber yang sama. Saat Anda melakukan tindakan ini, tidak boleh ada lebih dari 15 replika baca untuk setiap instance sumber daya Anda bisa menggunakan filter replikasi untuk menentukan database dan tabel apa yang direplikasi dengan replika baca. Filter replikasi dapat menyertakan database dan tabel ke dalam replikasi atau mengecualikannya dari replikasi Berikut adalah beberapa kasus penggunaan untuk replikasi filter
Anda juga dapat menggunakan filter replikasi untuk menentukan database dan tabel apa yang direplikasi dengan instans DB MariaDB utama yang dikonfigurasi sebagai replika dalam topologi replikasi masuk. Untuk informasi selengkapnya tentang konfigurasi ini, lihat Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal Untuk mengonfigurasi filter replikasi, tetapkan parameter filter replikasi berikut pada replika baca
Parameter dievaluasi secara berurutan dalam register. Untuk informasi selengkapnya tentang cara kerja parameter ini, lihat Secara default, setiap parameter ini memiliki nilai kosong. Pada setiap replika baca, Anda dapat menggunakan parameter ini untuk menyetel, mengubah, dan menghapus filter replikasi. Saat Anda menyetel salah satu parameter ini, pisahkan setiap filter dari yang lain dengan koma Anda dapat menggunakan karakter wildcard _5 dan 6 dalam parameter 4 dan 9. Parameter karakter pengganti 5 cocok dengan sejumlah karakter apa pun, dan karakter pengganti 6 hanya cocok dengan satu karakterFormat logging biner dari instans DB sumber penting untuk replikasi karena menentukan catatan perubahan data. Pengaturan parameter 0 menentukan apakah replikasi berbasis baris atau berbasis pernyataan. Untuk informasi lebih lanjut, lihatSemua pernyataan bahasa definisi data (DDDL) direplikasi sebagai pernyataan, terlepas dari pengaturan 0 pada instans DB sumberBatasan berikut berlaku untuk filter replikasi untuk RDS untuk MariaDB
Untuk mengonfigurasi filter replikasi untuk replika baca, ubah parameter filter replikasi di grup parameter yang terkait dengan replika baca Anda tidak dapat mengubah grup parameter default. Jika replika baca menggunakan grup parameter default, buat grup parameter baru dan kaitkan dengan replika baca. Untuk informasi selengkapnya tentang grup parameter DB, lihat Bekerja dengan grup parameter Anda dapat mengonfigurasi parameter dalam grup parameter menggunakan AWS Management Console, AWS CLI, atau RDS API. Untuk informasi tentang pengaturan parameter, lihat. Saat Anda menetapkan parameter dalam grup parameter, semua instans DB yang terkait dengan grup parameter tersebut menggunakan pengaturan parameter. Jika Anda menyetel parameter filter replikasi dalam grup parameter, pastikan grup parameter hanya dikaitkan dengan replika baca. Kosongkan parameter filter replikasi untuk instans DB sumber Contoh berikut menetapkan parameter menggunakan AWS CLI. Contoh ini menetapkan 4 ke 5 sehingga perubahan parameter terjadi segera setelah perintah CLI selesai. Jika Anda ingin menerapkan perubahan tertunda setelah replika baca di-boot ulang, setel 4 ke 7Contoh berikut mengonfigurasi filter replikasi contoh Sertakan database dalam replikasi Contoh berikut mencakup database _8 dan 9 dalam replikasi. Saat Anda menyetel _6 untuk replika baca, hanya database yang ditentukan dalam parameter yang direplikasiUntuk Linux, macOS, atau Unix
Untuk Windows
contoh Sertakan tabel dalam replikasi Contoh berikut mencakup tabel _1 dan 2 di 8 database dalam replikasiUntuk Linux, macOS, atau Unix _Untuk Windows
contoh Sertakan tabel dalam replikasi menggunakan karakter wildcard Contoh berikut menyertakan tabel dengan nama yang dimulai dengan 4 dan 5 di database 6 dalam replikasiUntuk Linux, macOS, atau Unix
Untuk Windows
contoh Melepaskan karakter wildcard dalam nama Contoh berikut menunjukkan cara menggunakan karakter escape 7 untuk escape karakter wildcard yang merupakan bagian dari namaMisalnya Anda memiliki beberapa nama tabel di database 8 yang dimulai dengan 9, dan Anda ingin menyertakan tabel ini dalam replikasi. Nama tabel menyertakan garis bawah, yang juga merupakan karakter wildcard, jadi contoh ini menghilangkan garis bawah pada nama tabelUntuk Linux, macOS, atau Unix
Untuk Windows
contoh Tidak termasuk database dari replikasi Contoh berikut mengecualikan database _8 dan 9 dari replikasiUntuk Linux, macOS, atau Unix
Untuk Windows
contoh Tidak termasuk tabel dari replikasi Contoh berikut mengecualikan tabel _1 dan 2 di 8 database dari replikasiUntuk Linux, macOS, atau Unix 0Untuk Windows _1contoh Tidak termasuk tabel dari replikasi menggunakan karakter wildcard Contoh berikut mengecualikan tabel dengan nama yang dimulai dengan 4 dan 5 di database 6 dari replikasiUntuk Linux, macOS, atau Unix _2Untuk Windows _3Anda dapat melihat filter replikasi untuk replika baca dengan cara berikut
Anda dapat menggunakan replikasi yang ditangguhkan sebagai strategi pemulihan bencana. Dengan replikasi tertunda, Anda menentukan jumlah waktu minimum, dalam detik, untuk menunda replikasi dari sumber ke replika baca. Jika terjadi bencana, seperti tabel yang terhapus secara tidak sengaja, Anda menyelesaikan langkah-langkah berikut untuk pulih dari bencana dengan cepat
Untuk mengonfigurasi replikasi yang ditangguhkan untuk replika baca mendatang yang dibuat dari instans DB, jalankan prosedur tersimpan mysql. rds_set_configuration dengan parameter 8Untuk mengonfigurasi replikasi yang ditangguhkan selama pembuatan replika baca
Untuk mengubah replikasi tertunda untuk replika baca yang ada, jalankan prosedur tersimpan mysql. rds_set_source_delay Untuk mengubah replikasi tertunda untuk replika baca yang sudah ada
Setelah replikasi dihentikan, dalam skenario pemulihan bencana, Anda dapat mempromosikan replika baca ke instans DB sumber baru. Untuk informasi tentang mempromosikan replika baca, lihat Replika baca dirancang untuk mendukung kueri baca, tetapi Anda mungkin memerlukan pembaruan sesekali. Misalnya, Anda mungkin perlu menambahkan indeks untuk mempercepat jenis kueri tertentu yang mengakses replika. Anda dapat mengaktifkan pembaruan dengan menyetel parameter 0 ke 0 di grup parameter DB untuk replika bacaAnda dapat membuat replika baca penerapan instans DB Multi-AZ atau AZ tunggal. Anda menggunakan penerapan Multi-AZ untuk meningkatkan dan ketersediaan data penting, tetapi Anda tidak dapat menggunakan Multi-AZ sekunder untuk melayani kueri hanya-baca. Sebagai gantinya, Anda dapat membuat replika baca dari instans DB Multi-AZ lalu lintas tinggi untuk mengeluarkan kueri hanya baca. Jika instans sumber dari aplikasi Multi-AZ gagal karena replika baca sekunder, setiap replika baca terkait akan secara otomatis menggunakan sumber sekunder (sekarang primer) sebagai sumber replikasinya. Untuk informasi selengkapnya, lihat Penerapan Multi-AZ untuk ketersediaan tinggi Anda dapat membuat replika baca sebagai instans DB Multi-AZ. Amazon RDS membuat waktu siaga untuk replika Anda di Availability Zone lain guna mendukung failover untuk replika. Membuat replika baca Anda sebagai instans DB Multi-AZ tidak bergantung pada apakah database sumber adalah instans DB Multi-AZ RDS untuk MariaDB mendukung replika baca. Dengan replika baca berjenjang, Anda dapat menskalakan pembacaan tanpa menambahkan overhead ke sumber daya RDS untuk instans DB MariaDB Dengan replika baca berjenjang, instans RDS untuk DB MariaDB mengirimkan data ke replika baca pertama dalam rantai. Replika baca itu kemudian mengirimkan data ke replika kedua dalam rantai, dan seterusnya. Hasil akhirnya adalah bahwa semua replika baca dalam rantai memiliki perubahan dari RDS ke instans DB MariaDB, tetapi tanpa overhead hanya pada instans DB sumber Anda dapat membuat rangkaian hingga tiga replika baca dalam rantai dari sumber untuk instans DB MariaDB. Misalnya, asumsikan Anda memiliki instans MariaDB DB 1. Anda dapat melakukan hal berikut
Anda tidak dapat membuat replika baca lain di luar replika baca berjenjang ketiga ini dalam undian untuk 1. Rantai instans lengkap dari RDS ke instans DB sumber MariaDB hingga akhir rangkaian replika baca kaskade dapat terdiri dari maksimal empat instans DBAgar replika baca kaskade berfungsi, setiap sumber daya RDS untuk instans DB MariaDB harus mengaktifkan pencadangan otomatis. Untuk mengaktifkan pencadangan otomatis pada replika baca, buat replika baca terlebih dahulu, lalu ubah replika baca untuk mengaktifkan pencadangan otomatis. Untuk informasi lebih lanjut, lihat Seperti replika baca, Anda dapat mempromosikan replika baca yang merupakan bagian dari kaskade. Mempromosikan replika baca dari dalam rantai replika baca akan menghapus replika tersebut dari rantai. Misalnya, Anda ingin mentransfer sebagian beban kerja dari instans 1 DB ke instans baru untuk digunakan oleh departemen akuntansi saja. Dengan asumsi rangkaian tiga replika baca dari contoh, Anda memutuskan untuk mempromosikan 5. Rantai dipengaruhi sebagai berikut
Untuk informasi tentang mempromosikan replika baca, lihat Untuk replika baca MariaDB, Anda dapat memantau penundaan replikasi di Amazon CloudWatch 5 RDS. Metrik 5 melaporkan nilai dari kolom 7 pesanan 8Versi MariaDB sebelumnya menggunakan 5 alih-alih 8. Jika Anda menggunakan versi MariaDB sebelum 10. 5, gunakan 5Penyebab umum penundaan replikasi untuk MariaDB adalah sebagai berikut
Saat metrik 5 mencapai 0, replika telah cocok dengan instans DB sumber. Jika metrik 5 mengembalikan -1, maka replikasi saat ini tidak aktif. 5 = -1 setara dengan 7 = 07Anda dapat menghentikan dan memulai ulang proses replikasi pada instans DB Amazon RDS dengan memanggil prosedur tersimpan sistem mysql. rds_stop_replication dan mysql. rds_start_replication. Anda dapat melakukannya saat mereplikasi antara dua instans Amazon RDS untuk operasi jangka panjang seperti membuat indeks besar. Anda juga perlu menghentikan dan memulai replikasi saat mengimpor atau mengekspor database. Untuk informasi selengkapnya, lihat Mengimpor data ke dalam instans DB Amazon RDS dengan pengurangan waktu henti dan Mengekspor data dari instans DB MySQL menggunakan replikasi Jika replikasi dihentikan selama lebih dari 30 hari berturut-turut, baik secara manual atau karena kesalahan replikasi, Amazon RDS menghentikan replikasi antara instans DB sumber dan semua replika baca. Hal ini dilakukan untuk mencegah peningkatan kebutuhan penyimpanan pada instans DB sumber dan waktu failover yang lama. instans DB replika baca masih tersedia. Namun, replikasi tidak dapat dilanjutkan karena log biner yang diperlukan oleh replika baca dihapus dari instans DB sumber setelah replikasi berakhir. Anda dapat membuat replika baca baru untuk instans DB sumber untuk memulihkan replikasi Pemecahan masalah batasan replika baca MariaDBTeknologi replikasi untuk MariaDB tidak sinkron. Karena mereka tidak sinkron, kadang-kadang 08 meningkatkan instance DB sumber dan 5 pada replika baca diharapkan. Misalnya, volume operasi yang tinggi ke instans DB sumber dapat terjadi secara paralel. Sebagai gantinya, operasi ke replika baca diseret menggunakan utas I/O tunggal, yang dapat menyebabkan kelambatan antara instance sumber dan replika baca. Untuk informasi lengkap tentang replikasi hanya-baca dalam dokumentasi MariaDB, kunjungi Ikhtisar ReplikasiAnda dapat melakukan beberapa hal untuk mengurangi jeda antara pembaruan ke instans DB sumber dan pembaruan berikutnya ke replika baca, seperti berikut ini
Amazon RDS memantau status replikasi replika baca Anda dan memperbarui bidang instans replika baca 11 untuk 12 jika replikasi berhenti karena alasan apa pun. Misalnya, jika kueri DML dijalankan pada replika baca, pembaruan dibuat dalam instans DB sumberAnda dapat meninjau detail error terkait yang disebabkan oleh mesin MariaDB dengan melihat kolom 13. Acara yang menunjukkan status replika baca juga dibuat, termasuk , , dan. Untuk informasi selengkapnya tentang acara dan berlangganan acara, lihat Bekerja dengan pemberitahuan acara Amazon RDS. Jika muncul pesan error MariaDB, periksa error tersebut di dokumentasi pesan error MariaDBMasalah umum yang dapat menyebabkan kesalahan replikasi adalah ketika nilai parameter 10 untuk replika baca kurang dari 10 untuk instans DB sumber. Parameter _10 adalah parameter khusus yang dapat Anda atur di grup parameter DB yang digunakan untuk menentukan ukuran maksimum kode DML yang dapat dijalankan di database. Dalam beberapa kasus, nilai parameter _10 dalam grup parameter DB yang terkait dengan instans DB sumber lebih kecil daripada nilai parameter 10 dalam grup parameter DB yang terkait dengan replika baca sumber. Dalam hal ini, proses replikasi dapat menyebabkan kesalahan (Paket lebih besar dari byte 'max_allowed_packet') dan menghentikan replikasi. Anda dapat memperbaiki kesalahan dengan memiliki replika sumber dan membaca, menggunakan grup parameter DB yang sama 10 nilai parameterSituasi umum lainnya yang dapat menyebabkan kesalahan replikasi adalah sebagai berikut
Jika Anda memutuskan untuk melewati kesalahan dengan aman, Anda dapat mengikuti langkah-langkah yang dijelaskan di. Jika tidak, Anda dapat menghapus replika baca dan membuat instans menggunakan pengidentifikasi instans DB yang sama sehingga titik akhir tetap sama dengan replika baca lama Anda. Jika kesalahan replikasi diperbaiki, 11 berubah menjadi replikasiUntuk instans DB MariaDB, dalam beberapa kasus, replika baca tidak dapat dipindahkan ke sekunder jika beberapa instans binlog (binlog) tidak dihapus saat terjadi kegagalan. Dalam hal ini, hapus dan buat ulang replika baca secara manual. Anda dapat mengurangi kemungkinan terjadinya hal ini dengan menyetel nilai parameter berikut. 23 dan 24. Pengaturan ini dapat mengurangi performa, jadi uji dampaknya sebelum menerapkan perubahan di lingkungan produksi |