安装的mysql 5.5,发现用mysql客户端远程连接的时候,报1042-Can’t get hostname for your address错误,而连接用户已授权。这个报错的意思是“您的地址无法获得主机名”,我就想到了skip-name-resolve参数。
解决方法:
代码如下 | 复制代码 |
vim /etc/my.cnf |
在[mysqld]节点下新增或修改如下两行
代码如下 | 复制代码 |
skip-name-resolve |
#忽略主机名的方式访问
代码如下 | 复制代码 |
lower_case_table_names=1 |
#忽略数据库表名大小写
重启MySQL服务就OK。
注意
连接被拒绝,说明你密码错误,你在 服务器上用mysql client 登录试试看,然后看看 root这个用户是否允许远程登录。。
//////////////////////////////////////////////////////////
我想跟你说的是,linux 密码正确并不代表 mysql 密码也正确
虽然都同为root,但是,两个root 是不一样的,一个是操作系统的root 一个是mysql的root
不要以为你的mysql安装的时候建立了一个mysql账号,就以为他用的是系统认证,那是很傻的。
第一个问题,回答完。
linux 没装防火墙 ,从你给除的错误提示,已经很明确的说明了这一点,您的软件已经连接到了mysql 只是连接以后,发现密码错误了。。。。所以,提示 您给的错误。。。
第二个问题,完。
我感觉,自动设置和手动设置没有什么实质的关系,只要ip在同一网段,相互能访问