Navicat for Mysql 远程连接数据库 出现 1042-Can't get hostname for your address 错误! 是啥问题。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Navicat for Mysql 远程连接数据库 出现 1042-Can't get hostname for your address 错误! 是啥问题。相关的知识,希望对你有一定的参考价值。

连接被拒绝,说明你密码错误,你在 服务器上用mysql client 登录试试看,然后看看 root这个用户是否允许远程登录。。

//////////////////////////////////////////////////////////

我想跟你说的是,linux 密码正确并不代表 mysql 密码也正确

虽然都同为root,但是,两个root 是不一样的,一个是操作系统的root 一个是mysql的root

不要以为你的mysql安装的时候建立了一个mysql账号,就以为他用的是系统认证,那是很傻的。

第一个问题,回答完。

linux 没装防火墙 ,从你给除的错误提示,已经很明确的说明了这一点,您的软件已经连接到了mysql 只是连接以后,发现密码错误了。。。。所以,提示 您给的错误。。。

第二个问题,完。

我感觉,自动设置和手动设置没有什么实质的关系,只要ip在同一网段,相互能访问,就ok
参考技术A 看看这个能解决不? http://www.siutung.org/post/506/
使用Navicat for MySQL连接远程的MySQL服务器,却提示:Can't get hostname for your address
明明已经使用grant命令授权过了的呀,原来还需要再执行一步:

编辑/etc/my.cnf,在:
[mysqld]
内添加一行:skip-name-resolve

MySQL忽略数据库表名大小写
修改/etc/my.cnf,在
[mysqld]
内添加一行:lower_case_table_names=1本回答被提问者和网友采纳

navicat for mysql 怎么连接远程数据库服务器

1,打开Navicat for MySQL,点击左上角“链接”按钮,如下图:

2,在弹出的新建链接对话框中,填写远程数据库服务器IP地址,账号,密码等信息。如下图:

3,最后确定保存即可。

参考技术A

1,打开Navicat for MySQL,点击左上角“链接”按钮,如下图:


2,在弹出的新建链接对话框中,填写远程数据库服务器IP地址,账号,密码等信息。如下图:

3,最后确定保存即可。

参考技术B

打开后,点击连接,然后填写用户名,密码,IP地址,就可以了! 

mysql服务器默认是允许远程连接的.你可以试着这么操作:运行 -> cmd -> telnet 你的IP地址 端口号 ->回车 如果能够连接上就说明可以远程连接. 你的链接失败提示什么呢?

参考技术C

文件--》创建连接,输入相关信息确定就可以啦

追问

我不是不会用软件,我是说建立连接失败。连不上服务器啊 ?!!

追答

看看有没有设置允许远程访问

追问

在服务器端查看吗?如果没有,改怎么设置呢、、

追答

对如何开始mysql的远程访问功能做个简单的讲述:
(1)确认一下3306是否对外开放,mysql默认状态下是不开放对外访问功能的。查看的办法如下:
~# netstat -an | grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 从上面可以看出,mysql的3306端口只是监听本地的连接,这样就阻碍了外部IP对该数据库的访问,修改的办法其实很简单,进入到mysql的配置文件所在目录(/etc/mysql/my.cnf)下,找到文件中的如下内容:

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1 将bind-address注释掉,或者改成你想要使用的客户端主机IP。

这样mysql的远程访问端口就算开启了,下面还有一个更重要的步骤,就是要给远程用户授权。
(2)确认客户端用户是否具有访问权限。
为了让访问mysql的客户端的用户有访问权限,我们可以通过如下方式为用户进行授权:
mysql> grant all on *.* to user_name@"%" identified by "user_password"; 上面的命令授予的用户权限可以访问mysql中的任意数据库(database)和表(table)。

完成上面的两个步骤,重启mysql即可在远程登陆mysql服务器了。
Windows 下面直接用mysql的配置向导重新配置下:

本回答被提问者采纳
参考技术D 看看这个能解决不?
使用Navicat for MySQL连接远程的MySQL服务器,却提示:Can't get hostname for your address
明明已经使用grant命令授权过了的呀,原来还需要再执行一步:

编辑/etc/my.cnf,在:
[mysqld]
内添加一行:skip-name-resolve

MySQL忽略数据库表名大小写
修改/etc/my.cnf,在
[mysqld]
内添加一行:lower_case_table_names=1

以上是关于Navicat for Mysql 远程连接数据库 出现 1042-Can't get hostname for your address 错误! 是啥问题。的主要内容,如果未能解决你的问题,请参考以下文章

navicat for mysql 怎么连接远程数据库服务器

Navicat for MySQL用ssh功能连接远程数据库

navicat for mysql 怎么连接远程数据库服务器

Navicat for mysql 远程连接 mySql数据库报错

navicat for mysql cant connect to server 10038 远程连接出错

亲测可用通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法