作者: uprtystpk 

效力器放在局域网内举行测试时,数据库的访问速率还是很快。但当效力器放到外网后,数据库的访问速率就变得异常慢。


厥后在网上发明打点体式格局,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应该就可以。





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