mysql_real_connect()数据库连接出错

本机ip:219.223.251.41

具体的连接代码

bool mysql_conn(MYSQL &mysql)
 30 {
 31    char *host = "219.223.251.62"; //old 249
 32    char *user = "root";
 33    char *passwd= "hitsz";
 34    char *db = "bond";
 35      if( mysql_init(&mysql) == NULL )
 36    {
 37       return false;
 38    }
 39    mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"gbk");
 40    if (mysql_real_connect(&mysql,host,user,passwd,db,0,NULL,0) == NULL)
 41    {
 42       fprintf(stderr, "error: %s",mysql_error(&mysql));
 43           cout<<"219.223.251.29(249) connect error!"<<endl;
 44       return false;
 45    }
经过gdb调试,错误为段错误,最终定位到下面一行:
if (mysql_real_connect(&mysql,host,user,passwd,db,0,NULL,0) == NULL)

处出错,连接不了219.223.251.62的数据库,结果发现是62服务器的防火墙问题。

登陆219.223.251.62的主机,运行命令:

 service iptables stop

关闭防火墙后解决问题。

你可能感兴趣的:(mysql,数据库,user,service,防火墙,null)