这两天在学习linux下用c++访问mysql,碰到一堆问题,记录一下。

1.mysql安装:

公司的电脑是64位的,安装的是64为的RHEL4,安装如下三个包:

MySQL-client-5.1.49-1.glibc23.x86_64.rpm

MySQL-devel-5.1.49-1.glibc23.x86_64.rpm

MySQL-server-5.1.49-1.glibc23.x86_64.rpm

启动MySQL服务时,出现错误:starting Mysql.manager of pid-file without updating 。

这个错误网上有很多解决方案,我是将/etc/selinux/config文件中的配置修改为:SELINUX=disabled,

然后重启系统,MySQL服务可以启动。

2.安装eclipse

网上下载了文件:eclipse-cpp-helios-linux-gtk.tar.gz

由于这个版本的eclipse需要jdk5以上,

于是又下载了文件:jdk-6u21-linux-i586-rpm.bin

安装jdk后,位于/usr/java/jdk1.6.0_21

安装完成后,重新配置/etc/profile文件,在最后加上如下三行内容:

export JAVA_HOME=/usr/java/jdk1.6.0_21
export CLASSPATH=$JAVA_HOME/jre/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin
然后执行source /etc/profile命令,刷新配置。

由于RHEL4原来已经带有jdk1.4,所以需要修改一下链接,执行如下命令:

rm /usr/bin java

ln -s /usr/java/jdk1.6.0_21/bin/java /usr/bin/java

然后再执行命令:java -version

可以看到JDK的版本已经是1.6了。

再执行eclipse 程序,可以写C程序了。

3.C程序编译

这一步是用时最多的。

编译时总是出现错误:/usr/bin/ld: cannot find -lmysqlclient

这个问题网上也是很多人在问,最终用如下命令编译成功了:

gcc -o test test.c -lmysqlclient -lm -I/usr/include/msqyl -L/usr/lib64/mysql

我之前一直将-lmysqlclient -lm两个参数放在最后,结果总是失败,后来改到前面,编译通过。

4. 家里的电脑上进行MySQL安装
由于家里的电脑是32位的,所以安装的是32为的RHEL4,如是下载了以下三个文件:
MySQL-devel-5.1.49-1.glibc23.i386.rpm
MySQL-client-5.1.49-1.glibc23.i386.rpm
MySQL-server-5.1.49-1.glibc23.i386.rpm
安装时,由于系统中已经有低版本的mysql-client包,先卸载
用到了rpm的参数 -ev --nodeps --allmatches,最后一个参数是删除所有匹配的包。
由于之前的测试,系统中有两个完全一样的包,只能通过这个参数删除。
安装完后,mysql服务启动不了,找遍了网上的解决方法,包括修改/usr/selinux/config文件;
修改/etc/my.cnf;删除日志索引文件等,都不成功,最后将MySQL-server-5.1.49-1.glibc23.i386卸载,
下载并安装:MySQL-server-community-5.1.49-1.rhel4.i386.rpm,mysql服务终于可以启动了。
最后是不知其所以然。

5. 关于eclipse编译project
由于程序中有#include <mysql.h>
所以需要在eclipse中加上对mysql.h的路径

项目->属性->C/C++Build -> settings -> gcc c complier -> includes -> include paths

添加两个路径:/usr/lib/mysql;/usr/include/mysql

对于64位的mysql:/usr/lib64/mysql ; /usr/include/mysql

要让eclipse工具能正确实现编译指令:

gcc -o test test.c -lmysqlclient -lm -I/usr/include/msqyl -L/usr/lib64/mysql

还需要添加对 -lmysqlclient -lm两个参数

项目->属性->C/C++Build -> settings -> gcc c linker-> libraries

libraries(l) 中添加两个参数mysqlclient和m

从这里可以看出gcc l参数的作用。其中m是包含了数学方法 。

libraryies search path (L)中添加/usr/lib/mysql

到这个地址去找libmysqlclient.a这个文件。

终于可以访问msyql数据库了。

通过执行mysql指令:

GRANT ALL PRIVILEGES ON *.* TO 'usr'@'%' IDENTIFIED BY 'mypassword'

在其它机器上登录linux mysql ,可以测试数据库的操作了。

接下来学习linux下的线程、socket、webservice知识,还不知道会碰到什么难题。

