QT5.14连接mysql8.0的驱动的编译和使用

苏友朋

发布于 2020.09.06 13:09 阅读 4049 评论 0

两者的安装不再表述

 

注意,8.0的驱动和配置是可以连接5.6的

首先需要自行编译驱动

编译方式:

1、首先打开QT安装目录:C:\Qt\Qt5.14.2\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql

找到文件mysql.pro

2、如果已经安装Qt Creator,则直接双击,会在Qt Creator 中打开该项目,如果没有安装Qt Creator,请自行安装

这里选择时注意,要选择与mysql和QT的位数相同的位数的编译器,因为我的都是64位的,因此这里选择第二个。选择之后点击下方的“Configure Project”按钮。

3、打开项目之后,请耐心等待项目创建完成。然后修改mysql.pro的内容,修改如下

 

其中,

INCLUDEPATH += "C:/Program Files/MySQL/MySQL Server 8.0/include"

DEPENDPATH += "C:/Program Files/MySQL/MySQL Server 8.0/include"

LIBS += "C:/Program Files/MySQL/MySQL Server 8.0/lib/libmysql.lib"

最重要。INCLUDEPATH和DEPENDPATH  的值是mysql的安装目录下的include。LIBS 的值是mysql的安装目录下的lib目录下的libmysql.lib文件。请根据自己的安装目录修改值

 

4、这时请点击有下角的

按钮,耐心等待一会,出现如下弹窗

注意,不要搭理它,直接关掉即可。

5、打开QT同目录下的如下地址:D:\plugins\sqldrivers(我的QT安装在D盘,因此是在D盘中的plugins\sqldrivers)

其中qsqlmysql.dll和qsqlmysql.dll.debug就是我们需要的驱动文件,保存好即可

 

6、将第五步中获取的两个文件 qsqlmysql.dll和qsqlmysql.dll.debug 复制到需要用的编译器对应文件夹下,例如,我要用的是mingw73_64编译器(与生成驱动打开mysql项目时使用的编译器相同,你不一定相同,但是位数要相同),则将上述两个文件复制到如下路径中

D:\Qt\Qt5.14.2\5.14.2\mingw73_64\plugins\sqldrivers

7、进入mysql安装目录下的C:\Program Files\MySQL\MySQL Server 5.6\lib路径

至此,上述步骤与连接5.6时基本相同,但是往下的步骤将有很大不同

8、首先将libmysql.lib文件复制到D:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib目录下

 

9、然后将libmysql.lib文件复制到D:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin目录下

10、将mysql8.0.12安装目录中的bin目录下libeay32.dll 和 ssleay32.dll文件拷贝到qt5.11.1-vs2017-64bit目录下的bin目录下。

 

 

 

11、在自己的连接项目中使用(注意,项目要使用上述修改的编译器,比如我的就需要用mingw73_64编译器)QSqlDatabase::addDatabase("QMYSQL","conn2");语句测试是否连接正常。具体的使用语句不再赘述

 

 

如果生成失败,可以尝试使用我生成的驱动包:

https://pan.baidu.com/s/1EHPX3vPjiLg_zW0rUIrWDQ

提取码:sypj