【QTMysql】MySQL安裝及QT連接MySQL驅動編譯操作步驟

MySQL安裝

 

1、下載

MySQL官網: https://dev.mysql.com/downloads/mysql/.

下載安裝包時,需要根據自身需求選擇x86(win32)或win64

在這裏插入圖片描述

MySQL版本的選擇及對應,MySQL 7因爲功能齊全,是普遍使用最多的版本,我下載的是mysql-5.7.30-winx64.zip,需要自行初始化安裝

MySQL 5.5 MySQL 5
MySQL 5.6 MySQL 6
MySQL 5.7 MySQL 7
MySQL 8.0 MySQL 9

 

2、解壓

原始的目錄結構下的文件如下所示

在這裏插入圖片描述
 

3、添加環境變量

將bin目錄添加,環境變量->path

在這裏插入圖片描述
 

4、創建my.ini文件及data文件夾

data文件夾爲空,不添加任何東西

在這裏插入圖片描述

創建my.txt,將.txt改爲.ini,修改my.ini文件,加入一下內容

[mysqld]
# 設置服務端口爲3306
port=3306
# 設置mysql的安裝目錄,注意目錄需要使用\\連接
basedir=D:\mysql-5.7.30-winx64
# 設置mysql數據庫的數據的存放目錄,注意目錄需要使用\\連接
datadir=D:\mysql-5.7.30-winx64\data
# 允許最大連接數
max_connections=200
# 允許連接失敗的次數。這是爲了防止有人從該主機試圖攻擊數據庫系統
max_connect_errors=10000
# 服務端使用的字符集默認爲UTF8
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
# 默認使用“mysql_native_password”插件認證
default_authentication_plugin=mysql_native_password
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[client]
# 設置mysql客戶端連接服務端時默認使用的端口
port=3306
default-character-set=utf8

 

5、命令提示符初始化MySQL及修改密碼

管理員模式打開命令提示符,進入bin目錄

在這裏插入圖片描述

輸入 mysqld --initialize --console
初始化MySQL,並將初始化信息打印在控制檯
記住初始化的MySQL密碼,若後面記不住而出錯,可以返回清空data文件夾的內容,再來一次

在這裏插入圖片描述

輸入 mysqld --install mysql5.7-64
安裝MySQL,並將其命名爲mysql5.7-64,若不命名,默認名稱爲MySQL

在這裏插入圖片描述

輸入 net start mysql5.7-64
啓動mysql服務

在這裏插入圖片描述

輸入 mysql -h localhost -u root -p
打開mysql5.7-64數據庫,輸入初始化時的密碼

在這裏插入圖片描述

輸入 set password for root@localhost = password (‘0820’);
修改mysql5.7-64數據庫密碼爲0820

在這裏插入圖片描述

輸入 quit;
關閉mysql5.7-64數據庫

在這裏插入圖片描述  

6、完成

至此成功安裝MySQL

在這裏插入圖片描述
   
   

QT連接MySQL

 

1、修改 mysql.pro 文件

打開 Qt 的安裝目錄的 mysql 驅動所在夾,在我這裏驅動源碼目錄在
E:\Qt\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql,其目錄結構下的文件如下所示:

在這裏插入圖片描述

修改 mysql.pro 文件,修改如下

TARGET = qsqlmysql 
 
HEADERS += $$PWD/qsql_mysql_p.h 
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp 
 
//註釋掉以免編譯報錯 
//QMAKE_USE += mysql 
 
OTHER_FILES += mysql.json 
 
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin 
include(../qsqldriverbase.pri) 
 
//MySQL安裝路徑中的include夾的路徑
INCLUDEPATH +="D:/mysql-5.7.30-winx64/include"
//MySQL安裝路徑中的lib夾下的libmysql.dll庫文件
LIBS +="D:/mysql-5.7.30-winx64/lib/libmysql.lib" 
//定義lib生成文件保存位置
DESTDIR = E:/Qt/Qt5.13.1/5.13.1/Src/qtbase/src/plugins/sqldrivers/mysql/mysqllib

 

2、編譯 MainGW 版驅動

雙擊 mysql.pro 讓它在 Qt Creator 編譯器中打開,選擇MinGW 64-bit,點擊錘子進行構建

在這裏插入圖片描述在這裏插入圖片描述

構建完成後,我們可以在
E:\Qt\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql
目錄下查看,構建結果,出現 mysqllib文件夾,到此驅動構建完畢

在這裏插入圖片描述

打開mysqllib文件夾,下一步將驅動下圖的兩個 dll 文件複製到,mingw73_64/plugins/ sqldrivers 目錄下面,如下圖所示。

在這裏插入圖片描述
在這裏插入圖片描述

複製 MySQL 安裝目錄下的庫文件(D:\mysql-5.7.30-winx64\lib)中的:libmysql.dll 到 mingw73_64\bin 目錄下,複製結果如下圖所示。

在這裏插入圖片描述

在這裏插入圖片描述
 

3、創建測試項目

使用 Qt Creator 創建Qt Console Application,構建一個項目來測試一些是否可以正常鏈接數據庫,測試代碼如下

test.pro文件添加 QT +=sql

main.cpp文件

#include <QtCore>
#include <QtSql>

int main(int argc, char *argv[])
{
    QCoreApplication a( argc , argv);
    //打印支持驅動信息
    qDebug()<<QSqlDatabase::drivers();
    
    //創建 MySQL 數據庫
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");     
    //連接數據庫
    db.setHostName("localhost");    //數據庫服務器 IP
    db.setPort(3306);
    db.setUserName("root");         //數據庫用戶名
    db.setPassword("0820");         //密碼
    db.setDatabaseName("stums");    //使用哪個數據庫
    if (!db.open())     
    {         
        qDebug()<<db.lastError().text();     
    }
    else     
    {         
        qDebug()<<"遠程數據庫連接成功!";     
    }
    return a.exec();
}

然後執行項目,注意此時我們選擇的編譯組件仍然選擇MinGW 64-bit,如下圖所示

在這裏插入圖片描述

點擊運行如果得到如下圖所示的結果,表示已經完成了 MaingW 版本數據庫驅動編譯

在這裏插入圖片描述
 
 

如有不足之處,還望指正 1


  1. 如果對您有幫助可以點贊、收藏、關注,將會是我最大的動力 ↩︎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章