Ubuntu 14.04下关于C连接MySQL数据库的环境配置
来源:互联网 发布:爱讯纺织软件 编辑:程序博客网 时间:2024/05/01 11:10
听说数据库的一个中期大程要将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
- Ubuntu 14.04下关于C连接MySQL数据库的环境配置
- Ubuntu下关于Mysql及其图形界面的配置
- Ubuntu下关于Mysql及其图形界面的配置
- windows下关于Objective-C开发环境的配置
- Ubuntu下关于tftp的配置
- windows下关于QT5连接mysql的几点问题
- ubuntu下关于git的配置和使用
- Ubuntu下关于Transmission daemon的安装与配置
- WIN7 + VS2015环境下关于GLEW和GLFW的配置
- linux下关于mySQL的安装和配置
- ubuntu 下关于PCAP_FRAMES设置的原文
- Ubuntu下关于tomcat的几个常见问题
- ubuntu下关于python的东东
- ubuntu系统下关于环境变量的修改
- Ubuntu 13.10 下关于Java的 classpath
- Ubuntu 下关于crontab的使用详解
- Ubuntu下关于crontab的使用详解
- 整理下关于数据库备份的学习
- gdb移植到开发板
- Java命令学习系列(零)——常见命令及Java Dump介绍
- 如何让Toast消息在应用退出后不再显示
- HDU 1257 最少拦截系统
- android的 root权限
- Ubuntu 14.04下关于C连接MySQL数据库的环境配置
- Mysql忘记密码之Linux下重置密码
- 使用Gson将List转化为JSON并转回list
- 如何启动、关闭和设置ubuntu防火墙
- css常用的中文字体
- Java命令学习系列(一)——Jps
- Linux中Memcached的安装和配置方法
- Android Studio: 对gradle的理解
- 保证分布式系统数据一致性的6种方案