navicat连接mysql: 报错1042 cant get hostname for your address

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了navicat连接mysql: 报错1042 cant get hostname for your address相关的知识,希望对你有一定的参考价值。

我的地址无法得到主机名
我查看了hosts文件,里面有 127.0.0.1 localhost。
并且我也尝试了那个办法(在my.ini的[mysql]节点添加那两行代码,最后重启mysql),可是没用。

这下我就没辙了,只能来寻求大神的帮忙。

在地址栏填:localhost或127.0.0.1
请检查:C:\Windows\System32\drivers\etc\hosts 是否有这样一行:
127.0.0.1 localhost
前面没有"#",如果有的话去掉。
检查系统防火墙设置,是否in、out端口都开启3306端口。
参考技术A mysql是在你本机上吗?
如果不是的,首先看看你本机与mysql服务器的网络连接是否正常可以通过ping进行测试
如果是的话,看看你看下是不是mysql的端口或者ping下你本机的主机名看看
参考技术B 端口没写对吧 参考技术C 看看端口对不对 参考技术D 看看端口对不对追问

客户端和mysql的 端口都是默认的3306

追答

要不把链接代码和贴出来看看吧

追问

搞定了,“醉沙专属”提供的解决办法:运行netsh winsock reset后重启

本回答被提问者采纳

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

Navicat连接远程MYSQL,提示如下错误,我以为是自己的防火墙问题,但是关了,依然不行。

ERROR 1130: Host ‘192.168.1.3‘ is not allowed to connect to thisMySQL server

 

其实主要问题是mysql服务器那边的权限问题,默认是只允许在本地localhost登陆,所以在远程就被拒绝了,解决的方法是在mysql服务器上授权。

 

完整操作:  

1. 在mysql服务器上:开始->运行->cmd  

2. cd mysql安装目录\bin  

3. mysql -uroot -p1234;  

4. mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘1234‘ WITH GRANT OPTION;  

5. mysql> flush privileges; 

 

ALL PRIVILEGES:SELECT,INSERT,UPDATE,DELETE这一类的权限

*.*:第一个*表示的是db,第二个*表示的是table

‘root‘@‘%‘:root表示的是user,%表示的是host

‘1234‘:表示的是用户对应的密码

以上是关于navicat连接mysql: 报错1042 cant get hostname for your address的主要内容,如果未能解决你的问题,请参考以下文章

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

Navicat远程连接mysql教程及Navicat报错10061解决办法

Navicat连接mysql报错1862

Navicat 报错1251连接不成功Mysql

Navicat连接Mysql报错:Client does not support authentication protocol requested by server;

Navicat连接MySQL8+时出现2059报错