私はJDBCを使ってMySQLに接続します。それがlocalhost:3306
にあるとき、すべてはOKです。MySQLサーバへの接続が遅いのはなぜですか?
私のアプリケーションをイントラネット内の別のコンピュータに移動し、<Intranet-IP>:3306
を使用してMySQLデータベースに接続すると、MySQLに正常に接続するのに約1分かかります。これはどうしたの?
私はJDBCを使ってMySQLに接続します。それがlocalhost:3306
にあるとき、すべてはOKです。MySQLサーバへの接続が遅いのはなぜですか?
私のアプリケーションをイントラネット内の別のコンピュータに移動し、<Intranet-IP>:3306
を使用してMySQLデータベースに接続すると、MySQLに正常に接続するのに約1分かかります。これはどうしたの?
これはDNSの問題である可能性があります。構成ファイルで--skip-name-resolve
オプションを指定してmysqld
を開始すると、DNSホスト名の参照を無効にできます。詳細はこちらをお読み
:IP6接続が有効になっている場合http://dev.mysql.com/doc/refman/5.0/en/host-cache.html
ファイアウォール、インターネット、ルーティングなどは接続を遅くします。
データベースをイントラネットに配置する必要があります。ローカルにして大きなファイアウォールの背後に置いてください。もちろん、コンピュータ間にはファイアウォールとセキュリティがあります。私はあなたがそのようにフィルタリングされていないインターネットにあなたのmysqlデータベース接続を公開していないことをお勧めしたいと思います。
イントラネットIPです! – MemoryLeak
ああ、私はあなたの質問を編集しました:)あなたの質問に対する答えを見つけたことを知りました。 – Makach
を私にとって、それは私がここで見つけるこのソリューションでした、「localhost」をへの接続が遅くなることがあり、代わりにIPアドレス、127.0.0.1を使用します。これは私のために働いた。
my mysql slow to connect problem was solved by this solution
遅いMediaWikiインストールのトラブルシューティング中にこの問題が認識されました。 mysql_connectはほぼ1秒かかりました。 configをlocalhostから127.0.0.1に変更し、1021msから7msに変更しました。ありがとう! – jmgardn2
ありがとう!これはちょうど私が投稿した問題の問題を解決しました。最近のMySQLのバージョンではIPv6がそんなに混乱することを誰が知っていましたか? –
--skip-name-resolve
は私のために素晴らしい仕事。
skip-name-resolve
出来上がり:それは永久的な、私はちょうど[mysql]
セクション内のファイルmy.ini
の末尾に次の行を追加するようにするに
!トランザクションは今すぐ飛ぶ!
ありがとう! – MemoryLeak
私はこの問題を抱えていましたが、実際にはそれは逆のDNS問題でした。 – acemtp
mysqlを起動するときにコマンドラインオプションとして '--skip-name-resolve'を使用するのに対し、' skip-name-resolve'(正面に二重ハイフンなし)が設定ファイルで使用されます。 – JYelton