Amazon RDS - การนำเข้าข้อมูล MariaDB
Amazon RDS MariaDB มีวิธีง่ายๆในการนำเข้าข้อมูลไปยังฐานข้อมูลและส่งออกข้อมูลจากฐานข้อมูล หลังจากที่เราสามารถเชื่อมต่อกับฐานข้อมูล MariaDB ได้สำเร็จแล้วเราสามารถใช้เครื่องมือ CLI เพื่อเรียกใช้คำสั่งนำเข้าและส่งออกเพื่อรับข้อมูลจากแหล่งอื่นเข้าและออกจากฐานข้อมูล RDS
ด้านล่างนี้เป็นสถานการณ์ที่ต้องพิจารณาเมื่อตัดสินใจเลือกแนวทางการนำเข้าข้อมูลไปยังฐานข้อมูล Amazon RDS- MariaDB
MariaDB ที่มีอยู่สามารถนำเสนอในสถานที่ตั้งหรือในอินสแตนซ์ EC2 อื่น แผนภาพสิ่งที่เราทำแสดงอยู่ด้านล่าง
การสร้างข้อมูลสำรองจาก On-Premise DB
ในขั้นตอนแรกเราจะสร้างข้อมูลสำรองของฐานข้อมูลในองค์กรโดยใช้คำสั่งด้านล่าง MariaDB เป็นโคลนของ MySQL สามารถใช้คำสั่งเดียวกับ MySQL ได้เกือบทั้งหมด
# mysqldump -u user -p[user_password] [database_name] > backupfile.sql
ไฟล์ที่มีชื่อ backupfile.sql ถูกหยุดซึ่งมีโครงสร้างตารางพร้อมกับข้อมูลที่จะใช้
การจัดเก็บไฟล์สำรองใน S3
อัปโหลดไฟล์สำรองที่สร้างขึ้นด้านบนไปยังที่เก็บข้อมูล Amazon S3 ที่กำหนดไว้ล่วงหน้าในภูมิภาคเดียวกับที่มีฐานข้อมูล RDS MariaDB เป้าหมายอยู่ คุณสามารถไปที่ลิงค์นี้เพื่อเรียนรู้เกี่ยวกับวิธีการอัปโหลด
นำเข้าข้อมูลจาก Amazon S3 ไปยังฐานข้อมูล RDS- MariaDB
คุณสามารถใช้คำสั่ง Amazon CLI ต่อไปนี้เพื่อนำเข้าข้อมูลจาก S3 ไปยัง 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
จากอินสแตนซ์ RDS- MariaDB อื่น
อาจมีสถานการณ์สมมติเมื่อคุณต้องการให้ข้อมูลจาก RDS MariaDB DB ที่มีอยู่ถูกนำไปยัง RDS MariaDB อื่น ตัวอย่างเช่นเพื่อหยุดการทำงานของฐานข้อมูลการกู้คืนความเสียหายหรือสร้างฐานข้อมูลเฉพาะสำหรับการรายงานทางธุรกิจเป็นต้นในสถานการณ์ดังกล่าวเราสร้างแบบจำลองการอ่านซึ่งเป็นสำเนาของฐานข้อมูลต้นทางของพวกเขา ใช้เพื่อป้องกันการอ่านหนักโดยตรงจากฐานข้อมูลต้นฉบับเมื่อเราต้องการคัดลอกข้อมูล
สร้างแบบจำลองการอ่าน
aws rds create-db-instance-read-replica \
--db-instance-identifier myreadreplica \
--source-db-instance-identifier mydbinstance
โปรโมตแบบจำลองการอ่านไปยังอินสแตนซ์ DB
ตอนนี้เมื่อเรามีแบบจำลองแล้วเราสามารถโปรโมตเป็นอินสแตนซ์ DB แบบสแตนด์อโลนได้ สิ่งนี้จะตอบสนองความต้องการขั้นสุดท้ายของเราในการนำเข้าข้อมูลจาก o RDS - MariaDB DB ไปยังข้อมูลใหม่ คำสั่งต่อไปนี้ใช้เพื่อดำเนินการส่งเสริมการจำลองการอ่านไปยังอินสแตนซ์ 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
จากฐานข้อมูลใดก็ได้
ในการนำเข้าข้อมูลจากฐานข้อมูลอื่นไปยัง Amazon RDS - MariaDB เราต้องใช้บริการการย้ายข้อมูลของ amazon หรือที่เรียกว่า Amazon DMS ใช้เครื่องมือการแปลง Schema เพื่อแปลฐานข้อมูลที่มีอยู่เป็นแพลตฟอร์ม MYSQL แผนภาพด้านล่างอธิบายกระบวนการโดยรวม นอกจากนี้ยังทำงานบนหลักการจำลองแบบที่คล้ายกันตามที่อธิบายไว้ในส่วนก่อนหน้า
การส่งออกข้อมูลจาก Amazon RDS Mysql DB เป็นกระบวนการส่งต่อโดยตรงซึ่งทำงานบนหลักการจำลองแบบเดียวกับที่เราได้เห็นข้างต้น ด้านล่างนี้เป็นขั้นตอนในการดำเนินกระบวนการส่งออก
- เริ่มอินสแตนซ์ของ MariaDB ที่รันภายนอกไปยัง Amazon RDS
- กำหนดอินสแตนซ์ MariaDB DB ให้เป็นแหล่งการจำลองแบบ
- ใช้ mysqldump เพื่อถ่ายโอนฐานข้อมูลจากอินสแตนซ์ Amazon RDS ไปยังอินสแตนซ์ภายนอกไปยัง Amazon RDS
ด้านล่างนี้คือรหัสสำหรับคำสั่ง mysqldump เพื่อถ่ายโอนข้อมูล
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