QT5.15.2连接mysql 8.0.25

环境

win10 + QT 5.15.2 + mysql 8.0.25 + MinGW / MSVC2019

mysql安装

我采用的是解压版安装,可参考https://blog.csdn.net/weixin_44872046/article/details/118724098
1、下载压缩包解压,下载链接 https://dev.mysql.com/downloads/mysql/
2、cmd进入到mysql的bin目录下 (以管理员方式运行cmd)
3、mysqld --initialize --console 生成data目录,console会显示root用户密码
4、mysqld --install
5、net start mysql
6、mysql -uroot -p 接着输入上面显示的root用户密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;
7、修改环境变量,在path中添加mysql的bin目录,例如 D:\ProgramData\mysql-8.0.25\bin

mysql驱动编译

重新编译mysql.pro,该项目在安装qt时如果勾选了source,则存在于qt的安装目录下,否则自行下载源码。我的项目路径是 D:\ProgramData\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql
在这里插入图片描述
1、修改mysql.pro文件
注释掉

QMAKE_USE += mysql

添加

INCLUDEPATH += D:/ProgramData/mysql-8.0.25/include/
LIBS += D:/ProgramData/mysql-8.0.25/lib/libmysql.lib

在这里插入图片描述
2、修改qsqldriverbase.pri (该文件位于mysql.pro的上一级目录)
注释掉

include($$shadowed($$PWD)/qtsqldrivers-config.pri)

添加

include(./configure.pri)

在这里插入图片描述
3、构建
点击QT Creator的小锤子进行构建,构建成功会在QT安装所在的盘符下生成目录plugins,并在该目录下生成sqldrivers目录,我的目录是 D:\plugins\sqldrivers
如果使用mingw构建,则该目录下会生成qsqlmysql.dll、qsqlmysql.dll.debug,拷贝这两个文件到对应的编译器的插件目录中,比如我的是D:\ProgramData\Qt\5.15.2\mingw81_64\plugins\sqldrivers
在这里插入图片描述
如果使用MSVC2019构建,则目录下会生成qsqlmysql.dll、qsqlmysqld.dll两个文件, 拷贝这两个文件到对应的编译器的插件目录中,比如我的是D:\ProgramData\Qt\5.15.2\msvc2019_64\plugins\sqldrivers
在这里插入图片描述
在mysql安装目录的lib目录中,找到libmysql.dll,拷贝到对应编译器的bin目录下,比如我的是
D:\ProgramData\Qt\5.15.2\mingw81_64\bin
D:\ProgramData\Qt\5.15.2\msvc2019_64\bin

测试

新建一个qt程序,在代码中插入以下代码段进行测试

#include "QDebug"
#include <QtSql/QSqlDatabase>
#include <QSqlDriver>
#include <QSqlError>
//添加数据库
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");//本地主机IP和"127.0.0.1"一样
db.setPort(3306);//默认端口
db.setPassword("123456");//数据库密码
db.setUserName("root");//用户名
//注意:需要在MySQL中先创建一个数据库才可以
db.setDatabaseName("test");//连接的数据库
if(db.open()==false){
    qDebug()<<db.lastError().text();
}else{
     qDebug()<<"connect database success!!";
}

参考链接

https://blog.csdn.net/weixin_44872046/article/details/118724098
https://blog.csdn.net/qq_38344751/article/details/105387341
https://www.freesion.com/article/78921095169
https://blog.csdn.net/qq_45132890/article/details/114967991

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值