Amazon RDS - Impor Data MariaDB
Amazon RDS MariaDB menyediakan cara mudah untuk mengimpor data ke DB dan mengekspor data dari DB. Setelah kita berhasil terhubung ke database MariaDB, 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 ketika memutuskan pendekatan untuk mengimpor data ke database Amazon RDS- MariaDB.
MariaDB yang sudah ada dapat hadir di lokasi atau di instans EC2 lainnya. 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. MariaDB adalah tiruan dari MySQL, dapat menggunakan hampir semua perintah yang sama dengan MySQL.
# mysqldump -u user -p[user_password] [database_name] > backupfile.sql
Sebuah file dengan nama backupfile.sql dibuat yang berisi struktur tabel beserta data yang akan digunakan.
Menyimpan file cadangan di S3.
Unggah file cadangan yang dibuat di atas ke bucket Amazon S3 yang telah ditentukan sebelumnya di wilayah yang sama tempat database RDS MariaDB ada. Anda dapat mengikuti tautan ini untuk mempelajari tentang cara mengunggah.
Impor data dari Amazon S3 ke RDS- database MariaDB
Anda dapat menggunakan perintah Amazon CLI berikut untuk mengimpor data dari S3 ke MariaDB 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
Dari Contoh RDS- MariaDB Lain
Mungkin ada skenario ketika Anda ingin data dari RDS MariaDB DB yang ada untuk dibawa ke RDS MariaDB 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 memenuhi kebutuhan akhir kami untuk mengimpor data dari o RDS - MariaDB 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
Dari Database Apa Pun
Untuk mengimpor data dari database lain ke Amazon RDS - MariaDB, 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 contoh MariaDB yang berjalan di luar Amazon RDS.
- Tetapkan instans MariaDB 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 mysqldump untuk mentransfer data
mysqldump -h RDS instance endpoint \
-u user \
-p password \
--port=3306 \
--single-transaction \
--routines \
--triggers \
--databases database database2 \
--compress \
--compact | mysql \
-h MariaDB host \
-u master user \
-p password \
--port 3306