Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengimpor data ke Amazon RDS untuk instans DB Amazon RDS for MariaDB dengan waktu henti yang dikurangi
Dalam beberapa kasus, Anda mungkin perlu mengimpor data dari database MariaDB eksternal yang mendukung aplikasi langsung ke RDS untuk instance MariaDB DB. Gunakan prosedur berikut untuk meminimalkan dampak terhadap ketersediaan aplikasi. Prosedur ini juga dapat berguna jika Anda menggunakan basis data yang sangat besar. Dengan menggunakan prosedur ini, Anda dapat mengurangi biaya impor dengan mengurangi jumlah data yang dilewatkan di seluruh jaringan AWS.
Dalam prosedur ini, Anda mentransfer salinan data database Anda ke EC2 instans Amazon dan mengimpor data ke database Amazon RDS baru. Anda kemudian menggunakan replikasi untuk membawa database Amazon RDS up-to-date dengan instans eksternal langsung Anda, sebelum mengarahkan aplikasi Anda ke database Amazon RDS. Jika instance eksternal adalah MariaDB 10.0.24 atau lebih tinggi dan instance targetnya adalah RDS untuk MariaDB, konfigurasikan replikasi MariaDB berdasarkan pengidentifikasi transaksi global (). GTIDs Jika tidak, lakukan konfigurasi pada replikasi berdasarkan koordinat log biner. Kami menyarankan replikasi berbasis GTID jika basis data eksternal Anda mendukungnya karena replikasi berbasis GTID adalah metode yang lebih andal. Untuk informasi selengkapnya, lihat Global transaction ID
Diagram berikut menunjukkan mengimpor database MariaDB eksternal ke database MariaDB di Amazon RDS.
Tugas 1: Buat salinan database Anda yang ada
Langkah pertama dalam proses migrasi sejumlah besar data ke RDS untuk database MariaDB dengan downtime minimal adalah membuat salinan data sumber.
Diagram berikut menunjukkan membuat cadangan dari database MariaDB.
Anda dapat menggunakan mariadb-dump utilitas mysqldump atau untuk membuat cadangan database dalam format SQL atau teks terbatas. Di MariaDB 10.5, klien disebut mariadb-dump.mariadb-dump mysqldump Kami menyarankan Anda melakukan uji coba dengan setiap format di lingkungan non-produksi untuk melihat metode mana yang meminimalkan jumlah waktu mysqldump atau mariadb-dump berjalan.
Kami juga menyarankan Anda menimbang mysqldump atau mariadb-dump kinerja terhadap manfaat yang ditawarkan dengan menggunakan format teks terbatas untuk memuat. Pencadangan yang menggunakan format delimited-text akan menciptakan sebuah file teks yang dipisahkan oleh tab untuk setiap tabel yang disalin ke lokasi lain. Untuk mengurangi jumlah waktu yang dibutuhkan untuk mengimpor basis data Anda, Anda dapat memuat file tersebut secara paralel menggunakan perintah LOAD DATA LOCAL INFILE. Untuk informasi selengkapnya, lihat Langkah 5: Muat data di prosedur Mengimpor data dari sumber apa pun.
Sebelum Anda memulai operasi pencadangan, pastikan untuk mengatur opsi replikasi pada database MariaDB yang Anda salin ke Amazon RDS. Opsi replikasi mencakup pengaktifan pencatatan log biner dan pengaturan ID server yang unik. Pengaturan opsi ini menyebabkan server Anda mulai mencatat log transaksi basis data dan menyiapkannya menjadi sebuah instans replikasi sumber di lain waktu dalam proses ini.
Perhatikan rekomendasi dan pertimbangan berikut:
-
Gunakan
--single-transactionopsi denganmysqldumpataumariadb-dumpkarena membuang status database yang konsisten. Untuk memastikan file dump yang valid, jangan jalankan pernyataan bahasa definisi data (DDL) saatmysqldumpataumariadb-dumpsedang berjalan. Anda dapat menjadwalkan jadwal pemeliharaan untuk operasi ini. -
Jangan sertakan skema berikut dalam filedump:
-
sys -
performance_schema -
information_schema
mariadb-dumpUtilitasmysqldumpdan mengecualikan skema ini secara default. -
-
Jika Anda perlu memigrasikan pengguna dan hak istimewa, pertimbangkan untuk menggunakan alat yang menghasilkan bahasa kontrol data (DCL) untuk membuatnya kembali, seperti utilitas. pt-show-grants
Mengatur opsi replikasi
-
Edit file
my.cnfFile ini biasanya terletak di bawah/etc.sudo vi /etc/my.cnfTambahkan opsi
log_bindanserver_idke bagian[mysqld]. Opsilog_binmenyediakan sebuah pengidentifikasi nama file untuk file log biner. Opsiserver_idmenyediakan pengidentifikasi unik untuk server dalam hubungan sumber-replika.Contoh berikut menunjukkan
[mariadb]bagian diperbarui darimy.cnffile:[mariadb] log-bin server-id=1 log-basename=master1 binlog-format=mixedUntuk informasi selengkapnya, lihat Menyetel Konfigurasi Sumber Replikasi
dalam dokumentasi MariaDB. -
Untuk replikasi dengan cluster DB multi-AZ, aktifkan.
gtid_strict_modeUntuk informasi selengkapnya, lihat gtid_strict_mode dalam dokumentasi MariaDB. Mengaktifkan
gtid_strict_modetidak diperlukan untuk replikasi dengan instans DB. -
Mulai ulang layanan
mariadb.sudo service mariadb restart
Membuat salinan cadangan basis data yang sudah ada
-
Buat cadangan data Anda menggunakan
mariadb-dumputilitasmysqldumpatau, dengan menentukan format SQL atau teks terbatas.Untuk meningkatkan kinerja dan memastikan integritas data, gunakan
--order-by-primarydan--single-transactionopsi untukmysqldumpdanmariadb-dump.Untuk menghindari menyertakan database sistem MySQL dalam cadangan, jangan gunakan
--all-databasesopsi dengan atau.mysqldumpmariadb-dumpUntuk informasi selengkapnya, lihat Membuat Snapshot Data Menggunakan mysqldump dalam dokumentasi MySQL. Gunakan
chmod, jika perlu, untuk memastikan bahwa direktori tempat file cadangan dibuat dapat ditulis.penting
Pada Windows, jalankan jendela perintah sebagai administrator.
-
Untuk membuat output SQL, gunakan perintah berikut. Untuk versi MariaDB 10.11 dan yang lebih rendah, ganti dengan.
mariadb-dumpmysqldumpUntuk Linux, macOS, atau Unix:
sudo mariadb-dump \ --databasesdatabase_name\ --master-data=2 \ --single-transaction \ --order-by-primary \ -r backup.sql \ -ulocal_user\ -ppasswordcatatan
Sebagai praktik terbaik keamanan, tentukan kredensil selain petunjuk yang ditampilkan dalam contoh.
Untuk Windows:
mariadb-dump ^ --databasesdatabase_name^ --master-data=2 ^ --single-transaction ^ --order-by-primary ^ -r backup.sql ^ -ulocal_user^ -ppasswordcatatan
Sebagai praktik terbaik keamanan, tentukan kredensil selain petunjuk yang ditampilkan dalam contoh.
-
Untuk membuat output delimited-text, gunakan perintah berikut. Untuk MariaDB 11.01 dan versi yang lebih tinggi, ganti dengan.
mysqldumpmariadb-dumpUntuk Linux, macOS, atau Unix:
sudo mysqldump \ --tab=target_directory\ --fields-terminated-by ',' \ --fields-enclosed-by '"' \ --lines-terminated-by 0x0d0a \database_name\ --master-data=2 \ --single-transaction \ --order-by-primary \ -ppasswordUntuk Windows:
mysqldump ^ --tab=target_directory^ --fields-terminated-by "," ^ --fields-enclosed-by """ ^ --lines-terminated-by 0x0d0a ^database_name^ --master-data=2 ^ --single-transaction ^ --order-by-primary ^ -ppasswordcatatan
Sebagai praktik terbaik keamanan, tentukan kredensil selain petunjuk yang ditampilkan dalam contoh.
Pastikan Anda membuat prosedur, pemicu, fungsi, atau peristiwa tersimpan apa pun secara manual di dalam basis data Amazon RDS Anda. Jika Anda memiliki salah satu objek ini dalam database yang Anda salin, maka kecualikan mereka saat Anda menjalankan
mysqldumpataumariadb-dump. Untuk melakukannya, sertakan argumen berikut denganmariadb-dumpperintahmysqldumpatau Anda:-
--routines=0 -
--triggers=0 -
--events=0
Saat Anda menjalankan
mysqldumpdan menentukan format teks terbatas,CHANGE MASTER TOkomentar akan dikembalikan. Komentar ini berisi nama dan posisi file log master. Jika instance eksternal adalah MariaDB 10.0.23 atau versi yang lebih rendah, perhatikan nilai untuk dan.MASTER_LOG_FILEMASTER_LOG_POSAnda memerlukan nilai-nilai ini saat menyiapkan replikasi.Output berikut dikembalikan untuk versi MariaDB.
-- Position to start replication or point-in-time recovery from -- -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000031', MASTER_LOG_POS=107; -
-
-
Jika instance eksternal yang Anda gunakan adalah MariaDB versi 10.0.24 atau lebih tinggi, gunakan replikasi berbasis GTID. Jalankan
SHOW MASTER STATUSpada instance MariaDB eksternal untuk mendapatkan nama dan posisi file log biner, lalu ubah menjadi GTID dengan menjalankanBINLOG_GTID_POSinstance MariaDB eksternal.SELECT BINLOG_GTID_POS('binary_log_file_name',binary_log_file_position);Perhatikan GTID kembali. Anda memerlukan GTID untuk mengkonfigurasi replikasi.
-
Kompres data yang disalin untuk mengurangi jumlah sumber daya jaringan yang dibutuhkan untuk menyalin data Anda ke basis data Amazon RDS. Catat ukuran file cadangan. Anda memerlukan informasi ini saat menentukan seberapa besar EC2 instans Amazon untuk dibuat. Setelah selesai, kompres file cadangan menggunakan GZIP atau utilitas kompresi pilihan Anda.
-
Untuk mengompres output SQL, gunakan perintah berikut:
gzip backup.sql -
Untuk mengompres output teks terbatas, gunakan perintah berikut:
tar -zcvf backup.tar.gztarget_directory
-
Tugas 2: Buat EC2 instance Amazon dan salin database terkompresi
Menyalin file cadangan basis data terkompresi ke EC2 instans Amazon membutuhkan lebih sedikit sumber daya jaringan daripada melakukan salinan langsung data yang tidak terkompresi antar instance database. Setelah data Anda ada di Amazon EC2, Anda dapat menyalinnya dari sana langsung ke database MariaDB Anda. Agar Anda dapat menghemat biaya sumber daya jaringan, EC2 instans Amazon Anda harus Wilayah AWS sama dengan instans Amazon RDS DB Anda. Memiliki EC2 instans Amazon yang Wilayah AWS sama dengan database Amazon RDS Anda juga mengurangi latensi jaringan selama impor.
Diagram berikut menunjukkan menyalin cadangan database ke EC2 instance Amazon.
Untuk membuat EC2 instans Amazon dan menyalin data Anda
-
Di Wilayah AWS tempat Anda berencana untuk membuat database Amazon RDS, buat virtual private cloud (VPC), grup keamanan VPC, dan subnet VPC. Pastikan aturan masuk untuk grup keamanan VPC Anda mengizinkan alamat IP yang dibutuhkan agar aplikasi Anda dapat terhubung ke AWS. Anda dapat menentukan rentang alamat IP — misalnya, —atau grup keamanan VPC
203.0.113.0/24lainnya. Anda dapat menggunakan konsol VPC Amazonuntuk membuat dan mengelola VPCs, subnet, dan grup keamanan. Untuk informasi selengkapnya, lihat Memulai Amazon VPC di Panduan Pengguna Amazon Virtual Private Cloud. -
Buka EC2 konsol Amazon
dan pilih Wilayah AWS untuk memuat EC2 instans Amazon dan database Amazon RDS Anda. Luncurkan EC2 instans Amazon menggunakan VPC, subnet, dan grup keamanan yang Anda buat di Langkah 1. Pastikan Anda memilih tipe instans dengan penyimpanan yang cukup untuk file cadangan basis data Anda saat tidak terkompresi. Untuk detail tentang EC2 instans Amazon, lihat Memulai Amazon EC2 di Panduan Pengguna Amazon Elastic Compute Cloud. -
Untuk terhubung ke database Amazon RDS dari EC2 instans Amazon Anda, edit grup keamanan VPC Anda. Tambahkan aturan masuk yang menentukan alamat IP pribadi instance Anda EC2 . Anda dapat menemukan alamat IP pribadi pada tab Detail pada panel Instans di jendela EC2 konsol. Untuk mengedit grup keamanan VPC dan menambahkan aturan masuk, pilih Grup Keamanan di panel navigasi EC2 konsol, pilih grup keamanan Anda, lalu tambahkan aturan masuk untuk MySQL atau Aurora yang menentukan alamat IP pribadi instans Anda. EC2 Untuk mempelajari cara menambahkan aturan masuk ke grup keamanan VPC, lihat Aturan grup keamanan di Panduan Pengguna Amazon Virtual Private Cloud.
-
Salin file cadangan basis data terkompresi dari sistem lokal Anda ke EC2 instans Amazon Anda. Gunakan
chmod, jika perlu, untuk memastikan bahwa Anda memiliki izin menulis untuk direktori target EC2 instance Amazon. Anda dapat menggunakanscpatau klien Secure Shell (SSH) untuk menyalin file. Perintah berikut adalahscpperintah contoh:scp -r -ikey pair.pem backup.sql.gz ec2-user@EC2 DNS:/target_directory/backup.sql.gzpenting
Saat menyalin data sensitif, pastikan untuk menggunakan protokol transfer jaringan yang aman.
-
Hubungkan ke EC2 instans Amazon Anda dan instal pembaruan terbaru dan alat klien MariaDB menggunakan perintah berikut:
sudo yum update -y sudo yum install mariadb1011-client-utils -yUntuk informasi selengkapnya, lihat Connect ke instans Anda untuk instance Linux di Panduan Pengguna Amazon Elastic Compute Cloud dan Konektor MariaDB dalam dokumentasi MariaDB
. -
Saat terhubung ke EC2 instans Amazon Anda, dekompresi file cadangan database Anda. Perintah berikut adalah contohnya.
-
Untuk mendekompresi output SQL, gunakan perintah berikut:
gzip backup.sql.gz -d -
Untuk mendekompresi output delimited-text, gunakan perintah berikut:
tar xzvf backup.tar.gz
-
Tugas 3: Membuat database MariaDB dan mengimpor data dari instans Amazon Anda EC2
Dengan membuat RDS untuk instance MariaDB Wilayah AWS sama dengan instans EC2 Amazon Anda, Anda dapat mengimpor file cadangan database dari EC2 Amazon lebih cepat daripada melalui internet.
Diagram berikut menunjukkan mengimpor cadangan dari EC2 instance Amazon ke database MariaDB.
Untuk membuat database MariaDB dan mengimpor data Anda
-
Tentukan kelas instans DB dan jumlah ruang penyimpanan yang dibutuhkan untuk mendukung perkiraan beban kerja untuk basis data Amazon RDS ini. Sebagai bagian dari proses ini, putuskan berapa ruang dan kapasitas pemrosesan yang memadai untuk prosedur pemuatan data Anda. Juga, putuskan apa yang diperlukan untuk menangani beban kerja produksi. Anda dapat memperkirakan ini berdasarkan ukuran dan sumber daya database sumber MariaDB. Untuk informasi selengkapnya, lihat DB.
-
Buat instans DB di Wilayah AWS yang berisi EC2 instans Amazon Anda. Ikuti instruksi Membuat instans DB Amazon RDS dan gunakan pedoman berikut:
-
Tentukan versi mesin DB yang kompatibel dengan instans DB sumber Anda.
-
Tentukan grup keamanan virtual private cloud (VPC) dan VPC yang sama dengan instans Amazon Anda. EC2 Pendekatan ini memastikan bahwa EC2 instans Amazon Anda dan instans Amazon RDS Anda terlihat satu sama lain melalui jaringan. Pastikan instans DB Anda dapat diakses publik. Untuk mengatur replikasi dengan database sumber Anda seperti yang dijelaskan di bagian berikut, instans DB Anda harus dapat diakses publik.
-
Jangan mengonfigurasikan lebih dari satu Zona Ketersediaan, retensi cadangan, atau replika baca sebelum Anda selesai mengimpor cadangan basis data. Setelah impor selesai, Anda dapat mengonfigurasi Multi-AZ dan retensi cadangan untuk instans produksi.
-
-
Tinjau opsi konfigurasi default untuk basis data Amazon RDS. Jika grup parameter default untuk basis data tidak memiliki opsi konfigurasi yang Anda inginkan, temukan grup parameter lain atau buat grup parameter baru. Untuk informasi selengkapnya tentang membuat grup parameter, lihatGrup parameter untuk RDS.
-
Hubungkan ke basis data Amazon RDS baru sebagai pengguna master. Buat pengguna yang diperlukan untuk mendukung administrator, aplikasi, dan layanan yang perlu mengakses instans DB. Nama host untuk database Amazon RDS adalah nilai Endpoint untuk instance DB ini tanpa nomor port, misalnya,.
mysampledb---123456789012---us-west-2---rds.amazonaws.com.rproxy.govskope.caAnda dapat menemukan nilai endpoint dalam detail database di konsol Amazon RDS. -
Connect ke EC2 instans Amazon Anda. Untuk informasi selengkapnya, lihat Connect ke instans Linux Anda di Panduan Pengguna Amazon Elastic Compute Cloud.
-
Connect ke database Amazon RDS Anda sebagai host jarak jauh dari EC2 instans Amazon Anda menggunakan
mysqlperintah. Perintah berikut adalah contoh:mysql -hhost_name-P 3306 -udb_master_user-phost_nameIni adalah titik akhir basis data Amazon RDS. -
Pada
mysqlprompt, jalankansourceperintah dan berikan nama file dump database Anda. Perintah ini memuat data ke instans Amazon RDS DB.-
Untuk format SQL, gunakan perintah berikut:
MariaDB [(none)]> source backup.sql; -
Untuk format teks terbatas, buat database terlebih dahulu, jika bukan database default yang Anda buat saat menyiapkan database Amazon RDS.
MariaDB [(none)]> create databasedatabase_name; MariaDB [(none)]> usedatabase_name;Lalu buat tabel.
MariaDB [(none)]> sourcetable1.sql MariaDB [(none)]> sourcetable2.sql etc...Lalu impor data.
MariaDB [(none)]> LOAD DATA LOCAL INFILE 'table1.txt' INTO TABLE table1 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '0x0d0a'; MariaDB [(none)]> LOAD DATA LOCAL INFILE 'table2.txt' INTO TABLE table2 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '0x0d0a'; etc...Untuk meningkatkan performa, Anda dapat melakukan operasi ini secara paralel dari beberapa koneksi sehingga semua tabel Anda akan diciptakan dan kemudian dimuat secara bersamaan.
catatan
Jika Anda menggunakan opsi pemformatan data apa pun dengan
mysqldumpataumariadb-dumpketika Anda awalnya membuang tabel, pastikan untuk menggunakan opsi yang samaLOAD DATA LOCAL INFILEuntuk memastikan interpretasi yang tepat dari konten file data.
-
-
Jalankan
SELECTkueri sederhana terhadap satu atau dua tabel dalam database yang diimpor untuk memverifikasi bahwa impor berhasil.
Jika Anda tidak lagi memerlukan EC2 instans Amazon yang digunakan dalam prosedur ini, hentikan EC2 instance untuk mengurangi penggunaan AWS sumber daya Anda. Untuk menghentikan instance, lihat Mengakhiri EC2 instance di Panduan Pengguna Amazon Elastic Compute Cloud.
Tugas 4: Replikasi data dari database eksternal Anda ke database Amazon RDS baru Anda
Database sumber Anda kemungkinan diperbarui selama waktu yang diperlukan untuk menyalin dan mentransfer data ke database MariaDB. Anda dapat menggunakan replikasi untuk membawa database yang disalin up-to-date dengan database sumber.
Izin yang diperlukan untuk memulai replikasi pada database Amazon RDS dibatasi dan tidak tersedia untuk pengguna master Amazon RDS Anda. Karena itu, gunakan prosedur tersimpan Amazon RDS yang sesuai:
-
mysql.rds_set_external_master_gtiduntuk mengkonfigurasi replikasi dan mysql.rds_start_replication untuk memulai replikasi
Memulai replikasi
Di Tugas 1, saat Anda mengatur opsi replikasi, Anda mengaktifkan logging biner dan menetapkan ID server unik untuk basis data sumber Anda. Sekarang, Anda dapat mengatur database Amazon RDS Anda sebagai replika dengan database langsung Anda sebagai contoh replikasi sumber.
-
Di konsol Amazon RDS, tambahkan alamat IP server yang menghosting basis data sumber ke grup keamanan VPC untuk database Amazon RDS. Untuk informasi selengkapnya tentang mengonfigurasi grup keamanan VPC, lihat Mengonfigurasi aturan grup keamanan di Panduan Pengguna Amazon Virtual Private Cloud.
Anda mungkin juga perlu mengonfigurasi jaringan lokal Anda untuk mengizinkan koneksi dari alamat IP database Amazon RDS Anda sehingga dapat berkomunikasi dengan instance sumber Anda. Untuk menemukan alamat IP database Amazon RDS, gunakan
hostperintah:hosthost_namehost_nameIni adalah nama DNS dari titik akhir database Amazon RDS, misalnya.myinstance---123456789012---us-east-1---rds.amazonaws.com.rproxy.govskope.caAnda dapat menemukan nilai endpoint dalam detail instans DB di konsol Amazon RDS. -
Menggunakan klien pilihan Anda, hubungkan ke instans sumber dan buat pengguna untuk digunakan untuk replikasi. Akun ini digunakan hanya untuk replikasi dan harus dibatasi pada domain Anda untuk meningkatkan keamanan. Perintah berikut adalah contoh:
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'password';catatan
Tentukan kredensial selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.
-
Untuk instans sumber, berikan hak istimewa
REPLICATION CLIENTdanREPLICATION SLAVEkepada pengguna replikasi Anda. Misalnya, untuk memberikan keistimewaanREPLICATION CLIENTdanREPLICATION SLAVEpada semua basis data untuk pengguna 'repl_user' pada domain Anda, terbitkan perintah berikut:GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com'; -
Jika Anda menggunakan format SQL untuk membuat file cadangan dan instance eksternal bukan MariaDB 10.0.24 atau lebih tinggi, lihat isi file tersebut dengan menjalankan perintah berikut:
cat backup.sqlFile tersebut mencakup sebuah komentar
CHANGE MASTER TOyang berisi nama dan posisi file log master. Komentar ini disertakan dalam file cadangan saat Anda menggunakan opsi--master-datadenganmysqldump. Perhatikan nilai untukMASTER_LOG_FILEdanMASTER_LOG_POS.-- -- Position to start replication or point-in-time recovery from -- -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000031', MASTER_LOG_POS=107;Jika Anda menggunakan format teks yang dibatasi untuk membuat file cadangan dan instance eksternal bukan MariaDB 10.0.24 atau lebih tinggi, Anda seharusnya sudah memiliki koordinat log biner dari Langkah 1 di Tugas 1 saat Anda membuat salinan cadangan dari database yang ada.
Jika instance eksternal adalah MariaDB 10.0.24 atau lebih tinggi, Anda seharusnya sudah memiliki GTID untuk memulai replikasi dari Langkah 2 di Tugas 1 saat Anda membuat salinan cadangan dari database yang ada.
-
Jadikan basis data Amazon RDS sebagai replika. Jika instance eksternal bukan MariaDB 10.0.24 atau yang lebih tinggi, sambungkan ke database Amazon RDS sebagai pengguna utama dan identifikasi database sumber sebagai instance replikasi sumber dengan menggunakan prosedur tersimpan. mysql.rds_set_external_master
Jika Anda memiliki file cadangan format SQL, gunakan nama file log master dan posisi log master yang Anda tentukan di Langkah 4. Jika Anda menggunakan format teks terbatas, gunakan nama dan posisi yang Anda tentukan saat membuat file cadangan. Perintah berikut adalah contoh:
CALL mysql.rds_set_external_master ('myserver.mydomain.com', 3306, 'repl_user', 'password', 'mysql-bin-changelog.000031', 107, 1);catatan
Tentukan kredensial selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.
Jika instance eksternal adalah MariaDB 10.0.24 atau yang lebih tinggi, sambungkan ke database Amazon RDS sebagai pengguna utama dan identifikasi database sumber sebagai instance replikasi sumber dengan menggunakan prosedur tersimpan. mysql.rds_set_external_master_gtid Gunakan GTID yang Anda tentukan di Langkah 2 di Tugas 1 saat Anda membuat salinan cadangan dari database yang ada. Perintah berikut adalah contoh:
CALL mysql.rds_set_external_master_gtid ('source_server_ip_address', 3306, 'ReplicationUser', 'password', 'GTID', 1);adalah alamat IP instans replikasi sumber. Alamat DNS EC2 pribadi saat ini tidak didukung.source_server_ip_addresscatatan
Tentukan kredensial selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.
-
Pada database Amazon RDS, untuk memulai replikasi, jalankan perintah berikut yang menggunakan prosedur mysql.rds_start_replication tersimpan:
CALL mysql.rds_start_replication; -
Pada database Amazon RDS, untuk menentukan kapan replika up-to-date dengan instance replikasi sumber, jalankan perintah SHOW REPLICA
STATUS. Hasil perintah SHOW REPLICA STATUSmencakup bidangSeconds_Behind_Master. KetikaSeconds_Behind_Masterbidang mengembalikan 0, maka replika adalah up-to-date dengan contoh replikasi sumber.Untuk instance MariaDB 10.5, 10.6, 10.11, 11.4, atau 11.8 DB, gunakan prosedur yang mysql.rds_replica_status disimpan alih-alih menjalankan perintah MySQL.
-
Setelah database Amazon RDS up-to-date, aktifkan backup otomatis sehingga Anda dapat memulihkan database tersebut jika diperlukan. Anda dapat mengaktifkan atau memodifikasi pencadangan otomatis untuk database Amazon RDS Anda dengan menggunakan konsol Amazon
RDS. Untuk informasi selengkapnya, lihat Pengantar cadangan.
Tugas 5: Arahkan ulang aplikasi langsung Anda ke instans Amazon RDS Anda
Setelah database up-to-date MariaDB dengan instance replikasi sumber, Anda sekarang dapat memperbarui aplikasi langsung Anda untuk menggunakan instans Amazon RDS.
Untuk mengarahkan aplikasi langsung Anda ke database MariaDB Anda dan menghentikan replikasi
-
Untuk menambahkan grup keamanan VPC untuk basis data Amazon RDS, tambahkan alamat IP server yang meng-host aplikasi. Untuk informasi selengkapnya tentang memodifikasi grup keamanan VPC, lihat Mengonfigurasi aturan grup keamanan di Panduan Pengguna Amazon Virtual Private Cloud.
-
Verifikasi bahwa
Seconds_Behind_Masterbidang dalam hasil perintah SHOW REPLICA STATUSadalah 0, yang menunjukkan bahwa replika up-to-date dengan contoh replikasi sumber. SHOW REPLICA STATUS;Untuk instance MariaDB 10.5, 10.6, 10.11, 11.4, atau 11.8 DB, gunakan prosedur alih-alih menjalankan perintah MySQL. mysql.rds_replica_status
-
Tutup semua koneksi ke sumber setelah transaksi selesai.
-
Perbarui aplikasi Anda untuk menggunakan basis data Amazon RDS. Pembaruan ini biasanya melibatkan perubahan pengaturan koneksi untuk mengidentifikasi nama host dan port basis data Amazon RDS, akun pengguna dan kata sandi untuk terhubung, dan basis data yang digunakan.
-
Hubungkan ke instans DB.
-
Hentikan replikasi untuk instans Amazon RDS dengan menjalankan perintah berikut yang menggunakan prosedur mysql.rds_stop_replication tersimpan:
CALL mysql.rds_stop_replication; -
Setel ulang konfigurasi replikasi sehingga instance ini tidak lagi diidentifikasi sebagai replika dengan menjalankan perintah berikut yang menggunakan prosedur mysql.rds_reset_external_master tersimpan di database Amazon RDS Anda:
CALL mysql.rds_reset_external_master; -
Aktifkan fitur Amazon RDS tambahan seperti dukungan Multi-AZ dan replika baca. Lihat informasi yang lebih lengkap di Mengonfigurasi dan mengelola penyebaran Multi-AZ untuk Amazon RDS dan Menggunakan replika baca instans DB.