如何解决局域网内mysql数据库连接慢_Mysql

通过内网连另外一台机器的mysql服务, 确发现速度N慢! 等了大约几十秒才等到提示输入密码。  但是ping mysql所在服务器却很快!  想到很久之前有过类似的经验, telnet等一些服务在连接请求的时候,会做一些反向域名解析(如果反向解析不顺畅, 估计就会延迟很多,  给人的感觉是连接速度N慢!)
    在网上搜索了下解决办法, 发现有两种:

    一. 两边机器配置的resolve.conf不一样, 把resolve.conf配置成速度比较快的DNS就OK

    二. 把mysql配置中的DNS反向解析关掉, 也OK 

我用的是第一种办法, 修改resolve.conf配置后, 速度就上来了! 

附一: 摘自http://gcoder.blogbus.com/logs/31907502.html

    两台在同一网段的机器, 连接同一个数据库服务器, 一台的速度是另一台的100倍, 数据库主机是域名表示的. 怎么都想不明白?

    后来查看两台机器的 /etc/resolv.conf, 发现配置不一样, 改成速度快的那台机器的配置, 速度那上就上来了.

    域名解析也可以导致网络程序慢, 又一收获. 另外, mysql还有DNS反向解析的问题, 也可能导致速度慢, 可以在mysql的配置文件中, 把DNS反向解析关掉. 

    附二: 摘自

    当远程访问mysql时,mysql会解析域名,会导致访问速度很慢,加上下面这个配置可解决此问题

 # 禁止mysql做域名解析
  [mysqld]
  skip-name-resolve

    PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入skip-name-resolve这一句。

    但是,这样会引起一个问题:连接mysql时,不能使用 localhost连接了,而是要使用IP地址的;如果是按localhost对用户赋权限的话,用户登录权限也要修改一下的。

    连接mysql速度慢的解决方法.

    2台服务器,一台跑iis+php,一台跑mysql,和以往一样配置好环境,测试页面一切OK

    跑应用的时候发现php访问mysql速度很慢,这种情况在以前从未发现过,虽然2台服务器并非在同一网段中,但是ping数值基本上都在1,2ms之间,tcp连接应该不是问题关健,google以后找到答案,在my.ini文件的[mysqld]部分加入:skip-name-resolve,保存文件,重启mysql,一切OK啦,速度象飞一样了

    新版本的mysql配置起来不象以前的那个傻瓜化了,这个问题折腾了我一上午的时间,晚上回来总算是解决了,嘿嘿,又学到一些东西。

    Windows 2003下的MySQL 5服务器,本机连接到MySQL服务非常快,局域网内有两台Linux机器,有一台连接很快,另外一台输入密码后要等好几秒钟才能连上。

    解决办法:

    在MySQL服务器的配置中增加一个如下配置后速度飞快。

[mysqld]
  skip-name-resolve

    附录:( How MySQL uses DNS )

    When a new thread connects to mysqld, mysqld will spawn a new thread to handle the request. This thread will first check if the hostname is in the hostname cache. If not the thread will call gethostbyaddr_r() and gethostbyname_r() to resolve the hostname.
    If the operating system doesn't support the above thread-safe calls, the thread will lock a mutex and call gethostbyaddr() and gethostbyname() instead. Note that in this case no other thread can resolve other hostnames that is not in the hostname cache until the first thread is ready.
    You can disable DNS host lookup by starting mysqld with --skip-name-resolve. In this case you can however only use IP names in the MySQL privilege tables.
    If you have a very slow DNS and many hosts, you can get more performance by either disabling DNS lookop with --skip-name-resolve or by increasing the HOST_CACHE_SIZE define (default: 128) and recompile mysqld.
    You can disable the hostname cache with --skip-host-cache. You can clear the hostname cache with FLUSH HOSTS or mysqladmin flush-hosts.
    If you don't want to allow connections over TCP/IP, you can do this by starting mysqld with --skip-networking.

    PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入skip-name-resolve这一句。

    MYSQL远程连接速度慢的解决方法

    在局域网内连接其他机器的MYSQL,发现速度慢的很,不知道什么原因,总有几秒的延迟.

    后来在网上发现解决方法,my.ini里面添加

  [mysqld]
  skip-name-resolve
  skip-grant-tables

    这样速度就快了!

 skip-name-resolve

    选项就能禁用DNS解析,连接速度会快很多。不过,这样的话就不能在MySQL的授权表中使用主机名了而只能用ip格式。

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

通过以上方法成功解决局域网内mysql数据库连接慢,有需要的朋友可以参考下本篇文章。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索mysql
, 局域网
, mysql局域网访问慢
mysql局域网访问
局域网mysql数据库、mysql数据库死锁解决、解决mysql数据库乱码、局域网数据库、access 局域网数据库,以便于您获取更多的相关知识。

时间: 2024-09-19 10:29:23

如何解决局域网内mysql数据库连接慢_Mysql的相关文章

如何解决局域网内IP地址冲突故障

