起因是因为学qt学到数据库操作了,结果报下面的错误:
qt.sql.qsqldatabase: QSqlDatabase: QMYSQL driver not loaded
qt.sql.qsqldatabase: available drivers: QSQLITE QMYSQL QODBC QPSQL ...
真的给我整崩溃了,网上大部分都是通过.pro文件去配置,qsqlmysql.dll这个东西,但是这个操作在QT6以上版本来做是非常痛苦的,于是我去github上找方法,去找资源,结果真的找到了,话不多说,上链接!!!
链接(有各种版本的)
地址https://github.com/thecodemonkey86/qt_mysql_driver?utm_source=chatgpt.com
(你必须下你对应的版本,要不然也连接不上,如果上不上去github的留言我发你)
一、环境准备
| 项目 | 版本/说明 |
|---|---|
| Qt 版本 | 6.8.3(你必须下你对应的版本,要不然也连接不上) |
| 编译器 | MinGW 13.1.0 64-bit |
| 数据库 | MySQL 8.0(或 MariaDB) |
| CMake | ≥ 3.16 |
二、常见报错原因分析
很多人连不上 MySQL 是因为以下几点:
-
qsqlmysql.dll 驱动文件缺失或版本不匹配
Qt 访问 MySQL 时其实是通过一个插件(
qsqlmysql.dll)来实现的。这个插件必须和你的 Qt 版本、编译器完全对应。
三、放置方法:

这三个文件建议放在:E:\Qt\6.8.3\mingw_64\bin\
(也可以在E:\Qt\6.8.3\mingw_64\plugins\sqldrivers\)这里也放一份。

这两个文件当然就放在自己安装的那个文件夹下,我的地址(E:\QT\6.8.3\mingw_64\plugins\sqldrivers\)要是你没有的话就说明你的source那个没下。
MySQL自己的连接当然也要放,
在自己下的MySQL文件下面找到这两个,复制一份到上面提到的(E:\QT\6.8.3\mingw_64\plugins\sqldrivers\)这个地址下去。
这些配置完了也就差不多成功了,但是如果还是报错,可以把上面提到的所有文件放在:
(G:\code_all\qt\mySql_test\build\Desktop_Qt_6_8_3_MinGW_64_bit-Debug)
这个目录下,这个路径就是你自己创建的工程路径的debug(如果你用的是release(也就是常说的发行版)),就复制到你的发行版下。
四、常见问题总结
| 问题 | 原因 | 解决方案 |
|---|---|---|
| QMYSQL driver not loaded | 驱动文件找不到 | 把 qsqlmysql.dll 放在 sqldrivers/ 下 |
| QMYSQL driver loaded but connection failed | 用户名或密码错误 | 检查 MySQL 配置 |
| SSL handshake failed | 缺少 libssl / libcrypto | 拷贝这两个 DLL |
| Unknown database | 数据库不存在 | 手动创建数据库 |
五、结语
Qt 连接数据库其实并不复杂,最麻烦的就是"驱动版本匹配"问题。
只要搞清楚
qsqlmysql.dll+libmysql.dll+OpenSSL三者的对应关系,一次配置好环境,后续所有项目都能直接使用。