【Mysql】linux连接mysql错误解决方案
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",0,NULL,0)) { printf("Error connecting to database: %s \n",mysql_error(&mysql)); } else { printf("Connected MySQL successfully! \n"); } mysql_close(&mysql); return 0; }
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=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fasynchronous-unwind-tables -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC -fPIC -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -DMY_PTHREAD_FASTMUTEX=1] --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 [0] --version [5.5.28] --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