MySQL远程访问时异常慢的打点



作者: uprtystpk 出自: http://www.linuxdiyf.com
效力器放在局域网内举行测试时,数据库的访问速率还是很快。但当效力器放到外网后,数据库的访问速率就变得异常慢。

厥后在网上发明打点体式格局,my.cnf概略添加

[mysqld]
skip-name-resolve

如许速率就快了!

skip-name-resolve

选项就能禁用DNS解析,毗连速率会快良多。不过,如许的话就不能在MySQL的受权表中使用主机名了而只能用ip花腔。

另有权限的成就,当用户设置限制只能访问某个数据库,如果这个数据库被删了,再重建这个指定数据库,限制用户还是不能访问这个数据,大大如果删除数据库的工夫,把该用户的访问权限也级联删除了,详尽可以反省mysql.db的纪录

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

如果mysql效力器没有开远程帐户,就在my.cnf概略加上skip-grant-tables

断根搜集成就。

就MySQL自己而言,成就出在在mysql dns反解析

mysql>show processlist;

| 20681949 | unauthenticated user | 10.10.4.193:52497 | NULL | Connect | | Reading from net | NULL |
| 20681948 | unauthenticated user | 10.10.4.193:52495 | NULL | Connect | | Reading from net | NULL

发明有异常多的 unauthenticated user 测验测验做登入使用 mysql 的情況 ,当这种情况有限制发作时就会形成系统十分迟钝。

查阅mysql官方网站得知,这属于官方一个系统上的不凡设定,就把他当成mysql的一个bug算了,不管链接的的体式格局是颠末 hosts 或是 IP 的体式格局,他都会对 DNS 做反查。mysqld 会测验测验去反查 IP -> dns ,因为反查解析过慢,就会无法应付过量的查询。

打点举措步伐:

/usr/local/mysql/bin/mysqld_safe --skip-name-resolve --user=mysql&

加 --skip-name-resolve 这么一个参数就可以,封闭mysql的dns反查效果。

或许修正mysql设置文件。

编辑/etc/my.cnf

在[mysqld]段中介入

skip-name-resolve

重启mysql

在/etc/my.cnf 的设置文件中介入如下一句,禁用DNS应声解析,就能大大大大减速MySQL毗连的速率。
[mysqld]

下面加上这句
skip-name-resolve

#详尽有些文章中写道介入–skip-name-resolve,经验证,在CentOS5下介入–skip-name-resolve会招致mysql守护进程无法启动。估计在其他linux系统下是一样的,windows下没有测试,skip-name-resolve应该就可以。




版权声明: 原创作品,容许转载,转载时请务必以超链接情势标明文章 原始出处 、作者信息和本声明。否则将追查司法责任。

posted @ 2011-03-07 18:01  蓝色的天空III  阅读(311)  评论(0编辑  收藏  举报