[mysql]远程数据库连接很慢的解决方法:Mysql IP address "xxx" could not be resolved 不知道这样的主机解决方法

[mysql]远程数据库连接很慢的解决方法:Mysql IP address "xxx" could not be resolved 不知道这样的主机解决方法


最近在配置一个远程数据库连接的时候,发现速度非常慢,查看了mysql的日志提示是这样的:

210121  9:09:38 [Warning] IP address 'ip地址' could not be resolved: 这是在主机名解析时通常出现的暂时错误,它意味着本地服务器没有从权威服务器上收到响应。 
210121  9:09:46 [Warning] IP address 'ip地址' could not be resolved: 这是在主机名解析时通常出现的暂时错误,它意味着本地服务器没有从权威服务器上收到响应。 
210121  9:09:54 [Warning] IP address 'ip地址' could not be resolved: 这是在主机名解析时通常出现的暂时错误,它意味着本地服务器没有从权威服务器上收到响应。 
210121  9:10:01 [Warning] IP address 'ip地址' could not be resolved: 这是在主机名解析时通常出现的暂时错误,它意味着本地服务器没有从权威服务器上收到响应。 
210121  9:10:09 [Warning] IP address 'ip地址' could not be resolved: 这是在主机名解析时通常出现的暂时错误,它意味着本地服务器没有从权威服务器上收到响应。 
210121  9:10:17 [Warning] IP address 'ip地址' could not be resolved: 这是在主机名解析时通常出现的暂时错误,它意味着本地服务器没有从权威服务器上收到响应。 
210121  9:10:24 [Warning] IP address 'ip地址' could not be resolved: 这是在主机名解析时通常出现的暂时错误,它意味着本地服务器没有从权威服务器上收到响应。 

本地连接是非常快的,说明是数据库问题,综合了网上的资料找到了解决方法,就是在数据库my.ini里面

第五行

[mysqld]
port=3306

下面加
skip-name-resolve
就行了

加了之后需要重启,然后速度就快了


注意:数据库那个 skip-nameslove 注意哦, 使用后不能 
添加/删除/更改/更改密码等等有关数据库用户的操作

要操作数据库用户,先注释掉改好以后再打开


服务器放在局域网内进行测试时,数据库的访问速度还是很快。但当服务器放到外网后,数据库的访问速度就变得非常慢。

后来在网上发现解决方法,my.cnf里面添加

[mysqld]
skip-name-resolve

这样速度就快了!

skip-name-resolve

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



远程连接mysql,查看服务器日志报错

操作:

禁用IP反向解析域名,修改配置文件,MySQL的配置文件My.ini (在MYSQL的安装目录)。


打开后配置文件后在My.ini 文件 [mysqld] 下面增加一行,输入

skip-name-resolve


修改完配置文件,要重起MYSQL服务才能生效哦!




Mysql IP address "xxx" could not be resolved 不知道这样的主机解决方法



一、错误描述:

最近重装了系统并配置了PHP环境和MYSQL数据库,在查看服务器日志的时候发现有很多Mysql 警告“IP address "xxx.xxx.xxx.xxx" could not be resolved 不知道这样的主机”,

IP address

双击打开后可以看到详细信息

IP address



二、问题产生的原因:

在网上查了些资料简单点说就是反向解析造成的,具体原因是因为“MYSQL Server在本地内存中维护了一个非本地的Client TCP cache,这个cache中包含了远程Client的登录信息,比如IP地址,hostname等信息。如果Client连接到服务器后,Mysql首先会在本地TCP池中根据IP地址解析客户端的hostname或者反解析,如果解析不到,就会去DNS中进行解析,如果还是解析失败就在error log中写入这样的警告信息。”。



三、解决方法:

以下是我解决此问题的整个过程,现整理了一下就当备忘也希望能帮到某些有需要的人。

1、用PhpMyAdmin登录数据库后打开依次打开localhost数据库——User表,修改Host字段,将Localhost改成127.0.0.1


2、禁用IP反向解析域名,修改配置文件,MySQL的配置文件My.ini (在MYSQL的安装目录)。

打开后配置文件后在My.ini 文件 [mysqld] 下面增加一行,输入

skip-name-resolve


修改完配置文件,要重起MYSQL服务才能生效哦!

3、修改网站数据库连接文件,将 Localhost 改用 127.0.0.1,

改完后观察了几天总算没再出现“MYSQL 不知道这样的主机”的问题了,遇到些问题的朋友不妨试试。



当前位置:站长啦网站目录 » 站长资讯 » 站长新闻 » 技术文档 » 文章详细