Linux下eclipse及mysql安装,c++访问mysql数据库相关推荐

  1. linux中mysql与eclipse_Linux下eclipse CDT及mysql安装,c++访问mysql数据库

    5. 关于eclipse编译project 由于程序中有#include 所以需要在eclipse中加上对mysql.h的路径 项目->属性->C/C++Build -> setti ...

  2. linux eclipse插件安装,Linux 下 EclipseME 插件的安装步骤

    Linux 下 EclipseME 插件的安装步骤 最近在linux下作开发,参考网络资料,成功将 eclipseME 插件安装至 eclipse.这里记录下来,只为了方便更多的人! 背景: linu ...

  3. mysql 5.5 安装 linux,linux下mysql5.5的安装

    #rpm –qa|grep –i mysql查看已安装的mysql版本 如果有已存在的mysql版本则删除 安装服务端和客户端,去Oracle官网下载: # rpm -ivh MySQL-serve ...

  4. linux下mysql6.0 yum安装,Yum安装最新版本MySQL的方法

    摘要 腾兴网为您分享:Yum安装最新版本MySQL的方法,桌面时钟,翼拍照,小熊到家,梦想旅行等软件知识,以及qq浏览器tv版,广告音乐制作,票友网,雪兔社区,搬运帮,is智慧平台登录,gpuinfo ...

  5. linux ftp 团队认证,linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建

    linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建 1.FTP协议:有命令和数据连接两种 命令连接,控制连接:21/tcp 数据连接: 主动模式,运行在20/tcp端口 和 ...

  6. Linux 下 微擎 的安装使用

    Linux 下 微擎 的安装使用 我的小站.Github 微擎 是一款基于WEB2.0(PHP+Mysql)技术架构,免费开源的公众平台管理系统,提供公众号.微信小程序.支付宝小程序.百度熊掌号.移动 ...

  7. mysql c测试程序_Linux平台下从零开始写一个C语言访问MySQL的测试程序

    Linux 平台下从零开始写一个 C 语言访问 MySQL 的测试程序 2010-8-20 Hu Dennis Chengdu 前置条件: (1) Linux 已经安装好 mysql 数据库: (2) ...

  8. linux下网站平台的搭建——apache +PHP+mysql

    linux下网站平台的搭建--apache +PHP+mysql 实验环境 VMware 6.5.2+redhat Enterprise 5 AS 我的内核版本 本文实验基础环境已经做好了一个dns的 ...

  9. Linux上全源码安装Apache、MySQL、PHP、WSF安装(转载)

    Linux上全源码安装Apache.MySQL.PHP.WSF安装 博客分类: PHP PHPMySQLApacheLinuxSQLite Linux上全源码安装Apache.MySQL.PHP.WS ...

最新文章

  1. c#连接远程sqlserver2008_C#用代码控制网络断开与重连
  2. elasticsearch7常见查询(term、match、bool、filter)
  3. 三维旋转四元数系列(4.四元数三维旋转表达)
  4. mysql 联合表(federated)及视图
  5. java的IO操作之--RandomAccessFile
  6. 解决办法:ImportError: No module named pycuda.driver
  7. selenium原理
  8. feedsky-对他扫兴至极
  9. 绚丽彩虹同学录V1.4公测版
  10. 常用的计算机硬件软件英语,计算机英语常用词汇.ppt
  11. 在Centos下安装java jdk
  12. 正式宣布,小米10在高端市场碾压华为,夺下电商平台销量第一名
  13. 圣诞快到了,用JavaScript画一个圣诞树
  14. git 账号密码问题
  15. Windows 10文件夹中的一些高级搜索技巧
  16. AIX pv vg lv fs 文件系统
  17. Java 8 Stream 总结
  18. android 权限模型,android-棉花糖权限模型在Airbnb中的AccountManager getAccounts()异常,该怎么做?...
  19. RISC-V详细介绍
  20. OpenGL入门 矩阵堆栈实现简单行星系统

热门文章

  1. POJ -1573 Robot Motion
  2. jQuery学习笔记(Ajax)
  3. 字符设备编号的注册分配
  4. 局域网共享问题解决方法!
  5. 移动web开发常用JavaScript代码(转)
  6. 摩卡业务服务管理(Mocha BSM)解决方案
  7. 删除ctrl alt del更改密码
  8. HTML标签大全(三)
  9. Android -- 程序启动画面 Splash
  10. Android学习记录之:Toast的使用