การนำเข้าข้อมูลขนาดใหญ่ไปยังฐานข้อมูล MySQL
การนำเข้าข้อมูลขนาดใหญ่ไปยังฐานข้อมูล MySQL ด้วย phpMyAdmin มักจะเจอข้อจำกัดเรื่องขนาดของไฟล์ที่อัปโหลดไปบน Server ทำให้การนำเข้าข้อมูลขนาดใหญ่มักจะไม่สำเร็จ
วิธีแก้อย่างง่ายในขั้นต้นคือ
ในกรณีที่มีสิทธิ root และสามารถเข้าถึง shell ของเครืองได้ วิธีนี้จะเป็นวิธีที่ง่ายและเร็วที่สุด
database_name คือชื่อของ database ที่ต้องการจะ import
path/to/database.sql คือชื่อไฟล์ sql รวม path ตามตำแหน่งที่อัปโหลดไว้ตามข้อ 1
วิธีแก้อย่างง่ายในขั้นต้นคือ
- ทำการ zip ไฟล์ก่อน ซึ่งในกระบวนการ Export ข้อมูลจาก phpMyAdmin จะมีตัวเลือกบีบอัดไฟล์ เป็น zip หรือ gz ลองเลือกดูตามความเหมาะสม แต่ปกติแล้ว gz จะได้ไฟล์ขนาดเล็กกว่า
- แบ่งข้อมูลออกเป็นหลายๆไฟล์ อาจต้องทำด้วยตัวเอง ที่ไฟล์ .sql โดยเปิดไฟล์ .sql ด้วย Texteditor แล้วมองหาคำสั่ง INSER INTO เราสามารถตัดตั้งแต่บรรทัดนี้เป็นต้นไป ไปเป็นไฟล์ sql ใหม่ได้
ในกรณีที่มีสิทธิ root และสามารถเข้าถึง shell ของเครืองได้ วิธีนี้จะเป็นวิธีที่ง่ายและเร็วที่สุด
- อัปโหลดไฟล์ไปยัง Server
- เรียกคำสั่งด้านล่าง
mysql -u root -p database_name < /path/to/database.sql
database_name คือชื่อของ database ที่ต้องการจะ import
path/to/database.sql คือชื่อไฟล์ sql รวม path ตามตำแหน่งที่อัปโหลดไว้ตามข้อ 1