Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengonfigurasikan replikasi berbasis GTID dengan instans sumber eksternal
Anda dapat mengatur replikasi berdasarkan pengidentifikasi transaksi global (GTIDs) dari instance MariaDB eksternal versi 10.0.24 atau lebih tinggi ke RDS untuk instance MariaDB DB. Ikuti pedoman ini saat Anda menyiapkan instans sumber eksternal dan replika di Amazon RDS:
Pantau peristiwa failover untuk instans basis data RDS for MariaDB yang menjadi replika Anda. Jika terjadi failover, maka instans basis data yang merupakan replika Anda dapat dibuat ulang pada sebuah host baru dengan alamat jaringan yang berbeda. Lihat informasi tentang cara memantau peristiwa failover di Bekerja dengan pemberitahuan RDS acara Amazon.
Pertahankan log biner (binlog) pada instans sumber Anda sampai Anda memastikan bahwa log itu telah diterapkan pada replika. Upaya mempertahankan ini memastikan bahwa Anda dapat memulihkan instans sumber jika terjadi kegagalan.
Aktifkan pencadangan otomatis pada instans basis data MariaDB Anda di Amazon RDS. Mengaktifkan pencadangan otomatis memastikan bahwa Anda dapat memulihkan replika ke titik waktu tertentu jika Anda perlu menyinkronkan ulang instans sumber dan replika Anda. Untuk informasi tentang backup dan Point-In-Time Restore, lihat. Mencadangkan, memulihkan, dan mengekspor data
catatan
Izin-izin yang dibutuhkan untuk memulai replikasi pada instans basis data MariaDB bersifat terbatas dan tidak tersedia bagi pengguna master Amazon RDS Anda. Karena itu, Anda harus menggunakan perintah-perintah Amazon RDS mysql.rds_set_external_master_gtid dan mysql.rds_start_replication untuk menyiapkan replikasi antara basis data aktif dan basis data RDS for MariaDB Anda.
Untuk memulai replikasi antara instans sumber eksternal dan instans basis data MariaDB pada Amazon RDS, gunakan prosedur berikut.
Memulai replikasi
-
Jadikan instans basis data MariaDB sumber bersifat hanya baca:
mysql> FLUSH TABLES WITH READ LOCK; mysql> SET GLOBAL read_only = ON; -
Dapatkan GTID saat ini dari instans MariaDB eksternal. Ini dapat Anda lakukan dengan menggunakan
mysqlatau editor kueri pilihan Anda untuk menjalankanSELECT @@gtid_current_pos;.GTID berformat
<domain-id>-<server-id>-<sequence-id>. Sebuah GTID yang lazim terlihat seperti0-1234510749-1728. Untuk informasi selengkapnya tentang GTIDs dan bagian komponennya, lihat ID transaksi globaldi dokumentasi MariaDB. -
Salin basis data dari instans MariaDB eksternal ke instans basis data MariaDB dengan menggunakan
mysqldump. Untuk basis data yang sangat besar, Anda mungkin perlu menggunakan prosedur di Mengimpor data ke Amazon RDS untuk instans DB Amazon RDS for MariaDB dengan waktu henti yang dikurangi.Untuk Linux, macOS, atau Unix:
mysqldump \ --databasesdatabase_name\ --single-transaction \ --compress \ --order-by-primary \ -ulocal_user\ -plocal_password| mysql \ --host=hostname \ --port=3306 \ -uRDS_user_name\ -pRDS_passwordUntuk Windows:
mysqldump ^ --databasesdatabase_name^ --single-transaction ^ --compress ^ --order-by-primary \ -ulocal_user\ -plocal_password| mysql ^ --host=hostname ^ --port=3306 ^ -uRDS_user_name^ -pRDS_passwordcatatan
Pastikan bahwa tidak ada spasi antara opsi
-pdan kata sandi yang dimasukkan.Tetapkan kata sandi selain penggugah/prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.
Gunakan opsi-opsi
--host,--user (-u),--portdan-pdalam perintahmysqluntuk menentukan nama host, nama pengguna, port, dan kata sandi untuk menghubungi instans basis data MariaDB Anda. Nama host adalah nama DNS dari titik akhir instans basis data MariaDB, misalnyamyinstance.123456789012.us-east-1.rds.amazonaws.com. Anda dapat menemukan nilai titik akhir dalam detail instans di Konsol Manajemen Amazon RDS. -
Jadikan lagi instans MariaDB sumber bersifat dapat ditulis.
mysql> SET GLOBAL read_only = OFF; mysql> UNLOCK TABLES; -
Di Konsol Manajemen Amazon RDS, tambahkan alamat IP server yang menjadi host data basis data MariaDB eksternal ke grup keamanan VPC untuk instans basis data MariaDB. Lihat informasi yang lebih lengkap tentang cara mengubah grup keamanan VPC di Grup keamanan untuk VPC dalam Panduan Pengguna Amazon Virtual Private Cloud.
Alamat IP dapat berubah jika kondisi-kondisi berikut terpenuhi:
-
Anda menggunakan alamat IP publik untuk komunikasi antara instans sumber eksternal dan instans DB.
-
Instans sumber eksternal dihentikan dan dimulai ulang.
Jika kedua kondisi ini terpenuhi, periksa alamat IP sebelum menambahkannya.
Mungkin Anda juga harus mengonfigurasikan jaringan lokal Anda untuk mengizinkan koneksi dari alamat IP instans basis data MariaDB agar dapat berkomunikasi dengan instans MariaDB eksternal. Untuk menemukan alamat IP instans basis data MariaDB, gunakan perintah
host.hostdb_instance_endpointNama host adalah nama DNS titik akhir instans basis data MariaDB.
-
-
Dengan menggunakan klien pilihan Anda, hubungi instans MariaDB eksternal dan buat akun pengguna MariaDB yang akan digunakan untuk replikasi. Akun ini digunakan hanya untuk replikasi dan harus dibatasi pada domain Anda untuk meningkatkan keamanan. Berikut sebuah contoh.
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'password';catatan
Tetapkan kata sandi selain penggugah/prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.
-
Untuk instans MariaDB eksternal, berikan privilese-privilese
REPLICATION CLIENTdanREPLICATION SLAVEkepada pengguna replikasi Anda. Misalnya, untuk memberikan privilese-privileseREPLICATION CLIENTdanREPLICATION SLAVEpada semua basis data kepada pengguna 'repl_user' bagi domain Anda, keluarkan perintah berikut.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com'; -
Jadikan instans basis data MariaDB sebagai replika. Hubungi instans basis data MariaDB sebagai pengguna master dan tandai basis data MariaDB eksternal sebagai instans sumber replikasi dengan menggunakan perintah mysql.rds_set_external_master_gtid. Gunakan GTID yang Anda peroleh dalam Langkah 2. Berikut sebuah contoh.
CALL mysql.rds_set_external_master_gtid ('mymasterserver.mydomain.com', 3306, 'repl_user', 'password', 'GTID',1);catatan
Tetapkan kata sandi selain penggugah/prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.
-
Pada instans basis data MariaDB, terbitkan perintah mysql.rds_start_replication untuk memulai replikasi.
CALL mysql.rds_start_replication;