1. 安装编译工具 ---- 这将安装gcc/g++/gdb/make 等基本编程工具:

    sudo apt-get install build-essential

  2. 输入命令"sudo apt-get install mysql",再连按2下Tab键,目的是查看自己当前的软件源中有关mysql的信息。

  3. 我选择安装:

    sudo apt-get install mysql-server mysql-client

  4. 输入命令"sudo apt-get install libmysql",再连按2下Tab键,查看自己当前的软件源中有关libmysql的信息。

  5. 其他程序在编译使用MySQL时链接使用的库和头文件,我选择安装libmysqlclient-dev(选择安装其他的也可以,但不一定都能编译通过):

    sudo apt-get install libmysqlclient-dev

  6. 查看安装的MySQL版本:

    mysql --version

    连接MySQL客户端函数库所需要的头文件的存放位置:

    mysql_config --cflags

    连接MySQL客户端函数库所需要的库文件的存放位置

    mysql_config --libs

  7. 测试代码如下:

    //查询操作

    #include <mysql/mysql.h>

    #include <stdio.h>

    #include <stdlib.h>

    #define HOST "localhost"

    #define USERNAME "用户名"

    #define PASSWORD "密码"

    #define DATABASE "PublicResourcesDB"

    int main(void)

    {

    MYSQL mysql;

    MYSQL_ROW row;

    MYSQL_RES *result;

    unsigned int num_fields;

    unsigned int i;

    mysql_init(&mysql);

    if(!mysql_real_connect(&mysql, HOST, USERNAME, PASSWORD, DATABASE, 0, NULL, 0))

    {

    printf("Connection failed,%s\n",mysql_error(&mysql));

    }

    mysql_query(&mysql, "set names utf8");

    if(!mysql_query(&mysql,"SELECT * FROM area"))

    {

    result = mysql_store_result(&mysql);

    if(!result)

    {

    perror("result error.");

    exit(1);

    }

    num_fields = mysql_num_fields(result);

    while(row = mysql_fetch_row(result))

    {

    for(i=0; i<num_fields; i++)

    {

    printf("%s\t",row[i]);

    }

    printf("\n");

    }

    mysql_free_result(result);

    }

    mysql_close(&mysql);

    return 0;

    }

  8. 编译命令:

    gcc -o mysql_test mysql_test.c  `mysql_config --cflags --libs`

    (或者gcc -o mysql_test mysql_test.c  -lmysqlclient)

    运行命令:

    ./mysql_test

    运行后的结果和用MySQL Workbench查询出来的结果一样。

Linux平台上用C语言实现与MySQL数据库的连接的更多相关文章

  1. linux学习之centos(三):mysql数据库的安装和配置

    前言:mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库, ...

  2. atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js

    atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js 1. 两个方法:: bat vs mysqldump(推荐)  vs   lang  ...

  3. Go语言中使用MySql数据库

    Go语言中使用MySql数据库 1.MySQL驱动 Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种: http ...

  4. Linux平台上DPDK入门指南

    1. 简介 本文档包含DPDK软件安装和配置的相关说明.旨在帮助用户快速启动和运行软件.文档主要描述了在Linux环境下编译和 运行DPDK应用程序,但是文档并不深入DPDK的具体实现细节. 1.1. ...

  5. [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    from:  http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...

  6. Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...

  7. Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置(转)

    原文地址:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建 ...

  8. Linux学习之CentOS(一)--CentOS6.6下Mysql数据库的安装与配置

    在这里我是通过yum来进行mysql数据库的安装的,通过这种方式进行安装,可以将跟mysql相关的一些服务.jar包都给我们安装好,所以省去了很多不必要的麻烦!!! [root@larry ~]# c ...

  9. linux配置mysql数据库远程连接失败

    今天配置linux下mysql数据库可以远程访问的问题,百度这方面的资料有很多,但是方法都一样,都试过了却未能解决,记录一下 第一步:在/etc/mysql/my.cnf下找到bind-address ...

随机推荐

  1. OSPF邻居状态机

    当OSPF邻居建立的过程之中,路由器在和邻居达到完全邻接关系之前,要经过几个状态.这些状态在OSPF RFC2328有相关的定义,这些状态分别是Down, Attempt, Init, 2-Way, ...

  2. Python之2维list转置、旋转及其简单应用

    给一个矩阵,顺时针旋转顺序输出其元素,例如: 对于矩阵: [ 1, 2, 3 ] [ 4, 5, 6 ] [ 7, 8, 9 ] 输出为: 1,2,3,6,9,8,7,4,5 def transpos ...

  3. Spring JDBC批量操作

    以下示例将演示如何使用spring jdbc进行批量更新.我们将在单次批次操作中更新student表中的记录. student表的结果如下 - CREATE TABLE student( id INT ...

  4. nodejs基础 -- 多进程

    Node.js 多进程 我们都知道 Node.js 是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于我们在多核 cpu 的系统上创建多个子进程,从而提高性能. 每个子进程总是带有三个 ...

  5. 随手记录一下 Vue 下来框搜索 select2 封装成vue

    引入布局文件 <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css& ...

  6. WebSphere异常:Servlet has become temporarily unavailable for service

    今天发现WebSphere中的一个应用图片看不见了,单独在浏览器中访问图片的路径http://ip地址:9080/应用/--/images/top.jpg,也不显示图片,并且提示异常Servlet h ...

  7. 阿里云Redis开发规范[转]

    一.键值设计 1. key名设计 (1)[建议]: 可读性和可管理性 以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id ugc:video:1 (2)[建议]:简洁性 ...

  8. 如何在Sql Server中读取最近一段时间的记录,比如取最近3天的或最近3个月的记录。

    如何在Sql Server中读取最近一段时间的记录,比如取最近3天的或最近3个月的记录. 主要用到DATEADD函数,下面是详细语句 取最近3天 select * from 表名where rq> ...

  9. windows 下为Python安装redis

    最近在看<redis实战>,里面的redis示例都是Python写的,先将环境整好 启动redis redis-server.exe  redis.conf 安装了python2.7 安装 ...

  10. Openlayers 3计算长度和面积

    1.比较粗糙的计算方式 计算长度 var length = lineFeature.getGeometry().getLength(); if (length > 1000) { length ...