私のアプリケーションは、別のマシンの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> SHOW GLOBAL STATUS LIKE 'Aborted_connects'; + ------------------ + ------- + | 変数名| 値| + ------------------ + ------- + | Aborted_connects | 2540 | + ------------------ + ------- +
タイムアウトを5秒から15秒に増やしました。
mysql>「connect_timeout」などの変数を表示します。 + ----------------- + ------- + | 変数名| 値| + ----------------- + ------- + | connect_timeout | 15 | + ----------------- + ------- +
しかし、これは助けにはなりませんでした。これをデバッグする方法の提案はありますか?動作するまでに平均5回接続を試行する必要がある場合、データベースの相互作用が非常に遅くなります。
アプリケーションの存続期間中、接続を開いたままにしようとはしていませんが、それでいいですか?接続が閉じないようにするにはどうすればよいですか?
mysqlサーバーがDebian Linux上にある一方で、問題のあるコンピューターがWindows 7 32ビットである場合に役立ちます。