[置顶] Ubuntu 下使用Qt连接MySQL数据库

我的环境是11.10+Qt creator

1.在软件中心安装MYSQL。

在软件中心直接输“MYSQL”关键字,然后安装 MYSQL客户端,MYSQL服务器端,MYSQL管理员。安MYSQL服务器端时,需要你输入一个密码,这个密码是让你设置root在MYSQL中的密码。

如果直接在终端中输入 mysql,可能会提示ERROR 1045 (28000),这是因为这时候你是以自己用户名访问数据库,而目前数据库中只有一个root用户

用户登录MYSQL;可以用root用户登录,mysql -uroot -p ,或者授权给其他用户登录:grant  usage on *.* to qustdjx@localhost,这样qustdjx就能登录MYSQL了,但它并不能创建数据库、操作mysql,只有普通权限。

2.MYSQL驱动安装

我的Qt creator和mysql驱动都是在软件中心安装的,Qt creator被安装到/usr目录,但libqt4-sql-mysql具体安装在哪,我真不知道,网上说可以下载libqt4-sql-mysql的deb包,然后解压放到Qt4的plugins目录下,但这个目录我也没找到。

3.开启MYSQL服务,建立链接。

打开 MYSQL管理员

[置顶] Ubuntu 下使用Qt连接MySQL数据库_第1张图片

[置顶] Ubuntu 下使用Qt连接MySQL数据库_第2张图片

4.安装都是自动的,编译有点麻烦。测试一下吧。

程序源码来自网上。你也可以看Qt的demo程序,来改自己的程序,demo使用的数据库是SQLITE,Qt自带它的驱动,这个驱动我倒是见过。


源码:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include  <qdebug.h>
#include  <QSqlDatabase>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("study");
    db.setUserName("root");
    db.setPassword("123");
    if(!db.open()){
        qDebug()<<"Unable to open database";
    }else{
        qDebug()<<"Database connection established";
    }

}

MainWindow::~MainWindow()
{
    delete ui;
}


你可能感兴趣的:(mysql,数据库,ubuntu,database,qt,plugins)