qt链接mysql驱动_【QTMysql】MySQL安装及QT连接MySQL驱动编译操作步骤

本文详细介绍了在Windows上安装MySQL5.7的步骤,包括下载、解压、配置环境变量、创建配置文件my.ini,以及初始化和设置密码。接着讲解了如何在QT环境中编译并安装MySQL驱动,最后通过创建测试项目验证数据库连接。
摘要由CSDN通过智能技术生成

MySQL安装

1、下载

下载安装包时,需要根据自身需求选择x86(win32)或win64

23d12f740bc07ba4bceb97a7b1d77c8b.png

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、解压

原始的目录结构下的文件如下所示

8c72ec408ba7b2771796b77d569af530.png

3、添加环境变量

将bin目录添加,环境变量->path

8dc5a6525e29babf8d8e43012e455a47.png

4、创建my.ini文件及data文件夹

data文件夹为空,不添加任何东西

c7d22baab247474a9c433f952abf08bf.png

创建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目录

5cca44a65a7aae9aac0736efbbd81cbf.png

输入 mysqld --initialize --console

初始化MySQL,并将初始化信息打印在控制台

记住初始化的MySQL密码,若后面记不住而出错,可以返回清空data文件夹的内容,再来一次

9975901a2b5a2a180cc48b3ab52b60c6.png

输入 mysqld --install mysql5.7-64

安装MySQL,并将其命名为mysql5.7-64,若不命名,默认名称为MySQL

1c4a6483ffdb6e09e9490c26d445f4f3.png

输入 net start mysql5.7-64

启动mysql服务

45b51cb5dd0d976f32ff0caa9ca68e09.png

输入 mysql -h localhost -u root -p

打开mysql5.7-64数据库,输入初始化时的密码

b14679d0c665cdb4ab41a64efc8a61ba.png

输入 set password for root@localhost = password (‘0820’);

修改mysql5.7-64数据库密码为0820

907577832bdc0c9141db0a7caf9b767e.png

输入 quit;

关闭mysql5.7-64数据库

5eef13514db971d7f81f8e99740a6a45.png

6、完成

至此成功安装MySQL

c13dfca122261e24b0fdab0782f781c2.png

QT连接MySQL

1、修改 mysql.pro 文件

打开 Qt 的安装目录的 mysql 驱动所在夹,在我这里驱动源码目录在

E:\Qt\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql,其目录结构下的文件如下所示:

0b0f44a39e679754660424729da08f18.png

修改 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,点击锤子进行构建

cdd39e371dc1f22dc569295b11182e2e.png

2b90680535b1570358044a7a1b260349.png

构建完成后,我们可以在

E:\Qt\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql

目录下查看,构建结果,出现 mysqllib文件夹,到此驱动构建完毕

7b2fe85f78875de23f3f36a3f3eb54ae.png

打开mysqllib文件夹,下一步将驱动下图的两个 dll 文件复制到,mingw73_64/plugins/ sqldrivers 目录下面,如下图所示。

4332464c972a0578bfa08767becfdfa7.png

4180f663a5955a9346e70fef97ec49e6.png

复制 MySQL 安装目录下的库文件(D:\mysql-5.7.30-winx64\lib)中的:libmysql.dll 到 mingw73_64\bin 目录下,复制结果如下图所示。

e63eb41071a063b14c014f6991c1e87e.png

7a31a2dc79e9ff1f561b19e3523f73a0.png

3、创建测试项目

使用 Qt Creator 创建Qt Console Application,构建一个项目来测试一些是否可以正常链接数据库,测试代码如下

test.pro文件添加 QT +=sql

main.cpp文件

#include

#include

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

{

QCoreApplication a( argc , argv);

//打印支持驱动信息

qDebug()<<: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()<

}

else

{

qDebug()<

}

return a.exec();

}

然后执行项目,注意此时我们选择的编译组件仍然选择MinGW 64-bit,如下图所示

7685112bf0c1f281acc76d487ef97346.png

点击运行如果得到如下图所示的结果,表示已经完成了 MaingW 版本数据库驱动编译

47e93dedfae3a57da9778b980ee25ef3.png

如有不足之处,还望指正

如果对您有帮助可以点赞、收藏、关注,将会是我最大的动力 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值