การย้ายข้อมูล MariaDB ไปยัง Server อื่น ๆ

การย้ายข้อมูล MariaDB ไปยัง Server อื่น ๆ

การย้ายข้อมูล MariaDB ไปยัง Server อื่น ๆ ทำได้หลายวิธี ขึ้นอยู่กับขนาดของฐานข้อมูลและเวลาที่ต้องการให้ระบบหยุดทำงาน (downtime) ต่อไปนี้เป็นวิธีที่นิยมใช้:

1. การใช้ mysqldump (เหมาะสำหรับฐานข้อมูลขนาดเล็กถึงปานกลาง)

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

2. การใช้ Percona XtraBackup (เหมาะสำหรับฐานข้อมูลขนาดใหญ่)

  • ข้อดี:
    • สามารถสำรองข้อมูลได้โดยไม่ต้องหยุดการทำงานของฐานข้อมูล (hot backup)
    • รวดเร็วและมีประสิทธิภาพสำหรับฐานข้อมูลขนาดใหญ่
  • ข้อเสีย:
    • ต้องติดตั้ง Percona XtraBackup บนเซิร์ฟเวอร์ทั้งสอง
    • อาจมีความซับซ้อนในการตั้งค่ามากกว่า mysqldump
  • ขั้นตอน:
    1. ติดตั้ง Percona XtraBackup:
      • ติดตั้ง Percona XtraBackup บนเซิร์ฟเวอร์ทั้งต้นทางและปลายทาง
    2. สำรองข้อมูลจากเซิร์ฟเวอร์ต้นทาง:
      • ใช้ xtrabackup เพื่อสำรองข้อมูล
    3. ถ่ายโอนข้อมูลไปยังเซิร์ฟเวอร์ปลายทาง:
      • คัดลอกไฟล์สำรองข้อมูลไปยังเซิร์ฟเวอร์ปลายทาง
    4. เตรียมข้อมูลบนเซิร์ฟเวอร์ปลายทาง:
      • ใช้ xtrabackup เพื่อเตรียมข้อมูลสำหรับการนำเข้า
    5. นำเข้าข้อมูลไปยังเซิร์ฟเวอร์ปลายทาง:
      • คัดลอกข้อมูลไปยังไดเรกทอรีข้อมูลของ MariaDB บนเซิร์ฟเวอร์ปลายทาง

3. การทำ Replication (เหมาะสำหรับการย้ายข้อมูลแบบต่อเนื่อง)

  • ข้อดี:
    • สามารถย้ายข้อมูลแบบเรียลไทม์
    • ลดเวลาหยุดทำงาน (downtime) ได้มาก
  • ข้อเสีย:
    • ต้องมีการตั้งค่าที่ซับซ้อน
    • ต้องมีการจัดการ replication อย่างต่อเนื่อง
  • ขั้นตอน:
    1. ตั้งค่า Replication บนเซิร์ฟเวอร์ต้นทาง:
      • เปิดใช้งาน binary logging
      • สร้างผู้ใช้สำหรับ replication
    2. ตั้งค่า Replication บนเซิร์ฟเวอร์ปลายทาง:
      • ตั้งค่าให้เชื่อมต่อกับเซิร์ฟเวอร์ต้นทาง
      • เริ่ม replication
    3. เมื่อ replication ทันกัน:
      • หยุด replication
      • เปลี่ยนให้แอปพลิเคชันเชื่อมต่อกับเซิร์ฟเวอร์ปลายทาง

ข้อควรระวังในการย้ายข้อมูล MariaDB ไปยัง Server อื่น ๆ

  • ตรวจสอบเวอร์ชันของ MariaDB บนเซิร์ฟเวอร์ทั้งสองให้ตรงกันหรือใกล้เคียงกัน
  • ตรวจสอบสิทธิ์การเข้าถึงฐานข้อมูลบนเซิร์ฟเวอร์ปลายทาง
  • ทดสอบการทำงานของแอปพลิเคชันหลังจากย้ายข้อมูลเสร็จสิ้น
  • ควรสำรองข้อมูลเสมอ ก่อนเริ่มดำเนินการ.

คำแนะนำเพิ่มเติม:

  • หากฐานข้อมูลมีขนาดใหญ่มาก ควรพิจารณาใช้ Percona XtraBackup หรือการทำ Replication
  • หากต้องการลดเวลาหยุดทำงาน (downtime) ควรพิจารณาการทำ Replication
  • หากต้องการความง่ายในการใช้งาน mysqldump เป็นตัวเลือกแรกๆที่ควรใช้.
Spread the love