本地远程登录mysql,用mysql图形工具或者是创建odbc数据源,出现1042错误,提示 can't get hostname for your address.
    现请各位大虾,帮忙look一下,提供些解决方法。

解决方案 »

  1.   

    网络是否连通
    去掉mysql启动参数中的skip-name-resolve 试试
    你是怎样连接MYSQL的?
      

  2.   

    参考下贴中的检查方法并贴出你的检查结果(#43楼)http://topic.csdn.net/u/20090920/22/14d4f597-b7d4-4c24-b0db-abb2956e66c3.html
    [收集]mysql   无法联接故障现象及原因
      

  3.   


       网络我ping过,能通,因为mysql数据库在客户那边,我们这边用mysql-front工具,mysql-gui-tools工具,系统创建odbc数据源测试的,连不上,出现1042错误。
       
      

  4.   

          这边是一个大的内网,有专门的监控软件,防火墙,我们关不了,再就是我让其他在外地的同事访问那台mysql服务器,他们都不能访问,但外地的同事访问我们这边本身的mysql数据库,能访问到。
      

  5.   

    PING能通,那其它的检查结果呢?
      

  6.   

       telnet  ip 端口 也行。
      

  7.   

    在你的MYSQL服务器端,在它的INI文件中加入
    [mysqld] 
    skip-name-resolve 然后重启MYSQL服务试一下,如果可以则是MYSQL服务所在DNS的设置问题。
      

  8.   

    还有一个办法,就是把你自己目前的IP地址,加入到对方机器的/etc/host文件中
    123.234.456.789    nanyu1987_PC
      

  9.   


      现在刚和他们那边协调过,让他们加上这个,但他们得等着mysql服务器不用的时候才能添加,重启服务。希望加上这个就可以了。先谢谢你
      

  10.   

    试试
    [mysqld]
    skip-name-resolve
     
     
    禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注
    意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求
      

  11.   

    那就试一下另一个办法,另HOST后不需要重启。