Keep on going, never give up.

Linux下C/C++编程访问MYSQL

本文介绍Linux下使用C/C++编程访问MYSQL数据库方法,归纳以下方法其实也很简单:安装MYSQL、包含mysql.h头文件、写main函数即可,本文测试系统为Ubuntu11.10,其它L家族系统方法类似。

一、安装mysql数据库

sudo apt-get install mysql-server mysql-client

自动安装最新版本mysql(包括server和client端,区别基本可理解为mysql-server主要提供MYSQL系统服务,mysql-client主要提供MYSQL访问终端,也可只装mysql-server),安装完成后,MySQL服务会自动启动。

检查 MySQL 服务运行状态:

sudo netstat -tap | grep mysql

手动启动mysql:

sudo /etc/init.d/mysql restart

停止mysql:

sudo /etc/init.d/mysql stop

更多:

MySQL无法启动、无法停止解决方法

如何给MySql创建连接用户并授权

二、安装mysql开发包

sudo apt-get install libmysqlclient-dev

Ubuntu Package查询地址(输入关键词查询到最新的package名字,比如libmysqlclient,然后装最新的版本):

http://packages.ubuntu.com/

三、如何调用MYSQL库文件

加入头文件: #include <mysql/mysql.h>

四、编译方法

gcc -o test test.c -lmysqlclient

或(c++程序)

g++ -o test test.cpp -lmysqlclient

还是找不到mysql.h?添加参数-I/usr/include/mysql/看看(示例如下),假设mysql.h在该目录下。

gcc -o test test.c -lmysqlclient -I/usr/include/mysql/

执行:

./test

五、实例代码

#include "mysql.h"
#include "stdio.h"
#include <string.h>
#include <algorithm>

MYSQL DbObj;//handle
MYSQL_RES *pRes;//results
MYSQL_ROW sqlrow;//rows

int main()
{
	char tmp[255];
	mysql_init(&DbObj);

	if (!mysql_real_connect(&DbObj, host,usr, pass, db, 0, NULL, 0)) 
	{
			return 0;
	}

	sprintf(tmp,"select * from usertb where name=\'abc\' and pwd=\'123456\'");
	int res=mysql_query(&DbObj,tmp);
	pRes = mysql_use_result(&DbObj); 
	if((sqlrow=mysql_fetch_row(pRes))!=NULL)
	{
		mysql_free_result(pRes);
		printf("OK.\n");
	}
	else
	{
		printf("Failed.\n");
	}

	mysql_close(&DbObj);
	return 0;
}

参考资料:

MYSQL安装指南:Ubuntu中文网

ubuntu下mysql安装与开发包配置:百度空间

更多文章:

修改MySQL连接数与MySQL连接数超限原因分析

MySQL数据类型及范围用法一览表

MySQL无法启动、无法停止解决方法

如何给MySql创建连接用户并授权

MySQL的系统保留字一览表 

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.