存局域网环境下遇到mysql访问慢的现象

今天下午对虚机环境下,重启虚机后,平台访问变慢问题进行复现:

复现步骤:
1. 在可以连接外网环境下,多次关闭虚机/启动,平台访问始终很快,没有复现访问慢问题。
2. 在存局域网下,关闭虚机/启动,复现了平台访问很慢的场景,访问数据库ip改为:127.0.0.1后,访问正常。
问题解决:
在试验环境下,查看mysql访问慢的原因:
1. 用笔记本直连,在笔记本用客户端连接mysql,发现也是很慢, 在mysql服务端配置里,添加配置: skip-name-resolve=1,重启服务,访问正常。

网络资料( skip-name-resolve

查阅mysql官方网站得知,这属于官方一个系统上的特殊设定,就把他当成mysql的一个bug算了,不管链接的的方式是经过 hosts 或是 IP 的模式,他都会对 DNS 做反查。mysqld 会尝试去反查 IP -> dns ,由于反查解析过慢,就会无法应付过量的查询。   (注:此解释刚好验证了,复现步骤1,为何不能复现原因)

解决办法:

/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连接的速度。

猜你喜欢

转载自blog.csdn.net/youjin/article/details/79527030