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