You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下Qt5.7+MinGW5.3连接MariaDB10.2驱动未加载求助

解决Qt中QMYSQL驱动未加载的问题

兄弟,搜10小时还卡在这里太闹心了——Qt的数据库驱动坑确实容易让人头大,咱们一步步捋清楚,先从最简单的方案试,实在不行再碰编译。

一、先试不用编译的快速解法(能绕编译就绕)

  • 先查Qt自带的驱动文件:去你的Qt安装目录找 plugins/sqldrivers 文件夹,看看有没有 qsqlmysql.dll(Windows)或者 libqsqlmysql.so(Linux/macOS)。要是有这个文件,那根本不是驱动的问题,是MySQL客户端库没被找到:
    • Windows:把MySQL Connector里的 libmysql.dll(注意要和你的Qt位数、编译器匹配!比如32位Qt就用32位库,MSVC编译的Qt就用对应MSVC版本的库)复制到你的Qt程序运行目录,或者加到系统PATH环境变量里。
    • Linux:先装系统包,比如Debian/Ubuntu装 libmariadb-dev,然后把 /usr/lib/x86_64-linux-gnu/libmariadb.so 软链接到Qt的 sqldrivers 目录,或者直接把这个路径加到LD_LIBRARY_PATH里。
    • macOS:用Homebrew装 mariadb-connector-c,然后把 /usr/local/lib/libmysqlclient.dylib 复制到Qt的 sqldrivers 目录,或者设置DYLD_LIBRARY_PATH。
  • 换MariaDB的库试试:MariaDB和MySQL是完全兼容的,而且很多系统默认带MariaDB的库,兼容性反而比MySQL官方库更好,直接用它的客户端库大概率能解决问题。

二、libmariadb vs libmysqldb怎么选?

  • 优先选libmariadb:这是MariaDB官方的客户端库,更新快,bug修复及时,对新特性的支持也到位,而且完全兼容所有MySQL版本,踩坑概率低。
  • libmysqldb(MySQL官方库):如果用这个,遇到MySQL 8.0+版本可能会有认证问题(默认的caching_sha2_password旧驱动不支持),还要去改MySQL的用户认证方式,比较麻烦,除非你必须用MySQL官方的库,否则不推荐。

三、什么时候必须自己编译驱动?

要是上面的方法都不管用,比如你的Qt版本特别老,或者用了特殊编译器(比如MinGW和MSVC混着用),那只能自己编译QMYSQL驱动了:

  1. 先装MySQL/MariaDB的开发包,必须要头文件和静态库,光装客户端没用。
  2. 找到Qt源码里的 qtbase/src/plugins/sqldrivers/mysql 目录(要是没装Qt源码,得先去Qt安装器里补上)。
  3. 修改 mysql.pro 文件,指定头文件和库的路径,举个Linux下的例子:
    INCLUDEPATH += /usr/include/mariadb
    LIBS += -L/usr/lib/x86_64-linux-gnu -lmariadb
    
  4. 用qmake生成Makefile,然后编译(Linux/macOS用make,Windows在Qt Creator里直接构建就行)。
  5. 把编译出来的驱动文件(比如libqsqlmysql.so或者qsqlmysql.dll)复制到Qt的 plugins/sqldrivers 目录,或者你的程序运行目录。

四、几个容易忽略的排查点

  • 位数必须匹配:32位Qt一定要配32位的MySQL/MariaDB库,64位同理,这是最容易踩的低级错误!
  • MySQL 8.0+的认证问题:如果用的是MySQL 8.0以上版本,默认用户认证是caching_sha2_password,旧版QMYSQL驱动不支持,要么把用户的认证方式改成mysql_native_password(比如ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';),要么用支持新认证的驱动(比如编译新版Qt的驱动,或者用MariaDB的库)。
  • 先确认驱动列表:在代码里加一行 qDebug() << QSqlDatabase::drivers();,看看QMYSQL是不是在支持的驱动列表里,要是不在,那就是驱动没装对。

内容的提问来源于stack exchange,提问作者Francois Giguere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:44:24