Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengimpor data ke instans Amazon RDS untuk MariaDB DB dengan pengurangan waktu henti
Dalam beberapa kasus, Anda mungkin perlu mengimpor data dari database MariaDB eksternal yang mendukung aplikasi langsung ke instans RDS untuk 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 diteruskan melintasi jaringan ke AWS.
Dalam prosedur ini, Anda dapat mentransfer salinan data basis data Anda ke instans Amazon EC2 dan mengimpor data ke basis data Amazon RDS baru. Lalu Anda dapat menggunakan replikasi untuk memperbarui basis data Amazon RDS dengan instans eksternal live Anda, sebelum mengalihkan aplikasi Anda ke basis data Amazon RDS. Jika instance eksternal adalah MariaDB 10.0.24 atau lebih tinggi dan instance target adalah RDS untuk MariaDB, konfigurasikan replikasi MariaDB berdasarkan pengidentifikasi transaksi global (GTID). Jika tidak, lakukan konfigurasi pada replikasi berdasarkan koordinat log biner. Kami merekomendasikan GTID-based replikasi jika database eksternal Anda mendukungnya karena GTID-based replikasi 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 database RDS untuk MariaDB dengan downtime minimal adalah membuat salinan data sumber.
Diagram berikut menunjukkan pembuatan cadangan database MariaDB.
Anda dapat menggunakan mariadb-dump utilitas mysqldump or untuk membuat cadangan database dalam format SQL atau teks terbatas. Di MariaDB 10.5, klien disebut mariadb-dump. mariadb-dump alih-alih. mysqldump Kami menyarankan Anda melakukan uji coba dengan setiap format di lingkungan non-produksi untuk melihat metode mana yang meminimalkan jumlah waktu yang di mysqldump mariadb-dump jalankan.
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 dalam prosedur Mengimpor data dari sumber apa pun.
Sebelum 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 harus memigrasikan pengguna dan keistimewaan, pertimbangkan untuk menggunakan sebuah alat yang menghasilkan bahasa kontrol data (DCL) untuk menciptakan ulang, seperti utilitas pt-show-grants
.
Untuk 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]bagianmy.cnffile yang diperbarui:[mariadb] log-bin server-id=1 log-basename=master1 binlog-format=mixedUntuk informasi selengkapnya, lihat Meng atur Konfigurasi Sumber Replikasi
dalam dokumentasi MariaDB. -
Untuk replikasi dengan cluster Multi-AZ DB, aktifkan
gtid_strict_mode. Untuk informasi selengkapnya, lihat gtid_strict_mode dalam dokumentasi MariaDB. Peng
gtid_strict_modeaktifan tidak 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, tentukan format SQL atau teks terbatas.Untuk meningkatkan kinerja dan memastikan integritas data, gunakan
--single-transactionopsi--order-by-primarydan untukmysqldumpdanmariadb-dump.Untuk menghindari menyertakan database sistem MySQL dalam cadangan, jangan gunakan
--all-databasesopsi denganmysqldumpataumariadb-dump. Untuk informasi selengkapnya, lihat Membuat Snapshot Data Menggunakan mysqldumpdalam 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 kredenSIAL selain petunjuk yang ditunjukkan 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 kredenSIAL selain petunjuk yang ditunjukkan 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 kredenSIAL selain petunjuk yang ditunjukkan 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 dari 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 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. GTID-based J
SHOW MASTER STATUSalankan pada instance MariaDB eksternal untuk mendapatkan nama dan posisi file log biner, dan kemudian mengubahnya menjadi GTID dengan menjalankanBINLOG_GTID_POSpada instance MariaDB eksternal.SELECT BINLOG_GTID_POS('binary_log_file_name',binary_log_file_position);Perhatikan bahwa GTID dikembalikan. 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 instans Amazon EC2 yang harus 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 instance Amazon EC2 dan salin database terkompresi
Penyalinan file cadangan basis data terkompresi ke sebuah instans Amazon EC2 membutuhkan lebih sedikit sumber daya jaringan dibandingkan dengan melakukan penyalinan langsung data tidak terkompresi antar instans basis data. Setelah data Anda berada di Amazon EC2, Anda dapat menyalinnya dari sana langsung ke database MariaDB Anda. Agar Anda dapat menghemat biaya sumber daya jaringan, instans Amazon EC2 Anda harus Wilayah AWS sama dengan instans Amazon RDS DB Anda. Memiliki instans Amazon EC2 yang Wilayah AWS sama dengan database Amazon RDS Anda juga mengurangi latensi jaringan selama impor.
Diagram berikut menunjukkan menyalin cadangan database ke instans Amazon EC2.
Membuat instans Amazon EC2 dan menyalin data Anda
-
Di Wilayah AWS tempat Anda berencana untuk membuat database Amazon RDS, buat cloud pribadi virtual (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,
203.0.113.0/24—atau grup keamanan VPC lainnya. Anda dapat menggunakan konsol Amazon VPCuntuk membuat dan mengelola VPC, subnet, dan grup keamanan. Untuk informasi selengkapnya, lihat Mem ulai dengan Amazon VPC di Panduan Pengguna Amazon Virtual Private Cloud. -
Buka konsol Amazon EC2
dan pilih Wilayah AWS untuk berisi instans Amazon EC2 dan database Amazon RDS Anda. Luncurkan sebuah instans Amazon EC2 menggunakan VPC, subnet, dan grup keamanan yang Anda buat pada Langkah 1. Pastikan Anda memilih tipe instans dengan penyimpanan yang cukup untuk file cadangan basis data Anda saat tidak terkompresi. Untuk detail tentang instans Amazon EC2, lihat Mem ulai dengan Amazon EC2 di Panduan Pengguna Amazon Elastic Compute Cloud. -
Untuk terhubung ke basis data Amazon RDS Anda dari instans Amazon EC2 Anda, edit grup keamanan VPC Anda. Tambahkan aturan masuk yang menentukan alamat IP privat instans EC2 Anda. Anda dapat menemukan alamat IP pribadi pada tab Detail dari panel Instans dalam jendela konsol EC2. Untuk mengedit grup keamanan VPC dan menambahkan aturan masuk, pilih Grup Keamanan dalam panel navigasi konsol EC2, pilih grup keamanan Anda, lalu tambahkan aturan masuk untuk MySQL atau Aurora yang menentukan alamat IP privat instans EC2 Anda. 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 Anda dari sistem lokal ke instans Amazon EC2 Anda. Gunakan
chmod, jika perlu, untuk memastikan bahwa Anda memiliki izin menulis untuk direktori target instans Amazon EC2. Anda dapat menggunakanscpatau klien Secure Shell (SSH) untuk menyalin file. Perintah berikut adalah contohscpperintah: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 instans Amazon EC2 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 Mengh ubungkan ke instans Anda untuk instans Linux di Panduan Pengguna Amazon Elastic Compute Cloud dan Konektor MariaDB
dalam dokumentasi MariaDB. -
Saat terhubung ke instans Amazon EC2, dekompresi file cadangan basis data Anda. Perintah berikut adalah contoh.
-
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: Buat database MariaDB dan impor data dari instans Amazon EC2 Anda
Dengan membuat instance RDS untuk MariaDB DB yang Wilayah AWS sama dengan instans Amazon EC2 Anda, Anda dapat mengimpor file cadangan database dari Amazon EC2 lebih cepat daripada melalui internet.
Diagram berikut menunjukkan mengimpor cadangan dari instans Amazon EC2 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 MariaDB sumber. Untuk informasi selengkapnya, lihat Kelas instans DB.
-
Buat instance DB Wilayah AWS yang berisi instans Amazon EC2 Anda. Ikuti petunjuk di dalam Membuat instans DB Amazon RDS dan gunakan pedoman berikut:
-
Tentukan versi mesin DB yang kompatibel dengan instance DB sumber Anda.
-
Tentukan cloud privat virtual (VPC) dan grup keamanan VPC yang sama untuk instans Amazon EC2 Anda. Pendekatan ini memastikan bahwa instans Amazon EC2 dan instans Amazon RDS Anda terlihat oleh satu sama lain pada 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. Ketika impor selesai, Anda dapat mengonfigurasi Multi-AZ dan mencadangkan retensi untuk instance 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, lihatKelompok parameter untuk Amazon RDS.
-
Hubungkan ke basis data Amazon RDS baru sebagai pengguna master. Buat pengguna yang diperlukan untuk mendukung administrator, aplikasi, dan layanan yang perlu mengakses instance 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 titik akhir dalam detail database di konsol Amazon RDS. -
Hubungkan ke instans Amazon EC2 Anda. Untuk informasi selengkapnya, lihat Menghubungkan ke instans Anda untuk instans Linux di Panduan Pengguna Amazon Elastic Compute Cloud.
-
Hubungkan ke basis data Amazon RDS Anda sebagai sebuah host jarak jauh dari instans Amazon EC2 Anda menggunakan perintah
mysql. Perintah berikut adalah contoh:mysql -hhost_name-P 3306 -udb_master_user-pIni
host_nameadalah titik akhir database Amazon RDS. -
Pada
mysqlprompt, jalankansourceperintah dan berikan nama file dump database Anda. Perintah ini memuat data ke dalam instance Amazon RDS DB.-
Untuk format SQL, gunakan perintah berikut:
MariaDB [(none)]> source backup.sql; -
Untuk format teks terbatas, pertama buat database, jika itu 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 instans Amazon EC2 yang digunakan dalam prosedur ini, hentikan instans EC2 untuk mengurangi penggunaan AWS sumber daya Anda. Untuk mengakhiri instans EC2, lihat Meng akhiri instance di Panduan Pengguna Amazon Elastic Compute Cloud.
Tugas 4: Mereplikasi data dari database eksternal Anda ke database Amazon RDS baru Anda
Basis data sumber Anda kemungkinan diperbarui selama waktu yang diperlukan untuk menyalin dan mentransfer data ke database MariaDB. Anda dapat menggunakan replikasi untuk memperbarui database yang disalin dengan basis data 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 memulai replikasi
Memulai replikasi
Di Tugas 1, saat Anda menetapkan opsi replikasi, Anda mengaktifkan logging biner dan menetapkan ID server unik untuk database sumber Anda. Sekarang, Anda dapat mengatur database Amazon RDS Anda sebagai replika dengan database langsung Anda sebagai instance replikasi sumber.
-
Di konsol Amazon RDS, tambahkan alamat IP server yang menghosting database 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_nameIni
host_nameadalah nama DNS dari titik akhir database Amazon RDS, misalnyamyinstance.123456789012.us-east-1.rds.amazonaws.com. Anda dapat menemukan nilai titik akhir di 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 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 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 pada 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 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 pada 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 pribadi EC2 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 ter mysql.rds_start_replication simpan:
CALL mysql.rds_start_replication; -
Pada database Amazon RDS, untuk menentukan kapan replika diperbarui dengan instance replikasi sumber, jalankan perintah
SHOW REPLICA STATUS. Hasil perintah SHOW REPLICA STATUSmencakup bidangSeconds_Behind_Master. Saat bidangSeconds_Behind_Mastermenampilkan 0, maka replika tersebut sudah diperbarui dengan instans replikasi sumber.Untuk MariaDB 10.5 atau instance DB yang lebih tinggi, gunakan prosedur tersimpan mysql.rds_replica_status alih-alih menjalankan perintah SQL.
-
Setelah basis data Amazon RDS diperbarui, aktifkan pencadangan otomatis sehingga Anda dapat memulihkan basis data 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 aplikasi langsung Anda ke instans Amazon RDS Anda
Setelah database MariaDB diperbarui 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.
-
Pastikan bahwa bidang
Seconds_Behind_Masterdalam hasil perintah SHOW REPLICA STATUSadalah 0, yang mengindikasikan bahwa replika diperbarui dengan instans replikasi sumber. SHOW REPLICA STATUS;Untuk MariaDB 10.5 atau instance DB yang lebih tinggi, gunakan mysql.rds_replica_status prosedur alih-alih menjalankan perintah SQL.
-
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 ter mysql.rds_stop_replication simpan:
CALL mysql.rds_stop_replication; -
Setel ulang konfigurasi replikasi sehingga instance ini tidak lagi diidentifikasi sebagai replika dengan menjalankan perintah berikut yang menggunakan prosedur ter mysql.rds_reset_external_master simpan di database Amazon RDS Anda:
CALL mysql.rds_reset_external_master; -
Aktifkan fitur Amazon RDS tambahan seperti Multi-AZ dukungan dan baca replika. Lihat informasi yang lebih lengkap di Mengkonfigurasi dan mengelola Multi-AZ penyebaran untuk Amazon RDS dan Menggunakan replika baca instans DB.