报错如下:
QList("QSQLITE", "QMARIADB", "QMYSQL", "QODBC", "QPSQL")
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMARIADB QMYSQL QODBC QPSQL
笔者这里已经自己编译好了mysql驱动,但是还是连接不了mysql数据库,这就让笔者非常懊恼,在网上找了许久都没找到原因。
最后发现是mysql8之后为了保证数据安全,引入了加密,所以还需要将mysql-8.0.40/bin/目录下的libssl-3-x64.dll、libssl-3-x64.pdb、libcrypto-3-x64.dll、libcrypto-3-x64.pdb引入与libmysql.lib、libmysql.dll同一个目录下(即QTCreator\6.5.3\mingw_64\bin)。
以下为讲解引入步骤。
1. 首先到mysql官方网站下载mysql文件,https://downloads.mysql.com/archives/community/,下载与自己数据库版本相同的archive(即文件夹形式),我们不需要安装,只需要只需要取文件夹中的文件。(以下是笔者选择下载的mysql archive版本)。
2. 下载完成后请观看b站up主的这段视频编译mysql的驱动文件,视频只有5分钟,大家一定不要急哟。
Qt6配置MySQL驱动,连接MySQL数据库,mingw6.5.3,MySQL8.0_哔哩哔哩_bilibili
按照该up的视频我们将mysql的4个驱动文件放入视屏讲解的对应文件夹后,就剩最后一步。
3.进入我们下载的mysql 文件夹的bin目录下(笔者的是 mysql-8.0.41-winx64\bin\ ),复制libssl-3-x64.dll、libssl-3-x64.pdb、libcrypto-3-x64.dll、libcrypto-3-x64.pdb这四个文件,不同版本mysql可能libssl-*.dll名字不一样,但是没关系,我们只把libssl开头和libcrypto开头的文件放入QTCreator\6.5.3\mingw_64\bin\目录下即可。