当前位置:数据库 > MySQL >>

MySQL 远程连接速度慢的解决方案

我想连接同事机器上的数据库。在账号密码什么都正确的情况,还是遇到了几个问题。

1、防火墙
通过telnet 同事机器IP 3306 , 结果死活是连不上。曾经处理过类似的问题。于是把同事机器上的防火墙直接关闭就能telnet了。

2、连接数据库很慢
在PHP中连接MySQL数据库非常慢。我以为是PHP扩展有异常。于是换cmd来操作,结果连接还是很慢。这让我排除了是PHP的原因。百度一下,得知是因为MySQL连接有以下几个步骤:
1、DNS解析连接的HOST
2、解析不了,就直接当前IP连接。

于是,通过在mysql的配置文件中的[mysqld]下面添加了一行代码:

skip-name-resolve   在连接远程数据库的时候,直接跳过MySQL的DNS解析

2. 在启动mysqld服务器的时候,附加 –skip-name-resolve 选项  ,原理与第一个一样

3. 增大HOST_CACHE_SIZE的值,HOST_CACHE_SIZE的默认值是128   适合多个远程主机


因为我是使用IP来连接,根本DNS解析不了。所以,在解析的过程中就占用了很长的时间。这段时间导致DNS解析超时。通过上面的代码,直接让MYSQL不要去DNS解析。

注意:若使用–skip-grant-tables系统将对任何用户的访问不做任何访问控制,但可以用 mysqladmin flush-privileges或mysqladmin reload来开启访问控制;默认情况是show databases语句对所有用户开放,
如果mysql服务器没有开远程帐户,就在my.ini里面加上skip-grant-tables

补充:数据库,mysql教程
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,