GORAGOD.com

การนำเข้าข้อมูลขนาดใหญ่ไปยังฐานข้อมูล MySQL

การนำเข้าข้อมูลขนาดใหญ่ไปยังฐานข้อมูล MySQL ด้วย phpMyAdmin มักจะเจอข้อจำกัดเรื่องขนาดของไฟล์ที่อัปโหลดไปบน Server ทำให้การนำเข้าข้อมูลขนาดใหญ่มักจะไม่สำเร็จ

วิธีแก้อย่างง่ายในขั้นต้นคือ
  1. ทำการ zip ไฟล์ก่อน ซึ่งในกระบวนการ Export ข้อมูลจาก phpMyAdmin จะมีตัวเลือกบีบอัดไฟล์ เป็น zip หรือ gz ลองเลือกดูตามความเหมาะสม แต่ปกติแล้ว gz จะได้ไฟล์ขนาดเล็กกว่า
  2. แบ่งข้อมูลออกเป็นหลายๆไฟล์ อาจต้องทำด้วยตัวเอง ที่ไฟล์ .sql โดยเปิดไฟล์ .sql ด้วย Texteditor แล้วมองหาคำสั่ง INSER INTO เราสามารถตัดตั้งแต่บรรทัดนี้เป็นต้นไป ไปเป็นไฟล์ sql ใหม่ได้

ในกรณีที่มีสิทธิ root และสามารถเข้าถึง shell ของเครืองได้ วิธีนี้จะเป็นวิธีที่ง่ายและเร็วที่สุด
  1. อัปโหลดไฟล์ไปยัง Server
  2. เรียกคำสั่งด้านล่าง
mysql -u root -p database_name < /path/to/database.sql

database_name คือชื่อของ database ที่ต้องการจะ import
path/to/database.sql คือชื่อไฟล์ sql รวม path ตามตำแหน่งที่อัปโหลดไว้ตามข้อ 1