ubuntu环境下mysql的安装配置和编程操作
来源:互联网 发布:服装设计电脑绘图软件 编辑:程序博客网 时间:2024/05/14 11:03
关于mysql的安装和配置我就不多说了,这边有一篇流程非常详细
http://blog.csdn.net/q623702748/article/details/51724124
接下来我们怎么在程序中操作数据库呢,之前通常我都是用QT的库,
但是考虑到我们是做服务器开发的话,仅仅因为操作数据库把笨重的qt安装上绝对是不合适的!
之前听说c语言本身就带有操作mysql的接口,但是我在程序中加上#include <mysql/mysql.h>
但是编译时报错 :
fatal error:mysql.h: No such file or directory
后来查资料才知道出现这个错误的原因是因为体系没有安装mysql开发库!
这时候我才知道c语言操作mysql需要安装一个独立的开发库!
执行下面的指令安装:
sudo apt-get install libmysqlclient-dev
编译时需要链接 -lmysqlclient
程序中调用了mysql的函数,链接动态编译:
gcc -o program program.c -L/usr/lib/mysql -lmysqlclient
gcc -o program program.c -L/usr/lib/mysql -lmysqlclient
makefile:
mydb:main.cpp
g++ -o mydb main.cpp -lmysqlclient -I/usr/include/mysql/ -L/usr/lib/mysql
mydb:main.cpp
g++ -o mydb main.cpp -lmysqlclient -I/usr/include/mysql/ -L/usr/lib/mysql
下面是main.cpp
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <mysql/my_global.h>#include <mysql/mysql.h>#define MAX_COLUMN_LEN 32intfunc(){ //分配或初始化一个mysql对象,该对象mysql_real_connect()函数链接数据库时需要使用 MYSQL *con = mysql_init(NULL); if (NULL == con) { fprintf(stderr, "%s\n", mysql_error(con)); return -1; } //建立一个指向数据库的链接,我们需要指定链接句柄,主机名,数据库账号和用户密码 //最后四个参数是数据库名,端口号,unix套接字和客户端标记,我们需要超级用户权限来创建新的数据库 if (NULL == mysql_real_connect(con, "localhost", "root", "123456", NULL, 0, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(con)); mysql_close(con); return -1; } //此函数执行一个SQL语句,语句“CREATE DATABASE mydb”用于创建一个新的数据库mydb; if (mysql_query(con, "CREATE DATABASE huangtaodb")) { fprintf(stderr, "%s\n", mysql_error(con)); mysql_close(con); return -1; } //获取服务器信息和主机信息 fprintf(stdout, "%s\n", mysql_get_server_info(con)); fprintf(stdout, "%s\n", mysql_get_host_info(con)); //关闭数据库链接。 mysql_close(con);}int main(int argc, char * argv[]){ //显示MYSQL客户端版本 printf("MYSQL client version: %s\n", mysql_get_client_info()); func(); return 0;}
下面我们创建一个用户
mysql -uroot -p123456
CREATE USER 'bjqe'@'localhost' IDENTIFIED BY '123456';
将mazhaodb这个数据库的所有权限授予bjqe用户
GRANT ALL ON mazhaodb.* TO 'bjqe'@'localhost' IDENTIFIED BY "123456" WITH GRANT OPTION;;
通过bjqe这个用户对mazhaodb这个数据库进行操作!
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <mysql/my_global.h>#include <mysql/mysql.h>#define MAX_COLUMN_LEN 32intfinish_with_error(MYSQL *con){ fprintf(stderr, "%s\n", mysql_error(con)); mysql_close(con); return -1;}intfunc(){ MYSQL *con = mysql_init(NULL); if(NULL == con) { fprintf(stderr, "%s\n", mysql_error(con)); return -1; } if(NULL == mysql_real_connect(con, "localhost", "bjqe", "123456", "mazhaodb", 0, NULL, 0)) { finish_with_error(con); } if(mysql_query(con, "DROP TABLE IF EXISTS Phones;")) { finish_with_error(con); } if(mysql_query(con, "CREATE TABLE Phones(Id INT,Name TEXT,Price INT);")) { finish_with_error(con); } if(mysql_query(con, "INSERT INTO Phones VALUES(1, '三星GALAXY', 5199);")) { finish_with_error(con); } mysql_close(con); return 0;}int main(int argc, char * argv[]){ //显示MYSQL客户端版本 printf("MYSQL client version: %s\n", mysql_get_client_info()); func(); return 0;}
1 0
- ubuntu环境下mysql的安装配置和编程操作
- ubuntu环境-Django下快速安装和配置MySQL
- Ubuntu安装配置Mysql和ubuntu下mysql的常用命令
- ubuntu下java环境的安装和配置(详细)
- Ubuntu 12.04 下jdk的安装和java环境配置
- ubuntu下的编程环境配置
- ubuntu下nginx+Mysql+php的安装和配置
- ubuntu下nginx+Mysql+php的安装和配置
- Ubuntu下PHP+MySQL+Apache+PHPStorm的安装和配置
- ubuntu下mysql-http-udf的安装和配置
- Ubuntu环境下MySQl的安装
- Ubuntu下安装和配置Mysql
- ubuntu下mysql安装和配置
- Ubuntu下Django安装和mysql配置
- Ubuntu环境下配置mysql
- ubuntu下mysql的安装与配置
- ubuntu下的mysql安装配置卸载
- ubuntu下mysql的安装与配置
- Oracle 11g R2 DBA 操作指南(15) 事务(Transaction)
- 016-JLE JNG(小于等于)
- nyoj613免费馅饼
- Django项目该如何布局?我推荐这样做
- 《GPU高性能编程CUDA实战》学习笔记(六)
- ubuntu环境下mysql的安装配置和编程操作
- 给自己的目标
- 图像形态学处理(4. 击中击不中变换)
- IO高效流{Buffered——XXXX}
- svn查看日志(show log)显示时间为1970的解决方法
- 【数据结构】数据结构概览
- Redis的五种对象类型及其底层实现
- nohup
- CString转char*,复制