linux 下c/c++ 连接mysql数据库全过程-----已经通过验证

安装Mysql(还可以下载 .gz包,解压安装,再此只介绍此法,其实都一样了,或百度一下。。。重点在下下下下面

1.首先安装Mysql服务器

sudo apt-get install mysql-server

2.然后安装客户程序

sudo apt-get install mysql-client

3.启动服务器

sudo /etc/init.d/mysql restart

4.当服务器启动之后,你可以使用netstat命令来查看服务器的运行情况

sudo netstat -tap grep mysql

5.既然服务器已经启动了,我们登录进去看看吧

mysql -u root -p

其中,root为默认的Mysql数据库管理员账户,回车之后应该输入密码,相信密码在安装时你已经设置过了,如果你没设置的话,默认密码为空,因此直接敲回车就可以了,或者还有一个默认密码是db_user_password.

重点

      在装好mysql-server和mysql-client后,就来装类似windows 下的驱动;

方法一:

      

1.安装必需的开发包

sudo apt-get install gcc g++ libgcc1 libg++ make gdb

2.安装Mysql的C语言开发包(放心,C++一样用的)

sudo apt-get install libmysql++2c2a libmysqlclient15-dev libmysqlclient15off libmysql++-dev

3.把lib文件复制到库里

sudo cp /usr/lib/mysql/* /usr/lib/

现在,你已经可以使用C/C++链接Mysql了,但是,接下来你必须接受一个残酷的事实,以后编写C/C++程序时,你必须包含mysql.h文件

#include “/usr/include/mysql/mysql.h”

注意:

上面的方法在执行第一个 sudo 命令时,有可能报错,

什么什么未满足依赖关系,各种冲突,等等,我就是卡在这的。。。。后来各种查资料。。。。无意间,另一种方法出现。。。(我也是报错,然后去下面的网址下载了ubuntu16.04的64位,然后就过了)


方法二:那就是下载(mysql-connector-c++-1.1.3-linux-glibc2.3-x86-64bit.tar.gz),(选取适合自己平台版本的,我的是这个。。。)

网址:

http://dev.mysql.com/downloads/connector/cpp/

找到对应的然后右键复制下载链接

下载:wget https://dev.mysql.com/get/Downloads/Connector-C++/mysql-connector-c++-1.1.9-linux-ubuntu16.04-x86-64bit.tar.gz(这是我的系统版本ubuntu16.04的64位:https://dev.mysql.com/get/Downloads/Connector-C++/mysql-connector-c++-1.1.9-linux-ubuntu16.04-x86-64bit.tar.gz)

解压:tar -zxvf  mysql-connector-c++-1.1.3-linux-glibc2.3-x86-64bit.tar.gz

然后将解压得到的文件里对应的库,头文件拷贝到系统能找到的位置,就像上面做的那样。

 sudo cp  mysql-connector-c ????/lib/*    /usr/lib

 sudo cp  mysql-connector-c????/include/*    /usr/include/


ok,然后,测试程序:

//test.cpp

#include <stdio.h>

#include "mysql/mysql.h"


int main()

{

  const char *host "localhost";//ip地址

  const char *user "root";//数据库用户名

  const char *pass "88888888";//自己数据库密码

  const char *db   "name";//表名

  MYSQL mysql;

  mysql_init(&mysql);


  if (!mysql_real_connect(&mysql, host, user, pass, db, 0, NULL, 0)) {

    printf("%s", mysql_error(&mysql));

  }

  else {

    printf("YES, Conected succeed!");

  }

  mysql_close(&mysql);

  return 0;

}


编译:

                              gcc -o test test.cpp -lmysqlclient

(个人:当初看到这里的时候,编译还是出问题,后来发现,原来必须得加-lmysqlclient,本人linux菜鸟一枚)

执行: ./test

成功链接上


原文网址:http://www.cnblogs.com/daimage/archive/2012/02/25/2367534.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值