ubuntu11.10下qt连接mysql数据库

第一步:安装qt开发环境

lightblue@lightblue-ThinkPad-T410:~$sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer

 

第二步:安装mysql开发环境

lightblue@lightblue-ThinkPad-T410:~$sudo apt-get install mysql-server mysql-client

lightblue@lightblue-ThinkPad-T410:~$sudo apt-get install libmysqlclient15-dev

lightblue@lightblue-ThinkPad-T410:~$sudo apt-get install libqt4-sql-mysql

lightblue@lightblue-ThinkPad-T410:~$sudo /etc/init.d/mysql restart

 

第三步:给普通用户授权操作数据库
lightblue@lightblue-ThinkPad-T410:~$ mysql -u root -p      (root登录数据库)
mysql> create database test;                     (创建一个数据库)
mysql> grant all privileges on *.* to identified by 'password'; 
mysql> quit;
给特定用户分配数据操作权限的格式是:
grant 权限1,权限2,...权限n on 数据库名称.表名称 to 用户名@用户ip地址 identified by '密码';

 

 第四步:测试环境

1 #include <QtCore/QCoreApplication>
  2 
  3 #include <QtSql>
  4 
  5 #include <QDebug>
  6 
  7 #include <iostream>
  8 
  9 using namespace std;
 10 
 11 int main(int argc, char *argv[])
 12 
 13 {
 14 
 15     QCoreApplication a(argc, argv);
 16 
 17     QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
 18 
 19     db.setHostName("localhost");
 20 
 21     db.setDatabaseName("test");
 22 
 23     db.setUserName("root");
 24 
 25     db.setPassword("123456");
 26 
 27     if (!db.open())
 28 
 29         qDebug() << "Failed to connect to root mysql admin";
 30     else
 31 
 32         std::cout<<"succeed!"<<std::endl;
 33     return a.exec();
 34 
 35 }

lightblue@lightblue-ThinkPad-T410:~/qt/mysql$ qmake -project

lightblue@lightblue-ThinkPad-T410:~/qt/mysql$ qmake

在工程的.pro文件里加上下面一行:

QT += sql

lightblue@lightblue-ThinkPad-T410:~/qt/mysql$ make

lightblue@lightblue-ThinkPad-T410:~/qt/mysql$ ./mysql

output:succeed!

上面的操作可以满足你的qt mysq的一切需要。

posted @ 2012-04-04 23:58  smallest  阅读(259)  评论(0)    收藏  举报