MySQL连接错误“Cannot get hostname for your address”解决方案

前几天在自己虚拟机上安装了mysql数据库,并且建好了数据库,通过本机上的MyEclipse启动项目,访问虚拟机上的数据库时,出现了Can't get hostname for your address”此异常,刚开始时以为需要配置hosts配置文件(C:\Windows\System32\drivers\etc),但是配置了ip和ip对应的名称后,异常依然存在,在网上找了好多资料,整理后有如下几种解决方案:

方案一:

在数据库的安装路劲找到my.ini配置文件,并在“[mysqld]”行内容下添加一行配置,

[mysqld]

skip-name-resolve

配置完成后保存就可以解决问题了,虽然问题解决了,但是为什么要这么解决,这行配置的具体作用是什么,在网上没有找到合理的解释。(如果有朋友知道,请告之)。

方案二:

如果上述方案还是不行的话,那么就可能是你的数据的权限没有分配,执行以下命令

1、d:\mysql\bin\>mysql   -h   localhost   -u   root //这样应该可以进入MySQL服务器

2、mysql>GRANT   ALL   PRIVILEGES   ON   *.*   TO   'root'@'%'   WITH   GRANT   OPTION //赋予任何主机访问数据的权限

3、mysql>FLUSH   PRIVILEGES //修改生效

4、mysql>EXIT //退出MySQL服务器

问题搞定了。说到命令行连接mysql,不得不说的一个问题就是,刚按照的mysql数据库,是无法通过命令行连接到数据库的,也就是说在cmd中直接敲入mysql是无效的,这里我们需要在环境变量中的path中加上mysql安装路径下bin文件的路径,这样就可以使用了。

方案三:

其实这个还是和方案二解决方案是一样的,不过修改方式不一样罢了,我们直接用mysql的连接工具,打开mysql数据库中的系统库mysql中的表user,如图:

所示,表中有两条数据,第一条数据赋予ip为localhost的主机root权限。第二条数据为赋予所有ip地址的主机root权限,也就是允许其他机器访问数据库。如果没有第二条数据,也会出现上述问题。朋友可以手动添加下如图中的第二条数据。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章