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),可是没用。
这下我就没辙了,只能来寻求大神的帮忙。
请检查: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报错:Client does not support authentication protocol requested by server;