操作系统版本:CentOS6 64位

1,安装boost库。因为MySQL Connector/C++使用了boost库,所以必须先安装boost库,我们才能使用MySQL Connector/C++。

点“系统”->"管理"->"添加删除软件",在查询文本框里输入"boost",然后查找。查找完毕后,在右面的查找结果列表中选择"The Boost C++ headers and shared development libraries ",随后安装它,这样boost库就安装完毕了。

2,准备MySQL Connector/C++的头文件和库文件。到mysql官方网站(http://www.mysql.com/downloads/connector/cpp/)选择和自己操作系统对应的MySQL Connector/C++下载下来。

CentOS6 64位下载链接:http://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-1.1.1-linux-glibc2.3-x86-64bit.tar.gz

CentOS6 32位下载链接:http://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-1.1.1-linux-glibc2.3-x86-32bit.tar.gz

3,把MySQL Connector/C++的头文件和库文件拷贝到正确位置。解压缩我们下载的MySQL Connector/C++压缩包,里面有文件和目录,我们只需要“include”和"lib"目录中的文件。

a,拷贝解压缩包中的“include”目录中所有文件到“/usr/include”。

b,拷贝解压缩包中的“lib”目录中所有文件到“/usr/lib”。

4,编写测试C++程序代码。建立一个名称为“mysqlcpp.cpp”的文件,在里面输入下面代码:

#include <iostream>  
    #include <sstream>  
    #include <memory>  
    #include <string>  
    #include <stdexcept>  
      
    using namespace std;  
      
    #include <mysql_connection.h>  
    #include <mysql_driver.h>  
    #include <cppconn/driver.h>  
      
    using namespace sql;  
      
    #define DBHOST "tcp://localhost:3306"  
    #define USER "root"  
    #define PASSWORD ""  
      
    int main() {  
      Driver *driver;  
      Connection *conn;  
      driver = get_driver_instance();  
      conn = driver->connect(DBHOST, USER, PASSWORD);  
      conn->setAutoCommit(0);  
      cout<<"DataBase connection autocommit mode = "<<conn->getAutoCommit()<<endl;  
      delete conn;  
      driver = NULL;  
      conn = NULL;  
      return 0;  
    }

5,编译源代码。在终端中进入上面程序源文件所在目录,随后输入:g++ -o mysqlcpp -lmysqlcppconn mysqlcpp.cpp ,如果一切顺利,那么应该没有任何错误提示,随后终端等待下一次输入命令。这个时候我们在源文件目录中会发现已经顺利编译出来一个名字为"mysqlcpp"的可执行文件。我们在终端中输入:./mysqlcpp ,如果我们的MySQL服务器正常工作,那么应该可以看到这个测试程序的正确输出内容了。如果不能连接到MySQL ,请检查MySQL数据库是否工作正常,在确认正常工作后,重新在终端中执行这个编译出来的可执行文件。

6,在Eclipse CDT中使用MySQL Connector/C++。我们在CDT中新建一个C++工程,随后创建一个C++源文件,把上面代码拷贝到这个刚刚创建的源文件中。我们设置一下CDT的参数。

“properties”->"C/C++ Build"->"settings",随后在右侧的“Tools Settings”下面选择“GCC C++ Linker”里选择“libraries”,在右侧上面的“libraries”中增加一项“mysqlcppconn”,随后保存退出就可以了。

上面配置完毕后,我们就能够顺利编译测试程序了,编译完毕后,我们在“Run”菜单下的“Run Configurations”里加上我们刚刚编译出来的可执行文件,随后运行就能够在控制台里看到我们程序的输出了。

在CentOS里使用MySQL Connector/C++的更多相关文章

  1. 设置CentOS里的Mysql开启客户端远程连接

    CentOS系统安装好MySQL后,默认情况下不支持用户通过非本机连接上数据库服务器,下面是解决方法: 1.在控制台执行 mysql -u root -p mysql,系统提示输入数据库root用户的 ...

  2. 【菜鸟玩Linux开发】在C++里操作MySQL

    MySQL是一个的开源关系型数据库,对于服务端开发来说是一个优秀的选择.本篇内容将介绍如何在C++程序里操作MySQL数据库. ———————————————————————————————————— ...

  3. Centos下安装mysql 总结

    一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...

  4. 关于MySQL Connector/C++那点事儿

    如果从官方直接下载的库使用时遇到类似如下的问题: 原因是官方提供的库文件版本与需要的库版本不匹配,提供的debug版本使用的是MT版本,在debug模式下会出现内存错误,导致crash. TestC. ...

  5. python使用mysql的三个模块:mysql.connector、sqlalchemy、MySQLdb

    在python中使用mysql其实很简单,只要先安装对应的模块即可,那么对应的模块都有什么?官方也没指定也没提供,pcat就推荐自己遇到的3个模块:mysql.connector.sqlalchemy ...

  6. 1分钟完美安装最新CentOS+Nginx+PHP-FPM+MySQL

    PHP 5.3.1 MySQL 5.0.89 Nginx 0.8.33 或 0.7.65 (可选) 现在,我们可以快速全自动搞定 CentOS + Nginx + PHP-FPM + MySQL 的安 ...

  7. 第11月第20天 sqlite3_open xcode mysql connector

    1. sqlite3_open 死锁 * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP frame ...

  8. (转)CentOS 7 下 MySQL 5.7 配置 Percona Xtrabackup

    CentOS 7 下 MySQL 5.7 配置 Percona Xtrabackup 原文:http://qizhanming.com/blog/2017/05/10/install-percona- ...

  9. mysql Connector C++ 操作数据库 vs2012

    最近想写一个应用程序,要连接和操作mysql数据库,以前只是用c++ builder 操作过mysql数据库,那是用控件操作的,感觉比较弱智,但是c++ builder vcl控件感觉在多线程里比较坑 ...

随机推荐

  1. 获取UIColor中的RGB值(本人亲测多个获取RGB值的方法,这个最有效)

    在自己研发的项目个人项目中,碰到一个从颜色中获取RGB值的需求. 在网上找了许久,也有一些方法可以获取RGB值,但不能获取黑白以及灰色的值(他们是非RGB颜色空间,不清楚什么意思,反正亲测确实获取不了 ...

  2. (五)CoreData 使用 (转)

    第一次真正的使用CoreData,因此也会写下体会和心得...等有时间 Core Data数据持久化是对SQLite的一个升级,它是ios集成的,在说Core Data之前,我们先说说在CoreDat ...

  3. Android布局— — —线性布局

    以水平或垂直的方式显示界面中的控件 线性布局 语法格式: <LinearLayout xmlns:android="http://schemas.android.com/apk/res ...

  4. poj1080 dp

    //Accepted 200 KB 0 ms //dp //dp[i][j]表示s1用前i个,s2用前j个字符能得到的最大分数 //dp[i][j]=max(dp[i-1][j]+score[s1[i ...

  5. asp中cookie欺骗/注入原理与防范

     一直以来sql注入被广泛关注,也有专门的防注系统代码.发现,如果代码不严谨也会有cookie欺骗/注入的情况.原来, 防注入系统没有注意到 Cookies 的问题!这里以ASP为例,分析一下cook ...

  6. Objective-c 命名规则

    1.方法名:第一个单词的首字母用小写,后面的单词首字母要大写<骆驼规则>,例如doSomething . doSomethingElse 2.类名:第一个单词的首字母要求大写,后面的单词首 ...

  7. Android如何分析和研究Monkey Log文件

    Log 在android中的地位非常重要,要是作为一个android程序员不能过分析log这关,算是android没有入门吧 . 下面我们就来说说如何处理log文件 . 什么时候会有Log文件的产生 ...

  8. svn认证失败时的解决

    删除用户目录下的.subversion文件夹,这个文件夹记录了密码! rm .subversion/ -rf

  9. swift系统学习控件篇:UIProgressView+NSTimer+UIstepper+UIAlertController

    工作之余,学习下swift大法.把自己的学习过程分享一下.当中的布局很乱,就表在意这些细节了.直接上代码: UIProgressView+NSTimer+UIstepper UIStepper UIP ...

  10. codeforces #Round354-div2-D(BFS)

    题目链接:题目链接 题意:一个n*m的区域,每个格子都有上下左右四个门,相邻的两个格子A可以通向B当且仅当A对B的门和B对A的门都打开,问从起点S到终点T需要的最短时间 #include<bit ...