Amazon RDS - Impor Ekspor DB MySQL
Amazon RDS MySQL menyediakan cara mudah untuk mengimpor data ke DB dan mengekspor data dari DB. Setelah berhasil terhubung ke database MySQL, kita dapat menggunakan alat CLI untuk menjalankan perintah impor dan ekspor untuk mendapatkan data dari sumber lain masuk dan keluar dari database RDS. Berikut adalah skenario yang perlu dipertimbangkan saat memutuskan pendekatan untuk mengimpor data ke Amazon RDS - database MySQL.
MySQL DB yang ada dapat hadir di lokasi atau di instans EC2 lain. Secara diagram apa yang kami lakukan ditunjukkan di bawah ini.
Membuat backup dari On-Premise DB
Sebagai langkah pertama, kami membuat cadangan database lokal menggunakan perintah di bawah ini.
mysqldump -u user -p[user_password] [database_name] > backupfile.sql
File dengan nama backupfile.sql dibuat yang berisi struktur tabel bersama dengan data yang akan digunakan.
Menyimpan file cadangan di S3.
Unggah file cadangan yang dibuat di atas ke keranjang Amazon S3 yang telah ditentukan sebelumnya di wilayah yang sama tempat database RDS MySQL DB ada. Anda dapat mengikuti tautan ini untuk mempelajari tentang cara mengunggah.
Impor data dari Amazon S3 ke RDS- database MySQL
Anda dapat menggunakan perintah Amazon CLI berikut untuk mengimpor data dari S3 ke MySQL DB.
aws rds restore-db-instance-from-s3 \
--allocated-storage 125 \
--db-instance-identifier tddbidentifier \
--db-instance-class db.m4.small \
--engine mysql \
--master-user-name masterawsuser \
--master-user-password masteruserpassword \
--s3-bucket-name tpbucket \
--s3-ingestion-role-arn arn:aws:iam::account-number:role/rolename \
--s3-prefix bucketprefix \
--source-engine mysql \
--source-engine-version 5.6.27
Mungkin ada skenario ketika Anda ingin data dari RDS MYSQL DB yang ada untuk dibawa ke RDS MYSQL DB lain. Misalnya, untuk membuat DB pemulihan Bencana atau membuat DB hanya untuk pelaporan bisnis, dll. Dalam skenario seperti itu, kami membuat replika baca yang merupakan salinan dari DB sumbernya dan kemudian mempromosikan replika baca tersebut ke instans DB baru. Mereka digunakan untuk mencegah pembacaan berat langsung dari sumber asli DB ketika kita ingin menyalin data.
buat replika baca
aws rds create-db-instance-read-replica \
--db-instance-identifier myreadreplica \
--source-db-instance-identifier mydbinstance
Mempromosikan replika Baca ke Instans DB
Sekarang karena kami memiliki replika, kami dapat mempromosikannya ke instans DB mandiri. Ini akan melayani kebutuhan akhir kita untuk mengimpor data dari o RDS - Mysql DB ke yang baru. Perintah berikut digunakan untuk menyelesaikan promosi replika baca ke instance db.
aws rds create-db-instance-read-replica \
--db-instance-identifier readreplica_name \
--region target_region_name
--db-subnet-group-name subnet_name
--source-db-instance-identifier arn:aws:rds:region_name:11323467889012:db:mysql_instance1
Untuk mengimpor data dari database lain ke Amazon RDS - MySQL, kami harus menggunakan Layanan Migrasi Data amazon yang juga disebut Amazon DMS. Ini menggunakan alat konversi Skema untuk menerjemahkan basis data yang ada ke platform MYSQL. Diagram di bawah menjelaskan keseluruhan proses. Ini juga bekerja pada prinsip replikasi yang serupa seperti yang dijelaskan di bagian sebelumnya.
Mengekspor data dari Amazon RDS Mysql DB adalah proses penerusan langsung yang bekerja dengan prinsip replikasi yang sama seperti yang telah kita lihat di atas. Berikut adalah langkah-langkah untuk melakukan proses ekspor.
- Mulai instance MySQL yang dijalankan secara eksternal ke Amazon RDS.
- Tetapkan instans MySQL DB sebagai sumber replikasi.
- Gunakan mysqldump untuk mentransfer database dari instans Amazon RDS ke instans di luar Amazon RDS.
Di bawah ini adalah kode untuk perintah mysqldum
mysqldump -h RDS instance endpoint \
-u user \
-p password \
--port=3306 \
--single-transaction \
--routines \
--triggers \
--databases database database2 \
--compress \
--compact | mysql \
-h MySQL host \
-u master user \
-p password \
--port 3306