ในการย้ายโฮสต์ บางครั้งมีปัญหา นั่นคือไฟล์ฐานข้อมูลมีขนาดใหญ่ ทำให้เวลานำเข้าฐานข้อมูลสู่โฮสต์ใหม่นั้น เกิดข้อผิดพลาด ไม่สามารถนำเข้าข้อมูลได้ ซึ่งโดยปกติแล้วหากไฟล์มีขนาดเล็ก เราก็สามารถนำเข้าผ่านทาง phpmyadmin ได้ไม่มีปัญหา
บทความนี้จะเสนอการแก้ปัญหาดังกล่าว โดยใช้สคริปต์ BigDump ช่วยในการนำเข้าฐานข้อมูลขนาดใหญ่สู่โฮสต์ใหม่
ในขั้นตอนแรก คุณจะต้องสร้างฐานข้อมูล กำหนดชื่อผู้ใช้และรหัสผ่านบนโฮสต์ใหม่ ให้เรียบร้อยเสียก่อน
เมื่อสร้างฐานข้อมูลแล้ว เมื่อเข้าตรวจสอบข้อมูลผ่าน phpmyadmin ก็จะไม่มีตารางข้อมูลใด ๆ
ให้ดาวน์โหลดสคริปต์ bigdump มาแล้วทำการขยายไฟล์ ก็จะได้ไฟล์ bigdump.php แล้วใช้ text editor เช่น EditPlus เปิดไฟล์นี้ขึ้นมา
แล้วทำการแก้ไขตรงบรรทัด 40 เป็นต้นไป
- $db_server ชื่อ server
- $db_name ชื่อฐานข้อมูล
- $db_username ชื่อผู้ใช้
- $db_password รหัสผ่าน
จากนั้นให้คุณสร้างโฟลเดอร์เปล่า ๆ บนโฮสต์ของคุณเช่น โฟลเดอร์ dump แล้วทำการอัพโหลดไฟล์ bigdump.php และไฟล์ .sql ฐานข้อมูลที่คุณต้องการนำเข้าไปยังโฮสต์ใหม่ ไปไว้ในโฟลเดอร์ dump
จากนั้นให้ทำการเรียกสคริปต์ผ่านเบราเซอร์ เช่น http://yourdomain.com/dump/bigdump.php หรือในกรณีที่โดเมนยังไม่ได้อัพเดทชี้มายังโฮสต์ใหม่ ก็สามารถเรียกผ่านทาง http://123.45.67.89/~your_account/dump/bigdump.php (ตาม url ที่คุณได้รับเมื่อสมัครโฮสตติ้ง)
เมื่อเรียกสคริปต์ ก็จะปรากฏรายชื่อไฟล์ .sql ที่เป็นข้อมูลที่เราจะนำเข้าสู่ฐานข้อมูลของโฮสต์ใหม่
ให้ทำการคลิกที่ Start import เพื่อเริ่มนำข้อมูลจากไฟล์ .sql เข้าสู่ฐานข้อมูลบนโฮสต์ใหม่
หลังจากที่นำข้อมูลเข้าสู่ฐานข้อมูลเสร็จแล้ว ก็จะปรากฏข้อความแสดงความยินดีตัวหนังสือสีเขียว ๆ
เข้าไปยัง phpmyadmin ตรวจสอบข้อมูลต่าง ๆ ว่าเรียบร้อยตามที่เราต้องการหรือไม่
หลังจากที่ได้ทำการนำเข้าข้อมูลเสร็จแล้วให้ลบข้อมูลและโฟลเดอร์ของ dump ทิ้ง ในกรณีที่การนำเข้าผ่าน phpmyadmin แล้วข้อมูลได้ไม่ครบ ให้เราทำการลบข้อมูลออกก่อน โดยลบผ่าน phpmyadin แล้วจึงทำการนำเข้าโดยผ่าน bigdump.php
ในกรณีที่มีข้อมูลหลาย ๆ ฐานข้อมูล เช่น ในโฮสต์เดียวกันที่เราสามารถเพิ่มได้หลายโดเมน และแต่ละโดเมนนั้นก็มีฐานข้อมูลเฉพาะของโดเมน เราสามารถนำเข้าข้อมูลได้จากโฟลเดอร์เดียวกัน กล่าวคือนำไฟล์ .sql มาไว้ในโฟลเดอร์เดียวกัน แล้วก็ทำการแก้ไขไฟล์ bigdump.php ตามข้อมูลของแต่ละฐานข้อมูล ของแต่ละโดเมน แล้วทำการเรียกไฟล์ bigdump.php แล้วเลือกฐานข้อมูล .sql ตามข้อมูลที่จะนำเข้าไปยังฐานข้อมูลที่ระบุไว้ในไฟล์ bigdump.php
หากใช้งานปกติแล้วยังมีปัญหาเกิดขึ้นมาเนื่องจากไฟล์มีขนาดใหญ่มาก ให้แก้ไขบรรทัด
- $linespersession = 3000; เหลือเพียง 2000 เป็นการระบุจำนวนบรรทัดที่จะทำงานต่อหนึ่งเซสชั่นการนำเข้า
- $delaypersession = 0; เพิ่มตัวเลขเป็น 1000 เพื่อให้เซิร์ฟเวอร์พักหลังแต่ละเซสชั่น จะทำงานเมื่อเปิด JavaScript เท่านั้น ใช้เพื่อไม่ให้เซิร์ฟเวอร์ทำงานหนักจนเกินไป
หวังว่าบทความนี้คงจะช่วยให้คุณสามารถนำเข้าข้อมูลไปยังโฮสต์ใหม่ได้อย่างไม่มีปัญหานะครับ
โห บทความเว็ปคุณนี่เยี่ยมไปเลยครับ ผมเพิ่งมาเจอได้ไง
ขอบคุณครับ..
หา BigDump มานานละ
เขียนได้ละเอียดดีครับ
เข้าใจเลยครับ