Qt5.12.7之MySql8.0环境搭建

环境介绍

        系统:Win10 64位

        Qt版本:Qt5.12.7

        编译器:Qt5.12.7  MinGW 64-bit

        待搭建数据库:MySql-8.0.19

  • 特殊说明

        一般情况下MySql 的库(libmysql.dll)有了,驱动(qsqlmysql.dll 和 qsqlmysqld.dll)也有了,将他们拷贝到程序所在目录,就能正常运行。

        但对于高版本的 MySql 来说不行,因为 libmysql.dll 还依赖于其他的库。所以还需要将 libmysql.dll 依赖的其他库拷贝至Qt安装路径下。此步骤为重点

  • 准备工具

    1.在安装 Qt 时,要一并安装源码(勾选“Sources”组件)

    2.安装MySqlMySql-8.0.19,安装教程:https://blog.csdn.net/mokemg/article/details/105836663

     此教程MySql的安装路径为:C:\Program Files\MySQL\MySQL Server 8.0

    

    3.查找依赖的库工具:Dependencies

    工具下载地址:https://github.com/lucasg/Dependencies/releases

    如果此工具下载后无法使用,需要配置其环境,教程:https://blog.csdn.net/libaineu2004/article/details/89670726

 

  • 编译MySql驱动

    步骤1.进入 Qt 的 MySql 数据库驱动源码目录,安装Qt时如果更改了安装位置自己找到安装路径即可,

    (例如我的安装路径:D:\Qt\5.12.7\Src\qtbase\src\plugins\sqldrivers\mysql)

    

    步骤2.双击上述 MySql 数据库驱动源码目录mysql.pro,使用Qt Creator打开

    

    

    步骤3.双击“mysql.pro”后,进行右侧更改

    

    修改详细说明:

    (1)注释掉

    (2)配置MySql库,INCLUDEPATH及LIBS地址为准备工具中MySql安装路径,根据自己情况修改

    (3)设置输出路径,编译之后方便找到生成的库文件(此处设置的路径不影响编译生成的库内容,可自行修改,编译后就可在该路径下找到生成的MySql驱动文件

    

    步骤4.mysql.pro文件修改完后执行qmake(构建->执行qmake)

    

    步骤5.构建->构建项目(也可按左下角的小锤子)

    

   步骤6.如果编译后出现下图错误,可按步骤7操作解决,如果没遇到则可直接跳到步骤8

     

    步骤7.去项目构建路径找到.moc文件夹->release文件夹-> .moc文件复制到工程目录下即可解决

    .moc文件位置

    

    拷贝后放置的文件

 

    

    步骤8.在D:/mysql找到已经编译完成的MySql驱动备用

    

 

  • 将编译后的MySql驱动放到Qt安装文件中

    步骤.拷贝上述步骤8编译后的MySql驱动到Qt安装路径中

    

 

  • 将MySql动态库(libmysql.dll)复制到Qt安装文件中

    步骤1.按下图路径找到MySql 的库(libmysql.dll)

     路径:C:\Program Files\MySQL\MySQL Server 8.0\lib(此路径为我安装MySql路径)

    

    步骤2.将上一步中libmysql.dll文件拷贝到Qt安装路径中

    拷贝至路径:D:\Qt\5.12.7\mingw73_64\bin

    

 

  • 将MySql动态库(libmysql.dll)依赖的其他库复制到Qt安装文件中

    步骤1.打开准备工具中下载好的查找依赖的库工具:Dependencies,双击执行“DependenciesGui.exe”

    

    步骤2.打开“DependenciesGui.exe”后,File->Open

    

    步骤3.打开MySql安装路径下的“libmysql.dll”,查找该动态库所依赖的其他库

    如下图所示缺少libssl-1_1-x64.dll和libcrypto-1_1-x64.dll两个库

    

    步骤4.用“Everything”工具查找上一步两个所需库,一般所需库文件在MySql安装路径下的bin文件夹下即可找到

    Everything下载地址:https://www.voidtools.com/zh-cn/

    Everything查找截图

    

    步骤5.将上一步中查找到libmysql.dll所依赖的其他库拷贝到Qt安装路径中

    拷贝至路径:D:\Qt\5.12.7\mingw73_64\bin

    

    步骤6.此时Qt5.12.7的MySql8.0环境已经搭建完成

 

  • 进行验证

    1.先添加一个名称为“mydata”数据库

    开始->找到上述安装的MySQL8.0 Command Line Client后打开

        

        

        输入配置时设置的密码后

        

        输入命令添加新建数据库,输入命令(红色):"create database mydata;" 后回车,注意最后的分号

     

    通过输入命令查看已经添加的数据库,输入命令(红色):"show databases;" 后回车,注意最后的分号

    

    步骤2.Qt Creator新建工程进行连接MySql数据库

#include <QCoreApplication>
#include <QSqlDatabase>
#include <QtDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("192.168.***.***");//如果是本机可用localhost
    db.setDatabaseName("mydata");
    db.setUserName("root");
    db.setPassword("password");//此位置密码为安装MySql设置的数据库密码
    db.setPort(3306);
    if (db.open()) {
        qDebug() << "Open successfully.";
        db.close();
    } else {
        qDebug() << "Open failed.";
    }

    return a.exec();
}
  •     测试结果

    

参考资料

https://mp.weixin.qq.com/s?__biz=MzA4MjI3NzQ1Nw==&mid=2247484813&idx=1&sn=a00613b323814d9f3ccad472e08d9d0c&chksm=9f8960b3a8fee9a561f94c9991e19d8fb2488582f25ca585c9b72778456e3c40df118964d249&mpshare=1&scene=1&srcid=0408YntiwWdTk5zdQNbE1wis&sharer_sharetime=1586345563622&sharer_shareid=b5440100ca6b3f82236943362f77bbf1&key=c53866ae67b2b8c4c55649c6d7eb0c78f92cef644d8e072595a6bcdf8689175c66c4eec88d913c54411802ba4875f9f18f5e774ddc0f80014703f764696dab15bae02c75d7232e0d84bde65338d78134&ascene=14&uin=MjA0MDU2OTE4MA%3D%3D&devicetype=Windows+10&version=62080085&lang=zh_CN&exportkey=AcEXoogz%2BRVDRMGOzP4wk7s%3D&pass_ticket=2OLyusbhtuAvNEueI%2B%2FXGxhEdUTAChaq%2B1DCiKHf%2BsrglOX1SzaElgCCl06g5C7v

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值