zoukankan      html  css  js  c++  java
  • linux c++ 连接mysql 数据库

    Mysql是数据库中的主流,因此我一直以为在Linux下配置会很很容易,结果Google了大半天,大部分网页只说了如何安装Mysql之类的废话,对如何使用C/C++连接Mysql却只字不提,或者提的方法也根本不可用.下面列出一种可行的方法,我用的是Ubuntu,其他发行版应该也大同小异.
    
    安装Mysql
    
    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.
    
    6.下面的命令是用来修改密码的
    
    sudo mysqladmin -u root password newpassword
    
    进了Mysql之后,你可以拿本诸如Mysql宝典之类的书练练手了.
    
    在Linux下使用C/C++链接Mysql
    
    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 “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”
  • 相关阅读:
    Unity RigidBodyFPSController 鼠标不显示
    egret 列表滑动时 中间的item 放大效果实现
    egret 相关面试题
    egret 点击屏幕外时,缓动动画会停止
    游戏中 商城 每隔一段时间刷新次数增加一次
    egret 游戏优化文档
    typescript 中 let和var的区别
    egret微端, 非原生打包相关
    代码中根据不同的类型获取多个标签的中文翻译
    总结一些 egret项目接小程序时 遇到的问题及解决方法
  • 原文地址:https://www.cnblogs.com/zendu/p/4988179.html
Copyright © 2011-2022 走看看