การย้ายข้อมูล MariaDB ไปยัง Server อื่น ๆ
การย้ายข้อมูล MariaDB ไปยัง Server อื่น ๆ ทำได้หลายวิธี ขึ้นอยู่กับขนาดของฐานข้อมูลและเวลาที่ต้องการให้ระบบหยุดทำงาน (downtime) ต่อไปนี้เป็นวิธีที่นิยมใช้:
1. การใช้ mysqldump (เหมาะสำหรับฐานข้อมูลขนาดเล็กถึงปานกลาง)
- ข้อดี:
- เป็นวิธีที่ง่ายและใช้กันทั่วไป
- สามารถควบคุมการสำรองข้อมูลได้อย่างละเอียด
- ข้อเสีย:
- อาจใช้เวลานานสำหรับฐานข้อมูลขนาดใหญ่
- ต้องหยุดการทำงานของฐานข้อมูลระหว่างการสำรองข้อมูล (หากต้องการความสอดคล้องของข้อมูล 100%)
- ขั้นตอน:
- สำรองข้อมูลจากเซิร์ฟเวอร์ต้นทาง:
- ใช้คำสั่ง
mysqldump
เพื่อสร้างไฟล์สำรองข้อมูล (dump file) - ตัวอย่างคำสั่ง: Bash
mysqldump -u [ชื่อผู้ใช้] -p [ชื่อฐานข้อมูล] > backup.sql
- ใช้คำสั่ง
- ถ่ายโอนไฟล์สำรองข้อมูลไปยังเซิร์ฟเวอร์ปลายทาง:
- ใช้
scp
,sftp
หรือวิธีอื่น ๆ เพื่อคัดลอกไฟล์backup.sql
ไปยังเซิร์ฟเวอร์ใหม่
- ใช้
- นำเข้าข้อมูลไปยังเซิร์ฟเวอร์ปลายทาง:
- สร้างฐานข้อมูลบนเซิร์ฟเวอร์ปลายทาง (ถ้ายังไม่มี)
- ใช้คำสั่ง
mysql
เพื่อนำเข้าข้อมูลจากไฟล์backup.sql
- ตัวอย่างคำสั่ง: Bash
mysql -u [ชื่อผู้ใช้] -p [ชื่อฐานข้อมูล] < backup.sql
- สำรองข้อมูลจากเซิร์ฟเวอร์ต้นทาง:
2. การใช้ Percona XtraBackup (เหมาะสำหรับฐานข้อมูลขนาดใหญ่)
- ข้อดี:
- สามารถสำรองข้อมูลได้โดยไม่ต้องหยุดการทำงานของฐานข้อมูล (hot backup)
- รวดเร็วและมีประสิทธิภาพสำหรับฐานข้อมูลขนาดใหญ่
- ข้อเสีย:
- ต้องติดตั้ง Percona XtraBackup บนเซิร์ฟเวอร์ทั้งสอง
- อาจมีความซับซ้อนในการตั้งค่ามากกว่า
mysqldump
- ขั้นตอน:
- ติดตั้ง Percona XtraBackup:
- ติดตั้ง Percona XtraBackup บนเซิร์ฟเวอร์ทั้งต้นทางและปลายทาง
- สำรองข้อมูลจากเซิร์ฟเวอร์ต้นทาง:
- ใช้
xtrabackup
เพื่อสำรองข้อมูล
- ใช้
- ถ่ายโอนข้อมูลไปยังเซิร์ฟเวอร์ปลายทาง:
- คัดลอกไฟล์สำรองข้อมูลไปยังเซิร์ฟเวอร์ปลายทาง
- เตรียมข้อมูลบนเซิร์ฟเวอร์ปลายทาง:
- ใช้
xtrabackup
เพื่อเตรียมข้อมูลสำหรับการนำเข้า
- ใช้
- นำเข้าข้อมูลไปยังเซิร์ฟเวอร์ปลายทาง:
- คัดลอกข้อมูลไปยังไดเรกทอรีข้อมูลของ MariaDB บนเซิร์ฟเวอร์ปลายทาง
- ติดตั้ง Percona XtraBackup:
3. การทำ Replication (เหมาะสำหรับการย้ายข้อมูลแบบต่อเนื่อง)
- ข้อดี:
- สามารถย้ายข้อมูลแบบเรียลไทม์
- ลดเวลาหยุดทำงาน (downtime) ได้มาก
- ข้อเสีย:
- ต้องมีการตั้งค่าที่ซับซ้อน
- ต้องมีการจัดการ replication อย่างต่อเนื่อง
- ขั้นตอน:
- ตั้งค่า Replication บนเซิร์ฟเวอร์ต้นทาง:
- เปิดใช้งาน binary logging
- สร้างผู้ใช้สำหรับ replication
- ตั้งค่า Replication บนเซิร์ฟเวอร์ปลายทาง:
- ตั้งค่าให้เชื่อมต่อกับเซิร์ฟเวอร์ต้นทาง
- เริ่ม replication
- เมื่อ replication ทันกัน:
- หยุด replication
- เปลี่ยนให้แอปพลิเคชันเชื่อมต่อกับเซิร์ฟเวอร์ปลายทาง
- ตั้งค่า Replication บนเซิร์ฟเวอร์ต้นทาง:
ข้อควรระวังในการย้ายข้อมูล MariaDB ไปยัง Server อื่น ๆ
- ตรวจสอบเวอร์ชันของ MariaDB บนเซิร์ฟเวอร์ทั้งสองให้ตรงกันหรือใกล้เคียงกัน
- ตรวจสอบสิทธิ์การเข้าถึงฐานข้อมูลบนเซิร์ฟเวอร์ปลายทาง
- ทดสอบการทำงานของแอปพลิเคชันหลังจากย้ายข้อมูลเสร็จสิ้น
- ควรสำรองข้อมูลเสมอ ก่อนเริ่มดำเนินการ.
คำแนะนำเพิ่มเติม:
- หากฐานข้อมูลมีขนาดใหญ่มาก ควรพิจารณาใช้ Percona XtraBackup หรือการทำ Replication
- หากต้องการลดเวลาหยุดทำงาน (downtime) ควรพิจารณาการทำ Replication
- หากต้องการความง่ายในการใช้งาน mysqldump เป็นตัวเลือกแรกๆที่ควรใช้.