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