我的应用程序需要非常频繁地连接到另一台机器上的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?id = 28359。
如您所见,有很多中断的连接:
mysql>显示全局状态,如“ Aborted_connects”; + ------------------ + ------- + | 变量名| 价值| + ------------------ + ------- + | Aborted_connects | 2540 | + ------------------ + ------- +
我将超时从5秒增加到15秒:
mysql>显示类似“ connect_timeout”的变量; + ----------------- + ------- + | 变量名| 价值| + ----------------- + ------- + | connect_timeout | 15 | + ----------------- + ------- +
但这没有帮助。有什么建议如何调试吗?平均而言,它必须尝试连接5次才能正常工作,这使数据库交互变得非常缓慢。
我还没有尝试在应用程序的生存期内保持连接打开状态,这样会更好吗?如何防止连接关闭?
如果它可以帮助解决问题的计算机是Windows 7 32位,而mysql服务器在Debian Linux上。