我使用JDBC連接到MySQL。當它在localhost:3306
時,一切正常。爲什麼連接到MySQL服務器這麼慢?
但是,當我將應用程序移動到Intranet中的另一臺計算機上,並使用<Intranet-IP>:3306
連接到MySQL數據庫時,大約需要1分鐘才能成功連接到MySQL。這是怎麼回事?
我使用JDBC連接到MySQL。當它在localhost:3306
時,一切正常。爲什麼連接到MySQL服務器這麼慢?
但是,當我將應用程序移動到Intranet中的另一臺計算機上,並使用<Intranet-IP>:3306
連接到MySQL數據庫時,大約需要1分鐘才能成功連接到MySQL。這是怎麼回事?
那麼它可能是一個DNS問題。您可以通過在配置文件中使用--skip-name-resolve
選項啓動mysqld
來禁用DNS主機名查找。
這裏瞭解更多詳情:http://dev.mysql.com/doc/refman/5.0/en/host-cache.html
防火牆,互聯網,路由等等會減慢你的連接速度。
你應該把你的數據庫放在內部網上。保持本地和大型防火牆後面。您當然可以在電腦之間安裝防火牆和安全設備。我建議你不要將你的mysql數據庫連接暴露在未經過濾的情況下。
它是一個內聯網IP! – MemoryLeak 2009-08-18 09:40:40
啊,我看到你編輯你的問題:)很高興看到你找到了你的問題的答案。 – Makach 2009-08-18 10:26:39
對我來說,這個解決方案,我發現在這裏,如果連接IP6啓用,連接到「localhost」的可能是緩慢的,而不是使用IP地址,127.0.0.1。這對我有效。
my mysql slow to connect problem was solved by this solution
在解決慢速MediaWiki安裝時注意到此問題。 mysql_connect差不多一秒鐘。將配置從localhost更改爲127.0.0.1,並從1021ms更改爲7ms。謝謝! – jmgardn2 2013-06-11 20:08:25
謝謝!這只是解決了我發佈的一個問題。誰知道IPv6最近會混淆最近的MySQL版本。 – 2013-07-24 16:58:24
的--skip-name-resolve
工作對我來說太棒了。
要使其永久,我只是在文件my.ini
結束在[mysql]
中添加該行:
skip-name-resolve
,瞧!交易現在飛!
非常感謝! – MemoryLeak 2009-08-18 09:47:29
我有這個問題,事實上它是一個反向dns問題 – acemtp 2011-01-26 15:18:36
要明確,'--skip-name-resolve'將在啓動mysql時用作命令行選項,而'skip-name-resolve'(在前面沒有雙連字符)將在配置文件中使用。 – JYelton 2012-04-30 18:58:36