การ Import ข้อมูลจาก MySQL Workbench บน Windows Server ไปยัง RDS

การ Import ข้อมูลไปยัง RDS สามารถใช้ MySQL Workbench ในการ Run ข้อมูลลง Database ของ RDS ได้ ซึ่งเป็นวิธีที่สะดวกในการ Import ข้อมูลจำนวนมาก ดังนั้นครั้งนี้จะมาแนะนำการ Import ข้อมูลจาก MySQL Workbench บน Windows Server ไปยัง RDS ในบทความนี้ครับ

สวัสดีครับ POP จากบริษัท Classmethod (Thailand) ครับ

เราไม่สามารถจัดการ DB ของ RDS Instance ได้โดยตรง แต่เราสามารถเชื่อมต่อ EC2 Instance (เช่น Amazon Linux 2 หรือ Windows Server) และ RDS เข้าด้วยกันได้ ก็จะทำให้สามารถจัดการ DB ของ RDS Instance ผ่าน EC2 Instance ได้
แต่ครั้งนี้ผมจะมาแนะนำวิธีการจัดการ DB ของ RDS Instance ผ่าน EC2 (Windows Server) โดยใช้โปรแกรม MySQL Workbench ที่ติดตั้งใน Windows Server และทำการ Import ข้อมูลไปยัง RDS (MySQL) เนื่องจากวิธีการนี้จะทำให้เราสามารถ Import ข้อมูลในปริมาณงานที่มากและรวดเร็วได้ครับ

เป้าหมาย

สร้าง Windows Server ใน EC2 และสร้าง RDS (MySQL) จากนั้นเข้าไปที่ Windows Server แล้วติดตั้ง MySQL Workbench แล้วเชื่อมต่อกับ RDS (MySQL) และ Import ข้อมูลไปยัง RDS (MySQL)

ครั้งนี้จะดำเนินการบน AWS Management Console และบน Remote Desktop Connection (Windows Server ใน EC2)

สร้าง Windows Server ใน EC2

ขั้นตอนนี้ดำเนินการใน AWS Management Console

ดูตัวอย่างการสร้าง Windows Server ได้ที่ลิงก์ด้านล่างนี้ครับ

ตัวอย่างตั้งค่าการสร้าง Windows Server ใน EC2

※Create Key pairs
Key pairs: tinnakorn-import-win (ป้อนชื่อที่ต้องการ)
Key pair type: RSA
Private key file format: .pem

※Launch instances
Name and tags
Name: tinnakorn-import-win (ป้อนชื่อที่ต้องการ)

Application and OS Images (Amazon Machine Image)
Amazon Machine Image (AMI): Microsoft Windows Server 2022 Base

Instance type
Instance type: t3a.medium (เลือกสเปคตามต้องการ)

Key pair (login)
Key pair name - required: tinnakorn-import-win (key pair ที่สร้างขึ้นเมื่อสักครู่นี้)

Network settings
Firewall (security groups)
Security group name - required: tinnakorn-import-win (ตั้งชื่อที่ต้องการ)
Description - required: tinnakorn-import-win (ป้อนตามต้องการ)
Inbound security groups rules
▼ Security group rule 1 (TCP, 3389, xx.xx.xx.xx/32)
Type: rdp | Source type: My IP | Source: xx.xx.xx.xx/32

Configure storage
1x: 30 GiB gp2 Root volume (Default)

สร้าง RDS (MySQL)

ขั้นตอนนี้ดำเนินการใน AWS Management Console

ครั้งนี้ผมจะสร้าง RDS เป็น Engine type MySQL เพราะต้องการ Import ข้อมูลจาก MySQL Workbench ไปยัง RDS (MySQL) ครับ
นอกจากนี้เราสามารถใช้ RDS ที่เป็น Engine type อื่นๆ ที่ต้องการได้ หรือจะทำการติดตั้งโปรแกรมอื่นๆ ที่ใช้จัดการ MySQL ใน Windows Server ได้เช่นกันครับ

