1.源码

//connect-mysql.c
#include <stdio.h>
#include "/usr/include/mysql/mysql.h"
int main()
{
MYSQL mysql;//need a instance to init
int t,r;//connect the database
mysql_init(&mysql);
if(!mysql_real_connect(&mysql,"localhost","root","yourpassword","mysql",,NULL,))
{
printf("Error connecting to database: %s \n",mysql_error(&mysql));
}
else
{
printf("Connected MySQL successfully! \n");
}
mysql_close(&mysql);
return ;
}

2.头文件链接

#include "/usr/include/mysql/mysql.h"
   这里写死了相应头文件的目录位置,不利于不同系统的程序移埴,在此只是为了测试,以减少代码输入量


3.库文件链接

由于初学者对于mysql配置文件及相应文件所在目录不是很熟悉,这里可以在终端输入

mysql_config

查看相应的文件所在目录

Usage: /usr/lib/mysql/mysql_config [OPTIONS]
Options:
--cflags [-I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE= -fexceptions -fstack-protector --param=ssp-buffer-size= -m32 -fasynchronous-unwind-tables -D_GNU_SOURCE -D_FILE_OFFSET_BITS= -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC -fPIC -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -DMY_PTHREAD_FASTMUTEX=]
--include [-I/usr/include/mysql]
--libs [-L/usr/lib/mysql -lmysqlclient -lpthread -lz -lm -lrt -lssl -lcrypto -ldl]
--libs_r [-L/usr/lib/mysql -lmysqlclient -lpthread -lz -lm -lrt -lssl -lcrypto -ldl]
--plugindir [/usr/lib/mysql/plugin]
--socket [/var/lib/mysql/mysql.sock]
--port []
--version [5.5.]
--libmysqld-libs [-L/usr/lib/mysql -lmysqld -lpthread -lz -lm -lrt -lssl -lcrypto -lcrypt -ldl -laio]
--variable=VAR VAR is one of:
pkgincludedir [/usr/include/mysql]
pkglibdir [/usr/lib/mysql]
plugindir [/usr/lib/mysql/plugin]
 
可以看到库文件信息: --libs           [-L/usr/lib/mysql -lmysqlclient]

 


4.源码编译

这时在终端输入:

gcc connect-mysql.c -L /usr/lib/mysql/ -lmysqlclient

成功编译,然后执行文件,到此连接mysql成功!

 
 

本文出自 “成鹏致远” 博客,请务必保留此出处http://infohacker.blog.51cto.com/6751239/1154999

05-11 20:11