日期:2014-05-16  浏览次数:20719 次

linux下mysql访问速度缓慢并且ssh连接缓慢

最近发现ssh连接的时候却很慢,ping的速度非常好,让人误以为是ssh连接不上。 分析结果,主要原因为:DNS的解析IP导致,可分别使用以下几种分析处理方式

?

1.linux ssh连接慢

?

最近发现ssh连接的时候却很慢,ping的速度非常好,让人误以为是ssh连接不上。
分析结果,主要原因为:DNS的解析IP导致,可分别使用以下几种分析处理方式
1、在server上/etc/hosts文件中把你本机的ip和hostname加入 
2、在server上/etc/ssh/sshd_config文件中修改或加入UseDNS=no 
3、注释掉server上/etc/resolv.conf中不使用的IP所有行 
4、修改server上/etc/nsswitch.conf中hosts为hosts:files
5、authentication gssapi-with-mic也有可能出现问题,在server上/etc/ssh/sshd_config文件中修改 GSSAPIAuthentication no。/etc/init.d/sshd restart重启sshd进程使配置生效。
如之前为服务器配置了双网卡,使的在/etc/resolv.conf文件中多了一行目前不使用的IP地址。注释或者删除该行即可。

?

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

远程连接mysql异常缓慢,经常执行一条命令,然后要等个10几秒执行下一条。解决方法是在mysql的my.ini中的mysqld节加入skip-name-resolve,该命令参数避免了对主机名进行解析从而加快连接速度。
后来在网上发现解决方法,my.ini里面添加<linux中在/etc/my.cnf>
[mysqld]
skip-name-resolve
skip-grant-tables

?

这样速度就快了!

  • skip-name-resolve
  • skip-grant-tables

原因是:

  • mysql客户端每次访问db,mysql就会试图去解析来访问的机器的hostname,并缓存到hostname cache,如果这时解析不了,等一段时间会失败,数据才能被取过来。
  • 2.系统将对任何用户的访问不做任何访问控制

友情提示:重启mysql生效

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

若使用–skip-grant-tables系统将对任何用户的访问不做任何访问控制,但可以用 mysqladmin flush-privileges或mysqladmin reload来开启访问控制;默认情况是show databases语句对所有用户开放。

?

还可参考:http://www.jb51.net/article/27616.htm