ดูรายละเอียดเกี่ยวกับวิธีการสร้าง RDS ได้ที่ลิงก์และตัวอย่างด้านล่างนี้ครับ

ตัวอย่างตั้งค่าการสร้าง RDS (MySQL)

※สร้าง Security Group สำหรับ RDS (MySQL)
Basic details
Security group name: tinnakorn-import-db (ตั้งชื่อที่ต้องการ)
Description: tinnakorn-import-db (ป้อนตามต้องการ)

Inbound rules
Type: MYSQL/Aurora | Source: Custom | tinnakorn-import-win (พิมพ์ค้นหาและเลือกชื่อ EC2 Instance ที่ต้องการให้เชื่อมต่อเข้ามา)

※Create RDS (MySQL)
Choose a database creation method
◎ Standard create

Engine options
Engine type: MySQL
Edition: MySQL Community
Engine Version: MySQL 8.0.34

Templates
◎ Production

Availability and durability
Deployment options: Single DB instance

Settings
DB instance identifier: tinnakorn-import-db
▼ Credentials Settings
Master username: admin
Master password: PassW0rd (รหัสผ่านนี้เป็นแค่ตัวอย่าง ให้ป้อนรหัสผ่านที่ต้องการ)
Confirm master password: PassW0rd

Instance configuration
DB instance class:
◎ Burstable classes (includes t classes)
db.t3.micro

Storage
Storage type: General Purpose SSD (gp2)
Allocated storage: 20
▼ Storage autoscaling
✅ Enable storage autoscaling

Connectivity
Existing VPC security groups: ✅ tinnakorn-import-db (เลือก Security Group ที่สร้างสำหรับ RDS (MySQL))

ติดตั้ง MySQL Workbench

ขั้นตอนนี้ดำเนินการใน Remote Desktop Connection

Login เข้ามาที่ Windows Server ผ่าน Remote Desktop Connection แล้วเปิดเบราว์เซอร์ Microsoft Edge ขึ้นมา
แล้วค้นหาคำว่า MySQL Workbench และคลิก Download หรือจะคัดลอกลิงก์ด้านล่างนี้ไปเปิดใน Remote Desktop Connection ก็ได้

https://www.mysql.com/products/workbench/

คลิกบริเวณในช่องสีแดง

เลือก Select Operating System: Microsoft Windows และคลิก Download

คลิก No thanks, just start my download. แล้วเบราว์เซอร์จะดาวน์โหลดไฟล์ mysql-workbench-community-8.0.xx-winx64 จากนั้นคลิก Open file ได้เลย

แล้วเริ่มติดตั้ง MySQL Workbench ตามนี้ได้เลยครับ

เชื่อมต่อ RDS (MySQL)

ขั้นตอนนี้ดำเนินการใน Remote Desktop Connection

ค้นหา MySQL Workbench แล้วเลือก MySQL Workbench 8.0 CE

เมื่อเปิดขึ้นมาแล้วจะแสดงหน้าจอแบบนี้ จากนั้นเลือกแท็บ Database และเลือก Connect to Database...

ไปที่หน้า AWS Management Console แล้วเข้าไปที่ Service 「RDS > Database ของเรา」 แล้วคัดลอก Endpoint เตรียมไว้

กลับมาที่ Remote Desktop Connection แล้วป้อนข้อมูลตามนี้
» Hostname: วาง Endpoint ที่คัดลอกมาจากขั้นตอนที่แล้ว
» Username: admin (ป้อนตามที่สร้างใน RDS (MySQL))
» Password: คลิก Store in Vault...

ป้อน Password ที่สร้างใน RDS (MySQL) แล้วคลิก OK และคลิก OK อีกครั้งเพื่อเชื่อมต่อไปยัง RDS (MySQL)

รอการเชื่อมต่อสักครู่

เมื่อสามารถเชื่อมต่อได้แล้วจะแสดงหน้าจอแบบนี้

Import ข้อมูลจาก MySQL Workbench บน Windows Server ไปยัง RDS (MySQL)

ขั้นตอนนี้ดำเนินการใน Remote Desktop Connection

ตรวจสอบ Administration และ Schemas เบื้องต้น

