Ubuntu 14.04下关于C连接MySQL数据库的环境配置

听说数据库的一个中期大程要将SQL嵌入C来编写一个图书管理系统,听说这个任务的要求的一开始我其实是,是拒绝的。

环境配置基于环境
Ubuntu 14.04 LTS
其他Ubuntu版本应当大同小异,但不保证成功。

安装

更新包信息:
$ sudo apt-get update

安装MySQL的服务器与客户端:
$ sudo apt-get install mysql-server mysql-client

在安装mysql-server的时候需要初始化root的密码,会有可视化的界面。

安装MySQL客户端的库:
$ sudo apt-get install libmysqlclient-dev

然后,然后就没有然后了,环境已经配置完成。

构建

在构建的时候也有特殊的姿势。
对于一个demo.c

#include <stdio.h>
#include <mysql/mysql.h>

#define DB_HOST "127.0.0.1" // Database Host: 默认为 127.0.0.1 即localhost
#define DB_USER "YOUR_USERNAME" // 用户名,要确保对数据库有权限
#define DB_PASS "YOUR_PASSWORD" // 密码
#define DB_DB "YOUR_DATABASE" // 数据库名,如果没有要先新建。

int main(){
    MYSQL mysql;
    mysql_init(&mysql);
    MYSQL *conn = mysql_real_connect(&mysql, DB_HOST, DB_USER, DB_PASS, DB_DB, 0, 0, 0); // 对确定的数据库建立一个连接,如果失败返回一个空指针
    if(conn == NULL){
        printf("Connection Failed");
        return 1;
    }
    printf("Connection Successed");
    return 0;
}

在编译的时候要加入很多参数
$ gcc demo.c -lmysqlclient

一些关于gcc代码组织的题外话
这里默认mysql.h的路径为/usr/include/mysql/mysql.h
并且默认mysql 的库位于 /usr/lib
如果不是的话,要使用-I 来控制头文件的位置、使用-L来控制库文件的位置
最后要加入-lmysqlclient 来连接 mysqlclient库,否则会出现 undefined reference的错误。

如果构建没有问题,那就可以尝试运行了,利用包管理器安装的库运行起来多半是没有问题的。

不管运行的时候数据库是否连接成功,配置已经完成。

如果连接失败了,就先检查用户是否存在/密码是否正确/数据库是否存在/用户对数据库是否具有足够权限!

于是我要开始苦逼地编图书管理系统了QAQ

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值