linux下mysql的安装和编译Qt--X11的mysql驱动
一、前期准备:
本文用redhat Enterprise 5来介绍:
1.由于redhat Enterprise 5 中自带一个mysql的版本,如果在安装linux前未选择mysql的安装此步就可跳过,因为我当时安装了现在将其卸载,步骤如下:
a. 查已安装的myslq 版本:
#rpm -qa | grep mysql(注意大小写,如果mysql 不行就换MySQL)
在屏幕上将显示已安装的mysql包名如:mysql-5.0.22-2.1.0.1 ;
b. 将搜索出的包名卸载:
#rpm -e --nodeps mysql-5.0.22-2.1.0.1(nodeps表示强制删除)
c. 再次查该包名,如果没有结果输出则表明已将该版本的mysql卸载了;
2. 准备安装资源,如下:
a. perl-DBI-1.5.2-1.fc6.i386.rpm(该包为是安装mysql的依赖,没它mysql安装不起,查看是否安装,如果安装了就不需要了,可以通过#rpm -qa | grep perl*查看是否已经安装,该包在linux系统盘上可以到,以下提供该包下载)
b.MySQL-server-community-5.1.51-1.rhel5.i386.rpm
和MySQL-client-community-5.1.51-1.rhel5.i386.rpm 和
MySQL-devel-community-5.1.51-1.rhel5.i386.rpm(此包主要用于编译linux下的Qt--x11的mysql驱动)
(可以从sql/downloads/mysql/5.1.html下载相应linux相应的版本)
c. 准备好相应的安装包传到linux系统/home上;
3. 开始安装:
a. 先安装perl-DBI-1.5.2-1.fc6.i386.rpm
可以通过#rpm -qa | grep perl*查看是否已经安装,如果安装了就不需要安装,我的是已经安装好的。如果没装请执行下面命令;
#rpm -ivh perl-DBI-1.5.2-1.fc6.i386.rpm
(查看是否安装成功#rpm -qa | grep perl-DBI* )
b. 安装好perl,接着先安装mysql server版
#rpm -ivh MySQL-server-community-5.1.51-1.rhel5.i386.rpm
(查看是否安装成功#rpm -qa | MySQL ,查看该进程是否启动#ps -ef | grep MySQL ,由于安装好server版后就已经启动了)
c. 安装好server版,开始接着安装client版:
#rpm -ivh MySQL-client-community-5.1.51-1.rhel5.i386rpm
(查看是否安装成功#rpm -qa | MySQL)
d. 好了到此就已经安装完毕,测试是否可以运行:
#mysql
将出现mysql> 命令符安装成功,由于是默认用户为root没有密码所以可以直接进入;
如果出现提示:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 30
Server version: 5.1.51-community MySQL Community Server (GPL)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
到此恭喜你,你安装成功,然后在提示符下输入:
mysql>show databases; <;注意以分号结尾>
出现:
+--------------------+
| Database |
+--------------------+
| information_schema |
之前下过mysql现在重新下载mysql| llcc |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql>
可以看见当前的数据库.
Mysql数据库安装到这里就结束了,下面介绍编译Qt ---x11的mysqll驱动.
编译Qt ---x11的mysqll驱动.
编译之前请确保你已经正确安装了Qt--x11版本和上面的mysql数据库.
如过按Qt Assistant 所说的一样,编译是不完整的,在编译后会出现一些不可预知的错误,下面贴出自己的方法:
#cd $QTDIR/src/plugins/sqldrivers/mysql
#qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro
注意:请查看你mysql的include和lib路径,通常安装上面安装mysql的路径都是在/usr/include/mysql和/usr/lib/mysql中
#make
#make install
#cd $QTDIR/plugins/sqldrivers
#ls
如果已经生成libqsqlite.so libqsqlite.so.debug libqsqlmysql.so libqsqlmysql.so.debug三个文件,恭喜你已经安装成功.
来测试一下:
#cd /home
#vi test.cpp
Copy code:
/***************************/
#include <QtSql>
#include <QSqlDatabase>
#include <QApplication>
#include <QDebug>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); // 使用mysql数据库驱动
db.setHostName("localhost");
db.setDatabaseName("test"); // 我们之前建立的数据库
db.setUserName("root"); // 默认root用户名
db.setPassword(""); // 初始密码为空
qDebug(":");
qDebug() << QSqlDatabase::drivers();
bool ok = db.open(); // 尝试连接数据库
if(!ok)
qDebug("connection faild");
else
qDebug("connection success");
db.close();
();
}
如果显示
'..
..
..
connection success等相信,恭喜你编译成功..
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论