求救 mysql + C 编程!

求救 mysql + C 编程!

小弟刚刚开始学MySQL API 的编译,就遇在问题,望各位大侠帮忙。
我编了一个连接MYSQL的小程序
代码如下(client_conn.c):
#include <stdio.h>
#include <mysql/mysql.h>

#define def_host_name NULL
#define def_user_name NULL
#define def_password  NULL
#define def_db_name   NULL

MYSQL *conn ;

int
main(int argc,char *argcv[])
{
   conn = mysql_init(NULL);
   if (conn == NULL)
   {
       fprintf(stderr,"mysql_init()failed(probably out of     
               memory)");
       exit(1);   
   }
   if (mysql_real_connect(
                      conn,
                      def_host_name,
                      def_usr_name,
                      def_password,
                      def_db_name,
                      0,
                      NULL,
                      0))
   {
       fprintf(stderr,"mysql_real_connect() failed:\n Error %u(%s)
              \n",mysql_errno(conn),mysql_error(conn));
       exit(1);  
   }
   mysql_close(conn);
   exit(0);
}

编译好后,运行./client_conn 出错提示如下
mysql_real_connect() failed :
Error 2002 (can't connect to local MySQL server through socket '
/var/lib/mysql/mysql.sock'(2))

****************************************
请问各位大侠怎么解决这个问题。
我的MySQL能用的。      
#include "/usr/include/mysql/mysql.h"
#include <stdlib.h>
#include <stdio.h>
#define def_host_name "localhost"
#define def_user_name "root"
#define def_password ""
#define def_db_name "member"

MYSQL conn;
int main(int argc, char *argcv[])
{
mysql_init(&conn);
mysql_options(&conn,MYSQL_READ_DEFAULT_GROUP,"con");
if(&conn==NULL){
printf("mysql_init()failed(probably out of memory)");
exit(1);
}
if(!mysql_real_connect(&conn,def_host_name,def_user_name,def_password,def_db_name,0,NULL,0))
//if(!mysql_real_connect(&conn,"localhost","root","","member",0,NULL,0))
{printf("mysql_real_connect()failed:\n Error %u(%s)\n",mysql_error(&conn),mysql_error(&conn));
exit(1);
}
mysql_close(&conn);
exit(0);
}

第一:你需要mysql_options;
第二:你需要mysql对象 如果只是一个指针 那么你需要为他分配空间
第三:你的mysql_real_connect的判断应该是非