本机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
关闭防火墙后解决问题。