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

为什么连接到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

+0

非常感谢! – MemoryLeak 2009-08-18 09:47:29

+0

我有这个问题,事实上它是一个反向dns问题 – acemtp 2011-01-26 15:18:36

+12

要明确,'--skip-name-resolve'将在启动mysql时用作命令行选项,而'skip-name-resolve'(在前面没有双连字符)将在配置文件中使用。 – JYelton 2012-04-30 18:58:36

防火墙,互联网,路由等等会减慢你的连接速度。

你应该把你的数据库放在内部网上。保持本地和大型防火墙后面。您当然可以在电脑之间安装防火墙和安全设备。我建议你不要将你的mysql数据库连接暴露在未经过滤的情况下。

+0

它是一个内联网IP! – MemoryLeak 2009-08-18 09:40:40

+0

啊,我看到你编辑你的问题:)很高兴看到你找到了你的问题的答案。 – 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

+0

在解决慢速MediaWiki安装时注意到此问题。 mysql_connect差不多一秒钟。将配置从localhost更改为127.0.0.1,并从1021ms更改为7ms。谢谢! – jmgardn2 2013-06-11 20:08:25

+0

谢谢!这只是解决了我发布的一个问题。谁知道IPv6最近会混淆最近的MySQL版本。 – 2013-07-24 16:58:24

--skip-name-resolve工作对我来说太棒了。

要使其永久,我只是在文件my.ini结束在[mysql]中添加该行:

skip-name-resolve 

,瞧!交易现在飞!