เซิร์ฟเวอร์ MySQL หายไปแล้ว


1

ฉันมีการถ่ายโอนข้อมูลฐานข้อมูล 2 GB ซึ่งฉันพยายามนำเข้าสู่ mysql เมื่อฉันเรียกใช้การนำเข้าฉันได้รับสิ่งต่อไปนี้:

> mysql -u myUser -p < dbDump.sql
Warning: option 'max_allowed_packet': unsigned value 104856551424 adjusted to 2147483648
Error 2006 (HY000) at line 2835: MySQL server has gone away

max_allowed_packet ของฉันถูกตั้งค่าเป็น

max_allowed_packet=99999M

ฉันดำเนินการกับปัญหานี้แล้วและผู้ใช้บางคนรายงานว่าปัญหานี้ได้รับการแก้ไขโดยการเปลี่ยนค่า wait_timeout ปัญหาคือว่าการถ่ายโอนข้อมูลของฉันหมดเวลาในเวลาน้อยกว่า 5 วินาทีดังนั้นฉันไม่คิดว่า wait_timeout เป็นปัญหา

ความคิดเห็นอื่น ๆ เกี่ยวกับสาเหตุที่การถ่ายโอนข้อมูลของฉันล้มเหลว

[แก้ไขแล้ว]: ตามคำแนะนำของ stolsvik ฉันตรวจสอบไฟล์ดัมพ์สำหรับเนื้อหาของบรรทัด 2835 ฉันพบว่ามีคำสั่ง set global max_allowed_packet = 200 ซึ่งมีค่าที่ใหญ่กว่าที่ฉันตั้งไว้ก่อนหน้านี้ ฉันลบบรรทัดที่ละเมิดออกและตอนนี้การถ่ายโอนข้อมูลเสร็จสมบูรณ์แล้ว


1
ที่บรรทัด 2835 มีอะไรบ้าง และเซิร์ฟเวอร์มันยังคงขึ้นหลังจากที่คุณพยายามเรียกใช้งานดัมพ์ db นี้หรือไม่?
stolsvik

เป็นความคิดที่ดีที่จะตรวจสอบเนื้อหาของบรรทัด เมื่อฉันเปิดไฟล์ดัมพ์ฉันพบบรรทัดที่เรียกใช้งาน 'set global max_allowed_packet = 200' ซึ่งทำให้ค่าที่ใหญ่กว่าของฉันเป็นโมฆะ ฉันลบมันออกจากไฟล์และตอนนี้การถ่ายโอนข้อมูลเสร็จสมบูรณ์แล้ว ขอบคุณ
เดวิด

โปรดเพิ่มความคิดเห็นของคุณลงในคำตอบเพื่อให้คุณสามารถทำเครื่องหมายคำถามนี้ว่าปิด

คำตอบ:


1

พิจารณาการตรวจสอบเนื้อหาของไฟล์การถ่ายโอนข้อมูล mysql ในโปรแกรมแก้ไขรายการโปรดของคุณ มุ่งเน้นที่บรรทัด 2835 เนื่องจากเซิร์ฟเวอร์ระบุถึงข้อผิดพลาด


0

คำเตือนเป็นเพราะ max_allowed_packet ของคุณมีขนาดใหญ่เกินไป คุณสามารถลองตั้งค่าโดยตรงกับสิ่งที่ปรับเป็น 2147483648 ซึ่งเห็นได้ชัดคือ 204MB แต่คุณมี BLOB ขนาดใหญ่ใน db-dump ของคุณหรือไม่

อ้างอิงเกี่ยวกับ max_allowed_packet

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.