อยู่ดีๆวันนี้ก็งานเข้า เรื่องมันมีอยู่ว่า อยู่ดีก็มีลูกค้ารายนึงต้องการให้ Import ไฟล์ .sql เข้า MySQL

จริงๆแล้วมันไม่ยากหรอกครับที่จะ Import Database แต่มันติดตรงที่ว่า ไฟล์ sql เจ้าปัญหาตัวนี้

มีขนาดถึง 33MB ครับ sql ก็ประมาณ 20,000 กว่าบรรทัด ทำไงดีล่ะครับ เลยคิดได้อย่างนี้

1. เอาไป zip แล้ว import เข้าเลย หลังจากคิดแล้วก็ลอง ปรากฎว่า zip แล้วเหลือ 2MB กว่า

แต่พอเอาไป import แล้วก็ไม่ได้ timeout เสียก่อน ใจจริงอยากตั้ง timeout มากขึ้นแต่ไม่อยากไปเซ็ตเพิ่ม

เนื่องจากลูกค้าใช้งานกันหลายราย เลยไม่สำเร็จด้วยวิธีนี้ แต่ก็ได้รู้ว่าถ้าเรา import ไม่เสร็จ timeout เสียก่อน

สามารถสามารถ import ไฟล์เดิมอีกรอบ ซ้ำไปเรื่อยๆได้เลย ระบบ phpmyadmin จะทำต่อให้เอง แจ่มจริง

แต่ขี้เกียจรออ่ะ

วิธีต่อไป

2. เลยคิดถ้าเอาไฟล์ sql  import ที่เครื่อง notebook แล้วค่อยใช้โปรแกรม Navicat ช่วย copy database

ดีกว่า แต่ก็ทำไมได้เพราะว่าไม่ได้เปิด Policy Firewall สำหรับ port MySQL(3306) เลยจบกัน

วิธีสุดท้าย

3. คิดได้ว่าทำไมไม่ใช้ MySQL command มันใช้ได้นี่หว่า เลยจัดการใช้โปรแกรม WinSCP

เอาไฟล์ sql โยนไปบน MySQL server แล้วก็ใช่ MySQL command ดังต่อไปนี้

mysql -u username -p password –database=databasename < sqlfile.sql

แค่นี้แหละจบเลย ง่ายๆ

มี trick ฝากนิดหน่อย คือ

- u username และ -p password ทั้ง username และ password พิมติดกับ ตัว -u และ -p เลย

ไม่ต้องเว้นวรรค และถ้าตัว password มีตัวอักษรพิเศษก็ใช้วิธีการดังนี้ ‘password’ คือใช้ ‘ ‘

คร่อม password เลยครับ

แจ่มไหมล่ะครับบบบบบบบ