Mysql是数据库中的主流,因此我一直以为在Linux下配置会很很容易,结果Google了大半天,大部分网页只说了如何安装Mysql之类的废话,对如何使用C/C++连接Mysql却只字不提,或者提的方法也根本不可用.下面列出一种可行的方法,我用的是Ubuntu,其他发行版应该也大同小异.

安装Mysql

.首先安装Mysql服务器

sudo apt-get install mysql-server

.然后安装客户程序

sudo apt-get install mysql-client

.启动服务器

sudo /etc/init.d/mysql restart

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

sudo netstat -tap | grep mysql

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

mysql -u root -p

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

.下面的命令是用来修改密码的

sudo mysqladmin -u root password newpassword

进了Mysql之后,你可以拿本诸如Mysql宝典之类的书练练手了.

在Linux下使用C/C++链接Mysql

.安装必需的开发包

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

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

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

你也可以到新立得里去找

.把lib文件复制到库里

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

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

#include “mysql/mysql.h”

4.而且,要编译文件,你只能在命令行下敲下如下代码

g++ src.cc -o src.out -L/usr/lib/mysql -lmysqlclient -lz

如果习惯性地用IDE编译,估计你的console窗口会被出错信息淹没.网上传言说,可以在Makefile的LIBS尾部加入-L/usr/lib/mysql -lmysqlclient -lz,我试过了,但没成功.或者你可以试试.

5.运行C/C++程序

sudo ./src.out

对于连接函数 mysql_real_connect(MYSQL *mysql,     //mysql的句柄

                      const char *host,          //主机号一般可为“localhost”

                      const char *user,

                      const char *passwd,

                      const char *db,            //具体的数据库名

                      unsigned int port,          //一般可为“0”

                      const char *unix_socket,    //一般为“NULL”

                      unsigned long clientflag);  //一般可为“0”

linux c++ 连接mysql 数据库的更多相关文章

  1. linux远程连接mysql数据库

    在linux系统中,远程连接mysql数据库时不仅需要开启ip访问,还需要将防火墙中添加相应规则 在wdlinux中的[安全管理]菜单下选择[防火墙[iptables]]选项,增加端口为3306的规则 ...

  2. 在 linux 中连接 mysql 数据库

    命令格式 mysql -h主机地址 -u用户名 -p用户密码 登录本机 mysql mysql -u用户名 -p用户密码 实例 TD - X1数据库:/opt/lampp/bin/mysql -u r ...

  3. Linux系统下 解决Qt5无法连接MySQL数据库的方法

    Linux平台下解决Qt5连接mysql数据库的问题:输入sudo apt-get install libqt5sql5-mysql解决,这种方法只能解决Qt是用sudo apt-get instal ...

  4. Linux centos 7/ubantu下: 用 C 语言连接 MySQL数据库

    前言:最近用IPC.socket做ATM.聊天项目,考虑到需要用到数据库,所以总结一下centos.ubantu环境下怎么用C语言操作数据库,例如常见的增删改查等! 一.Centos环境安装mysql ...

  5. python3.4怎么连接mysql pymysql连接mysql数据库

    本文介绍了python3 4连接mysql数据库的方法,在python3 4中使用原来python2 7的mysqldb已不能连接mysql数据库了,可以使用pymysql.   在python3.4 ...

  6. linux C连接mysql

    linux 环境下C语言连接数据库首先要配置环境 1,确定你的linux下安装mysql我们可以做个测试. 打开你的终端,在终端下输入:service mysqld status [root@bogo ...

  7. 一个非常标准的连接Mysql数据库的示例代码

    一.About Mysql 1.Mysql 优点 体积小.速度快.开放源码.免费 一般中小型网站的开发都选择 MySQL ,最流行的关系型数据库 LAMP / LNMP Linux作为操作系统 Apa ...

  8. Ruby 连接MySQL数据库

    使用Ruby连接数据库的过程还真的是坎坷,于是写点文字记录一下. 简介 Ruby简介 RubyGems简介 包管理之道 比较著名的包管理举例 细说gem 常用的命令 准备 驱动下载 dbi mysql ...

  9. 解决Linux系统下Mysql数据库中文显示成问号的问题

    当我们将开发好的javaWEB项目部署到linux系统上,操作数据库的时候,会出现中文乱码问题,比如做插入操作,发现添加到数据库的数据中文出现论码,下面就将解决linux下mysql中文乱码问题! 打 ...

随机推荐

  1. iOS 推送 获取手机设备的 deviceToken

    第一步:申请证书: 第二步:申请app ids,应用名字必须一致.然后再进入进行编辑.使其enable,绿灯. 第三步:申请provisioning profile,生成.mobileprovisio ...

  2. 赵雅智_android_frame动画

    在開始实例解说之前,先引用官方文档中的一段话: Frame动画是一系列图片依照一定的顺序展示的过程,和放电影的机制非常相似.我们称为逐帧动画.Frame动画能够被定义在XML文件里,也能够全然编码实现 ...

  3. 解决Gradle执行命令时报Could not determine the dependencies of task ':compileReleaseJava'.

    Could not determine the dependencies of task ':compileReleaseJava'. > failed to find target andro ...

  4. const、typedef 、 define总结

    constkeyword const=read only,修饰的为仅仅读变量而不是常量.const修饰的变量不能用作数组的维数也不能放在switch语句的case:之后. 主要作用有: 1.通过把不希 ...

  5. 微信授权网页登陆,oauth

    1.在微信公众号请求用户网页授权之前.开发人员须要先到公众平台官网中的开发人员中心页配置授权回调域名.请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加http://等协议头. 2.授 ...

  6. LinearLayout具体解释三:LayoutInflater创建View过程分析

    上次讲到以下这么一段代码,这段代码的作用就是解析xml文件成为view并显示到屏幕上的. @Override //设置contentview,也就是activity或fragment载入视图,即vie ...

  7. Spring学习资料

    1.马士兵视频 2.SPRING技术内幕__深入解析SPRING架构与设计原理 3.jinnianshilongnian博客 4.Spring实战 (Spring IN Action) 5.官方文档

  8. mysql性能优化-慢查询分析、优化索引和配置 MySQL索引介绍

    MySQL索引介绍 聚集索引(Clustered Index)----叶子节点存放整行记录辅助索引(Secondary Index)----叶子节点存放row identifier-------Inn ...

  9. <LeetCode OJ> 337. House Robber III

    Total Accepted: 1341 Total Submissions: 3744 Difficulty: Medium The thief has found himself a new pl ...

  10. angularJS 常用插件指令

    长时间没有登入博客园了,今天突然想了想,当初开这个的目的,其实就是为了记录你当下的一个状态和累计一些问题,所以记录这些还是很有意义,毕竟不是什么牛,靠脸又吃不饱的这个年代,需要留下一些东西给自己看也好 ...