1、首先安装开发包,命令如下:
sudo apt-get install libmysqlclient-dev
这个是必不可少的,一定要安装的。
2、下面是测试用的代码,文件名为test.c:
#include
#include
#include
int main(void) {
MYSQL my_connection;
mysql_init(&my_connection);
if (mysql_real_connect(&my_connection, "localhost", "root", "root", "student", 3306, NULL, 0)) {
printf("Connection success\n");
mysql_close(&my_connection);
} else {
fprintf(stderr, "Connection failed\n");
if (mysql_errno(&my_connection)) {
fprintf(stderr, "Connection error %d: %s\n", mysql_errno(&my_connection), mysql_error(&my_connection));
}
}
return EXIT_SUCCESS;
}
其中student是lz测试用的数据库,3306是默认访问端口,root既是用户名也是密码。
3、编译代码,命令如下:
gcc -I/usr/include/mysql test.c -L/usr/lib/mysql -lmysqlclient -o test
其中/usr/include/mysql为头文件mysql.h所在的目录,而/usr/lib/mysql是对应的库文件mysqlclient所在的目录,这个选项是链接时是要用到的。
lz是用eclipse进行开发的,这就要在eclipse中进行一些设置,右击项目文件夹,对Propertites->C/C++Build->Settings->Tool Settings的GCC C Complier中的Includes和GCC C Linker的Libraries进行配置,添加相应的编译和链接选项信息,如下面两张图:
4、运行代码:
./test
访问成功时输出Connection success
访问失败时输出Connection failed以及相应的错误码和错误原因
这样就可以访问数据库了。