一、Linux环境下连接Mysql
以Ubuntu 16.04 LTS为例,安装 libmysqlclient-dev 包,安装 libmysqld-dev 包
apt-get install libmysqlclient-dev
apt-get install libmysqld-dev
安装完成后,新建main.c测试文件
#include <stdio.h>
#include <mysql/mysql.h>
#include <unistd.h>
#include <stdlib.h>
int main() {
MYSQL * conn;
conn = mysql_init(NULL);
if (!mysql_real_connect(conn,"localhost","root","********","db_books",0,NULL,0))
{
printf("Can not connect db_books! \n");
} else{
printf("connect success! \n");
}
if (mysql_query(conn,"select * from tb_book"))
{
printf("query db_books faild! \n");
} else{
printf("query db_books success!\n");
}
printf("Hello, World!\n");
return 0;
}
控制台编译源程序
# gcc -g -o mysql -I/usr/include/mysql/ main.c -L/usr/lib64/mysql/ -lmysqlclient -lz
//main.c 是你所要编译的源文件
//mysql -o 后的mysql 是自定义生成的文件名
编译后运行
# ./mysql
Linux C控制台打印如下
二、Clion连接Linux,远程连接mysql(这里测试用Windows子系统Linux),其他原理相同
安装组件包
apt-get install libmysqlclient-dev
apt-get install libmysqld-dev
编辑CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
project(Cproject C)
set(CMAKE_C_STANDARD 99)
set(INC_DIR /usr/include/mysql/)
set(LINK_DIR /usr/lib/x86_64-linux-gnu/)
include_directories(${INC_DIR})
link_directories(${LINK_DIR})
link_libraries(mysqlclient)
add_executable(Cproject main.c)
target_link_libraries(Cproject mysqlclient)
#######################以下为注释###########################
//Cproject替换成你自己的项目名称
//CMakeLists.txt中,引用的库为mysqlclient,而不是libmysqlclient,这里折磨了我好久。。。。。。。。
//此C版本为C99版本,其余未测
查看mysql文件,/usr/include/是否存在mysql.h ,若存在,在使用时用
#include<mysql.h>
若不存在,请看下一级目录/usr/include/mysql/,若存在mysql.h,请使用
#include<mysql/mysql.h>
放入连接数据库的c代码,上面那个连接数据库源码拿来就可以用,原理相同,这里不啰嗦了
Clion控制台打印如下: