Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件

前言:

因项目需要,需要使用Qt连接mysql数据库。笔者上次使用此数据库,已过去很久了,当前版本都发生了很大的变化,笔者在此记录下本次编译过程

一、安装mysql8.0

注:若读者使用的是win7系统,请提前安装.net4.5,否则可能无法运行或安装失败

到官网下载mysql8.0

下载地址:MySQL :: MySQL Community Downloads

Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第1张图片

下载安装包

Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第2张图片

安装过程比较简单,

Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第3张图片

选择自定义安装

Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第4张图片

一定要安装数据库!

最新的程序中,已无法单独选择C连接接口,但会包含在数据库中,所以必须选中

Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第5张图片

 Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第6张图片

Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第7张图片

 Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第8张图片

 Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第9张图片

 Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第10张图片

Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第11张图片

 以上是笔者的配置,基本上是下一步,安装完成后,运行下workbench

Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第12张图片

Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第13张图片

 可以正常使用

二、编译驱动插件

找到Qt5.12.12的源码,先备份,笔者在目录D:\Qt\5.12.12\Src

注:备份是必要的,若源码被修改过,建议去Qt官网重新下载

使用QtCreator打开mysql插件工程,笔者的工程目录如下

D:\Qt\5.12.12\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro

打开工程文件后,注释QMAKE_USE,并添加mysql的C连接库,笔者修改如下

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)

win32: LIBS += -LC:/Program Files/MySQL/MySQL Server 8.0/lib/' -llibmysql

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

mysql的C连接库,请读者自行修改成自己的库地址

修改完成后,直接运行就可以。运行过程中,可能会报错,不用关心,直接忽略即可

编译完成后,在根目录下,可以找到已经编译好的驱动插件,以下是笔者的

Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第14张图片

 直接将些文件,复制到Qt5.12.12套件目录中,笔者的目录如下

Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第15张图片

三、测试驱动插件

在QtCreator中,找到SQL Browser示例,

Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第16张图片

 Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第17张图片

 选择好套件,直接运行

Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第18张图片

 设置好连接参数,并连接

 Qt+数据库学习笔记(一)win10+Qt5.12.12+VS2019_x64编译mysql8.0驱动插件_第19张图片

 可以看到正常连接mysql8.0数据库了

可能遇到的问题:

连接数据库时,提示如下错误

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

问题原因:

驱动插件找不到驱动库

解决方法:

到mysql安装目录,复制如下文件到程序当前目录或Qt5.12.12的bin目录中

C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.dll

注:此库依赖openssl库,若读者未安装过openssl,仍然无法运行

为方便读者测试,笔者已经打包到一起,有需要的读者可以自行下载测试

后记:

笔者很长时间没编译mysql驱动插件了,当前只是完成了64位VS版本的编译,下一篇,笔者介绍下编译32位VS的驱动插件

你可能感兴趣的:(Qt数据库开发,qt数据库开发,mysql8.0,qt5.12.12)