บทช่วยสอนนี้จะแก้ไขข้อผิดพลาดที่ปรากฏขึ้นเมื่อนำเข้าไฟล์ .sql ผ่านบรรทัดคำสั่ง นำเข้าไฟล์ .SQL Error - MySQL server has gone away.
เมื่อเราต้อง ไฟล์ที่นำเข้า .SQL ใหญ่ในที่เดียว ฐานวันที่วิธีการแบบคลาสสิกผ่าน phpMyAdmin มันไม่ใช่ทางออกที่ดีมาก เวลาส่วนใหญ่เราพบกับ“reqest timeout". นำเข้า .SQL เนื้อไม่มีมัน Error - MySQL server has gone away.
วิธีที่ง่ายที่สุดคือการเชื่อมต่อ SSH / คอนโซลไปยังเซิร์ฟเวอร์ที่เก็บฐานข้อมูล มาอัปโหลดไฟล์กันเถอะ .sql จากนั้นดำเนินการบรรทัดคำสั่งเฉพาะสำหรับการนำเข้า
mysql -u db_user -p -h localhost db_name < /path/sql_file.sql
หากหลังจากดำเนินการบรรทัดคำสั่งและป้อนรหัสผ่านฐานข้อมูลคุณพบข้อผิดพลาด:“ERROR 2006 (HY000) at line 1281: MySQL server has gone away" ส่วนใหญ่จะเกี่ยวกับการเกินขีด จำกัด ปริมาณสำหรับไฟล์ที่นำเข้า
เป็นไปได้มากว่าในการกำหนดค่ามาตรฐานของ MySQL, ขีดจำกัดปริมาณที่กำหนดไว้ใน "max_allowed_packet” ควรมีขนาดเล็กกว่าไฟล์ที่คุณต้องการนำเข้าสู่ฐานข้อมูล
วิธีที่ง่ายที่สุดคือแก้ไขไฟล์ "my.cnf” และเพื่อกำหนดขอบเขตที่เหมาะสมกับความต้องการของเรา เช่น ถ้าเราต้องการนำเข้าไฟล์ .SQL 320 MB จากนั้นเราแก้ไขไฟล์ "my.cnf"และเราเพิ่มบรรทัด:
max_allowed_packet=400M
หลังจากแก้ไขและบันทึกแล้ว ให้เริ่มบริการ mysql ใหม่บนเซิร์ฟเวอร์และรีสตาร์ทบรรทัดคำสั่งเพื่อนำเข้า ทุกอย่างควรทำงานโดยไม่ต้องนำเข้าไฟล์ .SQL Error - MySQL server has gone away.