linux环境下使用C语言连接MySQL数据库

#include <stdio.h>
#include "mysql.h"   //使用MYSQL类库函数

int main(void)
{
    MYSQL *connp = mysql_init(NULL);
    if(!connp) {
        printf("error 1\n");
        return -1;
    }
    connp = mysql_real_connect(connp, "localhost", "root","", "test", 0, NULL, 0);   //数据库连接信息  ip  用户名 密码 数据库名
    if(connp) {
        printf("connect ok ...\n");
    } else {
        printf("connect error ...\n");
    }

    mysql_close(conn_ptr);
    return 0;
}

直接使用 gcc mysql.c  编译会提示找不到 mysql.h, 编译时需要指定 mysql.h 头文件和 mysql库的位置

先用 l 搜索一下你的linux上没有这两个文件

locate mysql.h      ##在你的lINUX系统里查找mysql.h头文件
locate libmysqlclient.so  #在你的lINUX系统里查找mysqlclient 库文件

要是找不到,那么就证明没有安装mysqlclient类库。  执行以下命令安装:

sudo apt-get install libmysqlclient-dev  #ubuntu、Debian等系统使用这条命令
sudo yum install libmysqlclient-dev   #Redhat、CentOS等系统使用这条命令

安装过后 然后在搜索一下 mysql.h 文件

updatedb   #先更新一下本地文件数据库
locate mysql.h  #然后重复第一步 在你的lINUX系统里查找 mysql.h
locate libmysqlclient.so  #在你的lINUX系统里查找mysqlclient 库文件

找到了 :

/usr/include/mysql/mysql.h     mysql.h在/usr/include/mysql/目录下

/usr/lib/arm-linux-gnueabihf/libmysqlclient.so   libmysqlclient.so在/usr/lib/arm-linux-gnueabihf/目录下

然后编译的时候加上相应的参数即可:

gcc mysql.c -L/usr/lib/arm-linux-gnueabihf/ -I/usr/include/mysql -lmysqlclient

暂无评论

发表评论