คลิก Administration และคลิก Server Status ก็จะเห็น Status ของ Database RDS (MySQL) (สามารถคลิกเปิด/ปิดหน้าต่างล่างและขวาได้ที่มุมขวาบน)

คลิก Schemas ก็จะเห็น Database เริ่มต้นของระบบแสดงอยู่
*สมมติถ้าเรา Import ข้อมูลไปยัง RDS (MySQL) แล้ว ข้อมูลนั้นก็จะแสดงในนี้ ซึ่งจะอธิบายภายหลัง

Download Example Databases

คัดลอกลิงก์ด้านล่างนี้ไปเปิดที่เบราว์เซอร์ใน Remote Desktop Connection

https://dev.mysql.com/doc/index-other.html

แล้วเลื่อนลงมาที่หัวข้อ Example Databases แล้วคลิก Zip ที่แถวของ world database จากนั้นเบราว์เซอร์จะเริ่มโหลดไฟล์ เมื่อเสร็จแล้วคลิกที่ไอคอนโฟลเดอร์เพื่อไปที่อยู่ของไฟล์

แล้วแตกไฟล์ที่ดาวน์โหลดมา (ครั้งนี้แตกไฟล์ไว้ที่หน้า Desktop) แล้วเปิดไฟล์ดู เลื่อนลงมาด้านล่างนิดน่อยก็จะแสดงข้อมูลแบบนี้

Import ข้อมูลไปยัง RDS (MySQL)

กลับมาที่โปรแกรม MySQL Workbench แล้วคลิก File และเลือก Open SQL Script...

แล้ว Open ไฟล์ world ที่แตกออกมาเมื่อสักครู่นี้

เมื่อ Open ไฟล์เสร็จแล้ว เลื่อนลงมาด้านล่างนิดน่อยก็จะแสดงข้อมูลแบบนี้ จากนั้นให้คลิกไอคอน 「⚡️ Execute the selected portion of the script or everything, if there is no selection」 เพื่อดำเนินการ Run ข้อมูลลง RDS (MySQL)

ระหว่างที่ระบบกำลัง Run ข้อมูลนั้น เราสามารถคลิกที่มุมขวาบนเพื่อเปิดหน้าต่างด้านล่างแล้วดูสถานะ Action Output ได้

เมื่อ Run ข้อมูลเสร็จแล้ว ดูที่ช่อง Schemas ด้านซ้าย แล้วคลิกปุ่ม Refresh ก็จะเห็น Database world ถูกเพิ่มขึ้นมาแล้ว ทีนี้เรามาตรวจสอบเนื้อหาข้างในกันครับ

คลิก ▶ Tables แล้วคลิกขวา ▶ country และเลือก Select Rows - Limit 1000

แล้วจะเห็นข้อมูลต่างๆใน Table country นี้ (คลิกปิดหน้าต่างล่างที่มุมขวาบน)

ต่อไปคลิกขวา ▶ city และเลือก Select Rows - Limit 1000 แล้วจะเห็นข้อมูลต่างๆใน Table city นี้

เพียงเท่านี้การ Import ข้อมูลก็เสร็จเรียบร้อยครับ

สรุป

จากที่ผมได้ลองใช้ MySQL Workbench ทำการ Import ข้อมูลไปยัง RDS (MySQL) แล้ว ผมคิดว่าเป็นอีกช่องทางนึงที่สามารถสร้างฐานข้อมูลขนาดใหญ่ได้อย่างรวดเร็วมากๆ ไม่ว่าจะเป็นการสร้างฐานข้อมูลจากไฟล์ SQL ของฐานข้อมูลเก่า หรือจะสร้างฐานข้อมูลขึ้นมาใหม่ ก็สามารถทำได้ง่ายๆ ผ่าน MySQL Workbench นี้ได้เลยครับ

ผมหวังว่าบทความนี้จะเป็นประโยชน์ให้กับผู้อ่านได้นะครับ

POP จากบริษัท Classmethod (Thailand) ครับ !

บทความที่เกี่ยวข้อง