为什么连接MySQL服务器这么慢?

时间:2009-08-18 09:32:18

标签: mysql performance intranet

我使用JDBC连接MySQL。当它在localhost:3306时,一切正常。

但是当我将我的应用程序移动到Intranet中的另一台计算机,并使用<Intranet-IP>:3306连接到MySQL数据库时,成功连接MySQL大约需要1分钟。怎么了?

5 个答案:

答案 0 :(得分:36)

那可能是DNS问题。您可以通过在配置文件中使用mysqld选项启动--skip-name-resolve来禁用DNS主机名查找。

请阅读此处了解更多详情:http://dev.mysql.com/doc/refman/5.0/en/host-cache.html

答案 1 :(得分:14)

--skip-name-resolve对我很有用。

要使其永久化,我只需在my.ini部分的文件[mysql]末尾添加此行:

skip-name-resolve

瞧!交易现在飞!

答案 2 :(得分:7)

对我来说,这是我在这里找到的解决方案,如果启用了IP6连接,与“localhost”的连接可能会很慢,而是使用ip地址127.0.0.1。这对我有用。

my mysql slow to connect problem was solved by this solution

答案 3 :(得分:0)

防火墙,互联网,路由等会降低您的连接速度。

您应该将数据库放在内部网上。将其保留在本地并位于大防火墙后面。您当然可以在计算机之间使用防火墙和安全性。我建议您不要以未经过滤的方式将您的mysql数据库连接暴露给Internet。

答案 4 :(得分:-1)

评论/发现一个非常老的问题

背景 - 典型:从 windows(各种)连接到 win 或 linux 服务器上的 sql server 很慢......几秒钟(甚至从 VBox 上的 win 客户端到同一主机上的服务器)

skip-name-resolve, dns-bind - 尝试了各种方法,不管效果如何。

查看手册 - 连接字符串选项 - 没有时间了解它们的含义,一个一个设置并尝试 - 只要没有任何问题。

sslmode=none; 添加到连接字符串 ... 连接时间不到 1/10。亚秒级连接,毫秒!

注意: 它位于小型办公室专用 LAN 中,因此不要使用任何安全性 FUD ... 它有效...我会接受它