安装的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在同一网段,相互能访问. |