歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Ubuntu Linux下使用Qt連接MySQL數據庫

Ubuntu Linux下使用Qt連接MySQL數據庫

日期:2017/2/25 11:53:23   编辑:關於Linux

環境說明:

  ubuntu 10.04.2

  QtSDK (1.5G安裝包的那個)

  mysql5.1

  1.安裝MySQL

  Linux下完整的MySQL開發需要安裝服務器端,如果安裝客戶端也沒什麼不好。直接在軟件中心搜mysql,把client和server選上。

  server在安裝時會提示為root用戶設置密碼,設一個好了。

  我使用的是mysql5.1版本,用戶名密碼存儲在一個叫mysql的數據庫裡,只有管理員級別才能看到。

  如果直接在終端中輸入 mysql,可能會提示ERROR 1045 (28000),這是因為這時候你是以自己用戶名訪問數據庫,而目前數據庫中只有一個root用戶。沒關系,如果有必要,可以添加一個用戶進去:

  mysql -uroot -p -->以root用戶登錄

  grant usage on *.* to dummy@localhost; -->授權名為dummy的用戶本地登錄,這裡換成自己的用戶名就可以了

  不過這時候直接mysql只有普通的權限,創建數據庫、操作mysql都是不可以的,如果真有將其賦予管理員權限的需要,可以自己查閱有關資料。

  2.安裝Qt的MySQL驅動。

  方法一:直接sudo apt-get install libqt4-sql-mysql ,這是Qt4的mysql驅動,就不用自己費勁編譯了,不過可能會額外下載一些東西。

  將 /usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so拷貝到你的QtSDK sqldrivers目錄下,我當時是直接用普通權限安裝,目錄為:~/QtSDK/Desktop/Qt/473/gcc/plugins/sqldrivers

  方法二:其實你也可以sudo apt-get download libqt4-sql-mysql,把包解壓縮,然後把裡面的so文件搜出來直接拷貝到那裡。

  方法三:乖乖按照官方方法編譯,但是貌似可行性不大,因為新版本的QtSDK並沒有src目錄,默認也沒有mysql的驅動。

  3.做個demo試一下

  記得在pro文件中 QT +=那裡加上sql,否則qmake是不會去找sql的相關部分的:

01 #include <QtCore/QCoreApplication>

02 #include <QSqlDatabase>

03 #include <QDebug>

04 int main(int argc, char *argv[])

05 {

06 QCoreApplication a(argc, argv);

07 QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");

08 db.setHostName("localhost");

09 db.setDatabaseName("study");

10 db.setUserName("root");

11 db.setPassword("tyh");

12 if(!db.open()){

13 qDebug()<<"Unable to open database";

14 }else{

15 qDebug()<<"Database connection established";

16 }

17 return a.exec();

18 }

  這裡study這個數據庫之前我已經創建過了,如果連接成功,就會顯示Database connection established。 我是建立的控制台程序哈。

Copyright © Linux教程網 All Rights Reserved