vc2008连接mysql5.0.45,我机器系统xp:if(mysql_init (&sqldb_init)==NULL)
{
AfxMessageBox(_T("数据库对象初始化错误")); }
if(!mysql_real_connect(&sqldb_init,"我的ip地址","root","我的密码","数据库名",3306,NULL,0))

CString error_num=mysql_error(&sqldb_init);
AfxMessageBox("程序与数据库初始化连接错误,程序将关闭!\n错误号:"+mysql_error(&sqldb_init)); 
return FALSE;
}
本机调试运行正常,拷贝到其它机器上去(xp)(静态链接编译,并把本机libmysql.dll一起拷贝过去),运行无法连接数据库。
mysql_error值:Can't connect to MySQL server on "我的IP“(10060)
请问这是为啥啊?谢谢

解决方案 »

  1.   

    1、检查防火墙,如果不能确定,那就把防火墙关了。
    2、ping server
    3、在client上使用MySQL的客户端进行连接,先确保MySQL自身的客户端可以远程连接。
       如果MySQL自身的客户端也无法连接:
          a)检查你所使用的用户是否可以远程连接。因为MySQL的用户要想远程连接也需要进行授权
            授权的方法见:
            http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#adding-users
          b)检查MySQL的客户端是否安装正确
    4、检查你的源代码是否有错误,看看还有没有什么地方的代码也需要修改但是你忘记改了。
      

  2.   

    S扫描器扫了一下,3306扫不到。 修改了一下防火墙,能用了。windows防火墙默认关闭此端口,打开就好了。
    为什么防火墙不提示,害我郁闷半天!