แอปพลิเคชันของฉันต้องเชื่อมต่อกับฐานข้อมูล mysql บนเครื่องอื่นเป็นประจำ อย่างไรก็ตามฉันพบข้อผิดพลาดบ่อยครั้งในการเชื่อมต่อ; ในที่สุดฉันก็สามารถเชื่อมต่อได้ แต่หลังจากลองหลายครั้ง ข้อความแสดงข้อผิดพลาดที่ฉันได้รับคือ:
Mysql.mysql(): Couldn't connect to SQL-server: Lost connection to MySQL server at 'reading authorization packet', system error: 2
ฉันได้อ่านข้อมูลที่นี่: http://dev.mysql.com/doc/refman/5.0/en/error-lost-connection.htmlและยังแสดงความคิดเห็นต่อข้อผิดพลาดhttp://bugs.mysql.com/bug .php?
มีจำนวนการเชื่อมต่อที่ถูกยกเลิกค่อนข้างมากตามที่คุณเห็น:
mysql> แสดงสถานะทั่วโลกเช่น 'Aborted_connects'; + ------------------ + ------- + | Variable_name | ค่า | + ------------------ + ------- + | Aborted_connects | 2540 | + ------------------ + ------- +
ฉันเพิ่มการหมดเวลาจาก 5 เป็น 15 วินาที:
mysql> แสดงตัวแปรเช่น 'connect_timeout'; + ----------------- + ------- + | Variable_name | ค่า | + ----------------- + ------- + | connect_timeout | 15 | + ----------------- + ------- +
แต่สิ่งนี้ไม่ได้ช่วย ข้อเสนอแนะวิธีการแก้ปัญหานี้? มันทำให้การทำงานของฐานข้อมูลช้าลงอย่างน่ากลัวเมื่อมันโดยเฉลี่ยต้องพยายามเชื่อมต่อ 5 ครั้งก่อนที่มันจะทำงาน
ฉันยังไม่ได้พยายามเปิดการเชื่อมต่อตลอดอายุการใช้งานของแอปพลิเคชันจะดีกว่าไหม ฉันจะป้องกันไม่ให้การเชื่อมต่อปิดได้อย่างไร
หากช่วยให้คอมพิวเตอร์ที่มีปัญหาคือ Windows 7 32 บิตในขณะที่เซิร์ฟเวอร์ mysql อยู่บน Debian Linux