-
2021-01-26 05:15:59
网友解答:
MySqI是瑞典开发的一种数据库存储软件,一般网站只要输入域名DNS就会解析至对应IP地址实现网页浏览,而访问MySql时MySqⅠ会反向解析访问者域名注册者是否属于授权访问用户!我理解是这样
网友解答:
服务器端对试图连接的客户端ip地址进行反向解析是服务器的标准动作。不光是mysql会这么做,你所见过的WEB服务器,邮件服务器,FTP服务器,telnet服务器等等都会进行反向域名解析。
因此在一个正常的IP网络中,反向解析的总数是超过正向解析的。关于正反解析哪个多的问题在2003年左右的chinaunix论坛DNS版块有abel大神的解答可以参考。
反向域名解析和正向解析一样都是从根开始,按照ip地址的4个字段和地址管理的授权管理关系逐级查找到最终负责解析的ISP权威服务器,给出IP地址对应的域名。
前面提到服务器正常配置都会进行反向解析,但是现实网络存在大量不正常的状况,导致管理员关闭了这个功能。主要原因有1.我国运营商的反向解析数据不全,而且要收费制作。本人曾在两家运营商管理过DNS系统,也试图推动反向解析的普及和免费,但个人力量有限。2.大量的系统如WEB服务器为了提高性能,关闭了反向解析功能。
更多相关内容 -
Mysql DNS反向解析导致连接超时过程分析(skip-name-resolve)
2020-09-10 22:03:41从其它地方连接MySQL数据库的时候,有时候很慢。慢的原因有可能是MySQL进行反向DNS解析造成的,这里简单介绍下原理,需要的朋友可以参考下 -
禁用MySQL数据库连接的反向解析
2021-01-28 06:02:47140608 14:33:56 [Warning] IP address ‘113.6.248.158...# vi /etc/my.cnf skip-name-resolve [root@db data]# service mysqld restart Shutting down MySQL…. SUCCESS! Starting MySQL.. SUCCESS! [root@db data]#140608 14:33:56 [Warning] IP address ‘113.6.248.158’ could not be resolved: Name or service not known
140609 10:08:20 [Warning] IP address ‘61.183.60.152’ could not be resolved: Name or service not known
140610 2:40:45 [Warning] IP address ‘23.107.60.2’ has been resolved to the host name ‘23.107.60.2.rdns.as15003.net’, which resembles IPv4-address itself.
140612 13:03:26 [Warning] IP address ‘10.165.64.186’ could not be resolved: Name or service not known
140613 11:59:54 [Warning] IP address ‘119.253.176.56’ could not be resolved: Name or service not known
[root@db data]# vi /etc/my.cnf
skip-name-resolve
[root@db data]# service mysqld restart
Shutting down MySQL…. SUCCESS!
Starting MySQL.. SUCCESS!
[root@db data]#
-
Mysql DNS反向解析导致连接超时过程分析
2021-01-27 20:43:48MySQL数据库收到一个网络连接后,首先拿到...甚至有的时候,反向解析出来的主机名并没有指向这个IP地址,这时候就无法连接成功了。可以在配置文件里面禁止MySQL进行反向DNS解析,只需在my.cnf的[mysqld]段落中加入...MySQL数据库收到一个网络连接后,首先拿到对方的IP地址,然后对这个IP地址进行反向DNS解析从而得到这个IP地址对应的主机名。用主机名在权限系统里面进行权限判断。反向DNS解析是耗费时间的,有可能让用户感觉起来很慢。甚至有的时候,反向解析出来的主机名并没有指向这个IP地址,这时候就无法连接成功了。
可以在配置文件里面禁止MySQL进行反向DNS解析,只需在my.cnf的[mysqld]段落中加入如下行即可:
skip-name-resolve (windows与linux下一样的)
设备在连接mysql时候,等待服务器的banner信息需要4s左右,影响了Mysql服务的连接速度。
通过如下方式进行验证:
1、Telnet端口验证
通过设备和虚拟机(Linux系统)分别Telnet Mysql服务的端口,会出现一下现象:
设备(UAG/SCANNER): telnet后,等待Mysql的服务器端回应大概需要等10s左右。
[DPtech-Developer-Shell]telnet 10.101.0.206 3308
Trying 10.101.0.206...
Connected to 10.101.0.206.
Escape character is '^]'.
E
5.0.67-community-nt-log?Hc95
虚拟机(Ubuntu):telnet后,立即得到了Mysql服务器的返回
[root]~# telnet 10.101.0.206 3308
Trying 10.101.0.206...
Connected to 10.101.0.206.
Escape character is '^]'.
E
5.0.67-community-nt-log?D%(;1$]+,¢!Zdh`'?G)6r]YConnection closed by foreign host. //这里耗时很短
2、通过程序进行验证
具体源代码见附件:验证程序源代码
源代码基本上是设置了Recv超时后,建立socket连接之后接受数据,收到后计时并输出。
在设备上和虚拟机中的结果分别如下:
设备:
[DPtech-Developer-Shell]/tcpclient_mips 10.101.0.1 3306
花费时间:19553
Recved 68 bytes
@
5.5.2-m2-community%uD3q`n)
虚拟机:
[root]tcp_demo# ./tcpclient 10.101.0.1 3306
花费时间:10525
Recved 68 bytes
@
5.5.2-m2-communitd~k~Y";B
可以发现,设备上大约比Linux服务器多耗时9s,其中10秒钟可能是recv本身超时的时间。
3、通过不同操作系统进行Telnet验证
通过Windows系统和Linux虚拟机、设备,分别通过Telnet进行连接尝试,通过抓包分析得知,只有设备的耗时比较长,其他的耗时都比较短。
抓包时发现设备中的socket建立之后,MYSQL服务器需要发送很多次的NBNS报文后,才会传输banner信息,而Linux虚拟机和Windows系统的主机在这个过程中都没有出现这个问题。
查找了一些资料,关于MYSQL NBNS报文的问题:
Mysql论坛的提问:
http://forums.mysql.com/read.php?11,250982,250982#msg-250982
该问题的答复
http://forums.mysql.com/read.php?11,250982,254683#msg-254683
从答复中来看,貌似是某些版本的问题,临时的解决方案是对Mysql服务器进行配置,不启用Named Pipes,即 命名管道 功能即可解决这个问题。
后经查找相关资料得知,远程连接超时可能由于Mysql默认开启了DNS反向解析的缘故,每次连接时服务器都尝试解析连接客户端的主机名,导致时间比较长。
解决方法是在服务器端的my.ini文件中,[mysqld]这个节下配置一个skip-name-resolve以关闭Mysql默认开启的DNS反向解析就可以了。
再次通过设备和虚拟机或者Windows系统进行Telnet,可以发现连接超时的现象明显不存在了。
另外通过自己写的C代码进行连接的时候也存在同样的问题,修改skip-name-resolve以后,实际上就可以发现该问题已经不存在了:
设备:
[DPtech-Developer-Shell]/tcpclient_mips 10.101.0.1 3306
花费时间:10520
Recved 68 bytes
@
5.5.2-m2-community[Z44E>G)
虚拟机:
[root]tcp_demo# ./tcpclient 10.101.0.1 3306
花费时间:10521
Recved 68 bytes
@
5.5.2-m2-community7evE5wyx
通过虚拟机Telnet连接另外一个ip 10.101.0.206时候发现速度也比较慢,消耗的时间基本上和设备中相当,可能是由于虚拟机和宿主主机之前不需要进行反向域名解析,或者说是应为系统本身就知道虚拟机IP地址(NAT模式)对应的主机名,所以不需要进行DNS反向解析,导致在虚拟机中出现了特殊情况。
最后得出结论,可能这个问题实际上和设备或者虚拟机,Linux系统、Windows系统没有多大关系,主要由于服务器的反向DNS解析导致该问题。无法从客户端途径去解决,也就是说我们设备无法处理这种情形。
-
MySQL禁止反向解析客戶端IP(skip-name-resolve)
2021-03-13 17:59:00我上去看了一下,在事發的階段,有大量的MySQL反向解析域名的記錄,如下:日志記錄(1):IP address ‘117.27.138.135’ could not be resolved: 不知道這樣的主機。For more information, see Help and Support ...今天有一個朋友跟我講,他一個PHP的網站很慢,讓我幫他看看。我上去看了一下,在事發的階段,有大量的MySQL反向解析域名的記錄,如下:
日志記錄(1):
IP address ‘117.27.138.135’ could not be resolved: 不知道這樣的主機。
For more information, see Help and Support Center at http://www.mysql.com.
今天有一個朋友跟我講,他一個PHP的網站很慢,讓我幫他看看。我上去看了一下,在事發的階段,有大量的MySQL反向解析域名的記錄,如下:
日志記錄(1):
IP address ‘117.27.138.135’ could not be resolved: 不知道這樣的主機。
For more information, see Help and Support Center at http://www.mysql.com.
日志記錄(2):
IP address ‘221.235.41.38’ has been resolved to the host name ‘38.41.235.221.broad.wh.hb.dynamic.163data.com.cn’, which resembles IPv4-address itself.
在我們的印象中,IP反向解析域名是一件吃力不討好的事情!洪哥也搞不懂,為什么有那么多軟件喜歡去玩IP反向解析域名。像tracert命令,它默認會去反向解析ip的域名,所以整個命令慢得要死。洪哥一般都喜歡加一個“-d”的參數,這樣它就不會去解析域名了,相比之下tracert運行就感覺快如閃電啊!
言歸正傳,怎么樣讓MySQL禁止反向解析客戶端IP呢?請教了一些資深的朋友,原來可以在my.ini里面加一行skip-name-resolve參數,然后把MySQL重啟一下,這樣它就乖了!
希望對大家有幫助,謝謝!
-
mysql反向解析导致连接缓慢
2017-09-05 09:26:00Content 0.序 1.问题 2.原因 3.解决办法 ...本文主要是记录Mysql安装在 VMWARE下,本地连接Mysql速度很慢的原因及解决办法。...在安装Mysql时候,默认会打开反向解析,因此局域网访问MySql时候,... -
mysql DNS反向解析
2018-04-11 17:22:46mysql DNS反向解析会导致mysql慢: 查看DNS反向解析(出现unauthenticated user说明DNS反向解析在干扰) mysql -u root -p'xxxxx' -e "show processlist;" | grep user 解决办法: vi /etc/my.ini skip-name-resolve... -
Mysql 反向解析 导致远程访问慢
2018-10-15 16:22:00经过一番google这才知道原来mysql默认会进行反向解析,即通过ip地址反向向ISP申请获取域名 而在等待ISP返回结果的时间过长,导致远程连接的响应速度非常慢 解决方法: 在mysql的配置文件my.cnf中配置: [mysqld]... -
Bind+DLZ+MySQL智能DNS的正向解析和反向解析实现方法
2021-03-16 02:32:38对于两者都熟悉的,实现 Bind+DLZ+MySQL正向解析的也已经很多了,但实现反向解析的恐怕是没有几个人去做。原因:一是不怎么需要反向解析,而是即使需要也不知道如何配置。其实反向解析还是需要的,比如说邮件系统... -
mysql反向解析导致连接慢的问题
2011-11-23 15:07:41在网上查了一下,发现了mysql有一个“反向解析”的问题: 安装mysql后,默认反向解析是打开的。不管你是使用域名还是IP连接数据库,mysqld都会做一个反向解析的过程,即从 IP->dns的反查,反查的过程是很慢的而且是受... -
禁止mysql做域名解析(解决远程访问mysql时很慢)
2020-12-15 10:19:25出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入skip-name-resolve这一句。 但是,这样会引起一个问题:连接mysql时,不能... -
mysql关闭DNS反解析
2019-09-23 19:08:00要禁用DNS主机名查找,可以在启动MySQL时添加–skip-name-resolve参数选项。在这种情况下,MySQL服务器会只使用IP地址来匹配连接。如果DNS查询很慢,或者是客户端非常多,那么关闭DNS查询可以改进MySQL服务器的性能... -
深入mysql主从复制延迟问题的详解
2020-09-10 20:25:57本篇文章是对mysql中主从复制延迟的问题进行了详细的分析介绍,需要的朋友参考下 -
mysql反向解析导致连接数据库过慢的问题
2013-09-12 19:40:12今天公司的服务器linux因换了个路由器换了网段,从20.62换到23.62,...在网上查了一下,发现了mysql有一个“反向解析”的问题: 安装mysql后,默认反向解析是打开的。不管你是使用域名还是IP连接数据库,mysqld都会做一 -
ubuntu 封闭ssh、mysql反向域名解析
2021-03-16 23:36:14ubuntu 关闭ssh、mysql反向域名解析在ubuntu下ssh登陆某些服务器,会发生需要等到十来秒才提示输入密码下现象,其实这个是debian做的一个配置上的修改引起的.ssh_config(5) 的man页上有这样的说明:Note that the ... -
MySQL禁止反向解析客户端IP(skip-name-resolve)
2015-03-12 10:50:54我上去看了一下,在事发的阶段,有大量的MySQL反向解析域名的记录,如下:日志记录(1): IP address ‘117.27.138.135’ could not be resolved: 不知道这样的主机。 For more information, see Help and ... -
远程连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析
2011-04-15 09:34:00PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的 MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]... -
误删数据 binlog2sql 解析binlog 反向生成ddl语句
2021-02-07 06:09:431、卸载mariadbrpm -qa|grep mariadb // 查询出来已安装的mariadbrpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的值2、选择mysql版本,wget拉到指定mysql目录(mysql历史版本:...