在Windows操作系统环境下,普通工作站用户常常可以根据自己的意愿随意修改本地工作站的IP地址参数,那样一来局域网网络就容易频繁发生IP地址冲突的故障现象,这种现象会"干扰"局域网的稳定运行,甚至会给日常的办公效率带来严重的影响.那么作为网络管理员来说,我们究竟该采取什么措施,不让IP地址冲突"干扰"局域网网络的正常.高效运行呢?现在本文就为各位朋友提出一些有效的应对办法,以帮助各位巧妙地管理好自己单位的局域网,确保局域网网络的运行效率不会受到IP地址冲突现象的&

解决内网机器无法通过域名访问同一局域网内的网站

看到这个标题,你可能会猜想这个是不可能的呢.同一个局域网怎么会访问不了同一个网内的网站呢? 在解决这个问题之前,我先来做一点解释.我们公司的网络使用是有权限的,不是所有的人都能上外网.如果是可以上外网的机器,那么在同一个局域网内确实可以通过域名进行访问.但是,不能上外网的呢? 这个问题就出来了,不能上外网的机器也想通过域名的形式访问公司的网站.那我们该如何解决呢? 其实解决方法有三种,我们按照从简到繁的顺序来一一讲解. 我们先来讲解第一种方法. 方法一.既然是同一个局域网,那么网站服务器的IP一

win8.1在局域网内打开IE浏览器要很久网页才会显示如何解决

  win8.1在局域网内打开IE浏览器要很久网页才会显示如何解决            具体方法如下: 1.打开"Internet 选项"(打开IE浏览器"Internet选项"窗口的方法),切换到"连接"选项卡; 2.点击"局域网(LAN)设置"区域的"局域网设置"按钮,打开"局域网(LAN)设置"窗口; 3.取消勾选"自动配置"区域的"自动检测设置&q

无法访问局域网内IIS服务器的解决办法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 今天上午遇到这样的问题: 无法访问局域网内其它电脑中的IIS,以前是可以的,重装了系统就不行了,自己可以访问,但别的电脑不行.看看IIS的IP设置,是192.168.*.*开头的.但为什么不能访问呢? 在网上找了一下解决办法,也没看到类似的回答. 有人说一般发生这种情况时操作系统是XP第二版.于时我就想到了,可能是安全性设置的问题,于时我在控

CI框架出现mysql数据库连接资源无法释放的解决方法_php实例

本文实例分析了CI框架出现mysql数据库连接资源无法释放的解决方法.分享给大家供大家参考,具体如下: 使用ci框架提供的类查询数据: $this->load->database(); $query = $this->db->query($sql); 程序运行一段时间之后,报错,告知数据库too many connections 很明显MySQL数据库连接资源超过了 max_connections 设定值.立马在每个查询之后,添加资源释放脚本: $this->db->c

MySQL为例讲解JDBC数据库连接步骤_Mysql

1.什么是JDBC?有什么作用? Java Data Base Connectivity Java数据库连接协议 是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问. 他提供了一种基准,据此可以构建更高级的工具和接口,使开发人员能够编写数据库应用程序 有了JDBC, 向各种关系数据发送sql语句就变得很容易了 换句话说就是有了JDBC API就不用为了访问Oracle数据库专门写一个程序 或者又为访问MySQL数据库专门写一个程序. 2.Java APP使用JDBC连接

udp java-JAVA UDP协议下怎么样才能突破局域网内的双向通信啊?求高人务必指导下。。。。

问题描述 JAVA UDP协议下怎么样才能突破局域网内的双向通信啊?求高人务必指导下.... 本人是个接触JAVA2个月的菜鸟,最近在研究UDP广域网的通信,实现的过程也就是常说的双向通信:客户端(局域网内)先发数据给远方的服务器(服务器是公网IP,映射了个端口),服务器能收到,但是服务器不能回发数据给客户端...对于这方面的问题,在网上找了很多资料,全是局域网内的,网上说什么UDP打洞啊,穿透啊等等的,说实话有点晕,直到有一天在网上一个论坛看到同样类似的帖子,主人说根本就不需要什么UDP打洞这

局域网内命令大全

  局域网dos命令集 net use ipipc$ " " /user:" " 建立IPC空链接 net use ipipc$ "密码" /user:"用户名" 建立IPC非空链接 net use h: ipc$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H: net use h: ipc$ 登陆后映射对方C:到本地为H: net use ipipc$ /del

局域网内远程连接失败的原因

  为了提升网吧网络管理的效率,网管们喜欢通过远程的功能实现对网吧所有机器的控制欲维护,但是在系统工作站中,往往会遇到远程连接失败的现象,可能是设置上面出了问题,远程连接失败的原因也可能是以下几点. 1,如果工作站系统没有对网络参数进行合适的设置,比方说没有将"Microsoft网络的文件和打印机共享"选项选中,那么就无法通过远程连接方法,对该工作站系统进行远程管理,所以检查工作站系统是否启用了"MicROSoft网络的文件和打印机共享"功能. 2,由于工作站系统在