Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengkonfigurasi replikasi GTID berbasis dengan instance sumber eksternal
Anda dapat mengatur replikasi berdasarkan pengidentifikasi transaksi global (GTIDs) dari instance MariaDB eksternal versi 10.0.24 atau lebih tinggi ke instans for MariaDB DB. RDS Ikuti panduan ini saat menyiapkan instance sumber eksternal dan replika di AmazonRDS:
Pantau peristiwa failover untuk instance untuk MariaDB DB yang merupakan RDS replika Anda. Jika terjadi failover, maka instans DB yang merupakan replika Anda dapat dibuat ulang pada 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 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 yang diperlukan untuk memulai replikasi pada instans MariaDB DB dibatasi dan tidak tersedia untuk pengguna master Amazon Anda. RDS Karena itu, Anda harus menggunakan Amazon RDS mysql.rds_set_external_master_gtid dan mysql.rds_start_replication perintah untuk mengatur replikasi antara database langsung Anda dan database MariaDB AndaRDS.
Untuk memulai replikasi antara instance sumber eksternal dan instance MariaDB DB di RDS Amazon, 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 arus instance GTID MariaDB eksternal. Ini dapat Anda lakukan dengan menggunakan
mysql
atau editor kueri pilihan Anda untuk menjalankanSELECT @@gtid_current_pos;
.GTIDItu diformat sebagai
<domain-id>-<server-id>-<sequence-id>
. Khas GTID 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 database Amazon RDS for MySQL dengan downtime yang dikurangi.Untuk Linux, macOS, atau Unix:
mysqldump \ --databases
database_name
\ --single-transaction \ --compress \ --order-by-primary \ -ulocal_user
\ -plocal_password
| mysql \ --host=hostname \ --port=3306 \ -uRDS_user_name
\ -pRDS_password
Untuk Windows:
mysqldump ^ --databases
database_name
^ --single-transaction ^ --compress ^ --order-by-primary \ -ulocal_user
\ -plocal_password
| mysql ^ --host=hostname ^ --port=3306 ^ -uRDS_user_name
^ -pRDS_password
catatan
Pastikan bahwa tidak ada spasi antara opsi
-p
dan kata sandi yang dimasukkan.Tetapkan kata sandi selain penggugah/prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.
Gunakan opsi-opsi
--host
,--user (-u)
,--port
dan-p
dalam perintahmysql
untuk menentukan nama host, nama pengguna, port, dan kata sandi untuk menghubungi instans basis data MariaDB Anda. Nama host adalah DNS nama dari titik akhir instance MariaDB DB, misalnya.myinstance.123456789012.us-east-1.rds.amazonaws.com
Anda dapat menemukan nilai titik akhir dalam detail instans di Amazon RDS Management Console. -
Jadikan lagi instans MariaDB sumber bersifat dapat ditulis.
mysql> SET GLOBAL read_only = OFF; mysql> UNLOCK TABLES;
-
Di Amazon RDS Management Console, tambahkan alamat IP server yang meng-host database MariaDB eksternal ke grup keamanan untuk VPC instance MariaDB DB. Untuk informasi selengkapnya tentang memodifikasi grup VPC keamanan, buka Grup keamanan untuk Anda VPC di Panduan Pengguna Amazon Virtual Private Cloud.
Alamat IP dapat berubah jika 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
.host
db_instance_endpoint
Nama host adalah DNS nama dari titik akhir instance MariaDB DB.
-
-
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 CLIENT
danREPLICATION SLAVE
kepada pengguna replikasi Anda. Misalnya, untuk memberikan privilese-privileseREPLICATION CLIENT
danREPLICATION SLAVE
pada 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 tentukan di 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;