ubuntu linux下使用Qt連接MySQL數(shù)據(jù)庫的方法
更新時(shí)間:2011年08月14日 22:19:12 作者:
Linux下完整的MySQL開發(fā)需要安裝服務(wù)器端,如果安裝客戶端也沒什么不好。直接在軟件中心搜mysql,把client和server選上。
環(huán)境說明:
ubuntu 10.04.2
QtSDK (1.5G安裝包的那個(gè))
mysql5.1
1.安裝MySQL
Linux下完整的MySQL開發(fā)需要安裝服務(wù)器端,如果安裝客戶端也沒什么不好。直接在軟件中心搜mysql,把client和server選上。
server在安裝時(shí)會(huì)提示為root用戶設(shè)置密碼,設(shè)一個(gè)好了。
我使用的是mysql5.1版本,用戶名密碼存儲(chǔ)在一個(gè)叫mysql的數(shù)據(jù)庫里,只有管理員級(jí)別才能看到。
如果直接在終端中輸入 mysql,可能會(huì)提示ERROR 1045 (28000),這是因?yàn)檫@時(shí)候你是以自己用戶名訪問數(shù)據(jù)庫,而目前數(shù)據(jù)庫中只有一個(gè)root用戶。沒關(guān)系,如果有必要,可以添加一個(gè)用戶進(jìn)去:
mysql -uroot -p -->以root用戶登錄
grant usage on *.* to dummy@localhost; -->授權(quán)名為dummy的用戶本地登錄,這里換成自己的用戶名就可以了
不過這時(shí)候直接mysql只有普通的權(quán)限,創(chuàng)建數(shù)據(jù)庫、操作mysql都是不可以的,如果真有將其賦予管理員權(quán)限的需要,可以自己查閱有關(guān)資料。
2.安裝Qt的MySQL驅(qū)動(dòng)。
方法一:直接sudo apt-get install libqt4-sql-mysql ,這是Qt4的mysql驅(qū)動(dòng),就不用自己費(fèi)勁編譯了,不過可能會(huì)額外下載一些東西。
將 /usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so拷貝到你的QtSDK sqldrivers目錄下,我當(dāng)時(shí)是直接用普通權(quán)限安裝,目錄為:~/QtSDK/Desktop/Qt/473/gcc/plugins/sqldrivers
方法二:其實(shí)你也可以sudo apt-get download libqt4-sql-mysql,把包解壓縮,然后把里面的so文件搜出來直接拷貝到那里。
方法三:乖乖按照官方方法編譯,但是貌似可行性不大,因?yàn)樾掳姹镜腝tSDK并沒有src目錄,默認(rèn)也沒有mysql的驅(qū)動(dòng)。
3.做個(gè)demo試一下
記得在pro文件中 QT +=那里加上sql,否則qmake是不會(huì)去找sql的相關(guān)部分的
#include <QtCore/QCoreApplication>
#include <QSqlDatabase>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("study");
db.setUserName("root");
db.setPassword("tyh");
if(!db.open()){
qDebug()<<"Unable to open database";
}else{
qDebug()<<"Database connection established";
}
return a.exec();
}
這里study這個(gè)數(shù)據(jù)庫之前我已經(jīng)創(chuàng)建過了,如果連接成功,就會(huì)顯示Database connection established。 我是建立的控制臺(tái)程序哈。
ubuntu 10.04.2
QtSDK (1.5G安裝包的那個(gè))
mysql5.1
1.安裝MySQL
Linux下完整的MySQL開發(fā)需要安裝服務(wù)器端,如果安裝客戶端也沒什么不好。直接在軟件中心搜mysql,把client和server選上。
server在安裝時(shí)會(huì)提示為root用戶設(shè)置密碼,設(shè)一個(gè)好了。
我使用的是mysql5.1版本,用戶名密碼存儲(chǔ)在一個(gè)叫mysql的數(shù)據(jù)庫里,只有管理員級(jí)別才能看到。
如果直接在終端中輸入 mysql,可能會(huì)提示ERROR 1045 (28000),這是因?yàn)檫@時(shí)候你是以自己用戶名訪問數(shù)據(jù)庫,而目前數(shù)據(jù)庫中只有一個(gè)root用戶。沒關(guān)系,如果有必要,可以添加一個(gè)用戶進(jìn)去:
mysql -uroot -p -->以root用戶登錄
grant usage on *.* to dummy@localhost; -->授權(quán)名為dummy的用戶本地登錄,這里換成自己的用戶名就可以了
不過這時(shí)候直接mysql只有普通的權(quán)限,創(chuàng)建數(shù)據(jù)庫、操作mysql都是不可以的,如果真有將其賦予管理員權(quán)限的需要,可以自己查閱有關(guān)資料。
2.安裝Qt的MySQL驅(qū)動(dòng)。
方法一:直接sudo apt-get install libqt4-sql-mysql ,這是Qt4的mysql驅(qū)動(dòng),就不用自己費(fèi)勁編譯了,不過可能會(huì)額外下載一些東西。
將 /usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so拷貝到你的QtSDK sqldrivers目錄下,我當(dāng)時(shí)是直接用普通權(quán)限安裝,目錄為:~/QtSDK/Desktop/Qt/473/gcc/plugins/sqldrivers
方法二:其實(shí)你也可以sudo apt-get download libqt4-sql-mysql,把包解壓縮,然后把里面的so文件搜出來直接拷貝到那里。
方法三:乖乖按照官方方法編譯,但是貌似可行性不大,因?yàn)樾掳姹镜腝tSDK并沒有src目錄,默認(rèn)也沒有mysql的驅(qū)動(dòng)。
3.做個(gè)demo試一下
記得在pro文件中 QT +=那里加上sql,否則qmake是不會(huì)去找sql的相關(guān)部分的
復(fù)制代碼 代碼如下:
#include <QtCore/QCoreApplication>
#include <QSqlDatabase>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("study");
db.setUserName("root");
db.setPassword("tyh");
if(!db.open()){
qDebug()<<"Unable to open database";
}else{
qDebug()<<"Database connection established";
}
return a.exec();
}
這里study這個(gè)數(shù)據(jù)庫之前我已經(jīng)創(chuàng)建過了,如果連接成功,就會(huì)顯示Database connection established。 我是建立的控制臺(tái)程序哈。
相關(guān)文章
MySQL生成連續(xù)的數(shù)字/字符/時(shí)間序列的方法
有時(shí)候?yàn)榱松蓽y試數(shù)據(jù),或者填充查詢結(jié)果中的數(shù)據(jù)間隔,需要使用到一個(gè)連續(xù)的數(shù)據(jù)序列值,所以,今天我們就來介紹一下如何在 MySQL 中生成連續(xù)的數(shù)字、字符以及時(shí)間序列值,需要的朋友可以參考下2024-04-04
SQL group by去重復(fù)且按照其他字段排序的操作
這篇文章主要介紹了SQL group by去重復(fù)且按照其他字段排序的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Mysql中key和index的區(qū)別點(diǎn)整理
在本篇文章里小編給大家整理的是關(guān)于Mysql中key和index的區(qū)別點(diǎn)整理,需要的朋友們可以學(xué)習(xí)下。2020-03-03
老鳥帶你開發(fā)專業(yè)規(guī)范的MySQL啟動(dòng)腳本
這篇文章主要介紹了老鳥帶你開發(fā)專業(yè)規(guī)范的MySQL啟動(dòng)腳本,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
mysql視圖之創(chuàng)建視圖(CREATE VIEW)和使用限制實(shí)例詳解
這篇文章主要介紹了mysql視圖之創(chuàng)建視圖(CREATE VIEW)和使用限制,結(jié)合實(shí)例形式詳細(xì)分析了mysql視圖創(chuàng)建于使用相關(guān)原理與操作注意事項(xiàng),需要的朋友可以參考下2019-12-12
MySQL 如何查找并刪除重復(fù)記錄的實(shí)現(xiàn)
這篇文章主要介紹了MySQL 如何查找并刪除重復(fù)記錄的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
MySQL建立數(shù)據(jù)庫時(shí)字符集與排序規(guī)則的選擇詳解
當(dāng)數(shù)據(jù)庫需要適應(yīng)不同的語言就需要有不同的字符集,下面這篇文章主要給大家介紹了關(guān)于MySQL建立數(shù)據(jù)庫時(shí)字符集與排序規(guī)則的選擇的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
linux CentOS 7.4下 mysql5.7.20 密碼改回來的處理方法
這篇文章主要介紹了linux CentOS 7.4下 mysql5.7.20 密碼改回來的處理方法,需要的朋友可以參考下2018-11-11

