最新在学QT,现在QT只能在线安装了,用了几天,看到数据库时,需要用MySQL,结果出现了问题。

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7、Sql connect failed、"Driver not loaded Driver not loaded"

网上找到很多资料,最终圆满解决,以下资料为本人亲自处理过程,现分享给大家!

一.如果连接时出现

“SSL connection error: protocol version mismatch QMYSQL: Unable to connect

表示:高版本的客户端连接到低版本的MySql Server

解决方法: 服务器配置中 跳过 SSL

-----------------------------------------------------

例:MySql 安装的 5.7 Server

WINDOWS服务中找到 MySQL57--属性

"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" MySQL57

我们就要修改这个文件 C:\ProgramData\MySQL\MySQL Server 5.7\my.ini 文件

编辑这个文件:在文件的尾部加上

# disable_ssl

skip_ssl

二.使用QT连接MySQL的过程中出现:

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7、Sql connect failed、"Driver not loaded Driver not loaded"

表示:没有驱动(或驱动不匹配)

解决方法:编译QT中的mysql驱动

例:(安装的QT中有这个项目)

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

1).下载mysql-connector-c-6.1.11-win32.zip和mysql-connector-c-6.1.11-winx64.zip 驱动,官网上有。

解压到如:D:\Softwares\QT\MySql\mysql 和D:\Softwares\QT\MySql\mysql64

2).用QT打开项目: D:\ProgramFiles\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro

mysql.pro修改如下(32,64位编译做启用注释即可):

上面引用 了  include(../qsqldriverbase.pri)  ,这个文件也要改一下qsqldriverbase.pri

文件1:qsqldriverbase.pri内容

QT  = core core-private sql-private

    # For QMAKE_USE in the parent projects.

# include($$shadowed($$PWD)/qtsqldrivers-config.pri)

include(./configure.pri)

    PLUGIN_TYPE = sqldrivers

load(qt_plugin)

    DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII

  文件2:mysql.pro内容

D:\ProgramFiles\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro文件内容(参考)

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)

#针对 windows 32 位系统

# LIBS +=$$quote(D:/Softwares/QT/MySql/mysql/lib/libmysql.lib)

# INCLUDEPATH +=$$quote(D:/Softwares/QT/MySql/mysql/include)

# DEPENDPATH +=$$quote(D:/Softwares/QT/MySql/mysql/include)

# DESTDIR = d:/mysqllib

#针对 windows 64 位系统

LIBS +=$$quote(D:/Softwares/QT/MySql/mysql64/lib/libmysql.lib)

INCLUDEPATH +=$$quote(D:/Softwares/QT/MySql/mysql64/include)

DEPENDPATH +=$$quote(D:/Softwares/QT/MySql/mysql64/include)

DESTDIR = d:/mysqllib64

上面正常构建后D:\mysqllib 和D:\mysqllib64 下会生成文件

qsqlmysql.dll

qsqlmysql.dll.debug

32位的 由D:\mysqllib  复制到D:\ProgramFiles\Qt\5.15.2\mingw81_32\plugins\sqldrivers

62位的 由D:\mysqllib64  复制到D:\ProgramFiles\Qt\5.15.2\mingw81_64\plugins\sqldrivers

另外 libmysql.dll库文件也需要复制:

32位:

由D:\Softwares\QT\MySql\mysql\lib\libmysql.dll 复制到D:\ProgramFiles\Qt\5.15.2\mingw81_32\bin

62位:

由D:\Softwares\QT\MySql\mysql64\lib\libmysql.dll 复制到D:\ProgramFiles\Qt\5.15.2\mingw81_64\bin

上述完成了,重启QT,再打开项目进行测试即可.

祝你好运!

QT5.15.2 连接MySQL 驱动问题解决方案,无论菜鸟🐦️还是老鸟🦜,解决了就是好鸟🦚的更多相关文章

  1. Ubuntu18.04下Qt5.9.8连接mysql数据库失败的解决办法

    问题: 连接mysql数据库时,出现如下 提示: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQ ...

  2. 官网下载Java连接MySql驱动jar包

    官网地址:http://dev.mysql.com/downloads/connector/ 1.选择下载驱动 2.选择下载 3.可以不登录直接下载 4.下载下来的是zip压缩包,解压之后,文件夹中有 ...

  3. Android jdbc连接mysql报错解决方案 (Communications link failure)

    最近调试安卓连接mysql真是心态爆炸,快两天才搞出来.以下整理一些常见问题. 检查manifest文件里网络权限是否打开 检查数据库IP是否有问题(包括一些沙雕错误,比如是不是在ip首或尾多了个空格 ...

  4. [技术博客]django连接mysql数据库的方法及部分问题的解决方法

    配置机器介绍 操作系统:Ubuntu 18.04.2 LTS 64位 python版本:Python 3.6.7 Django版本:Django 2.2 MySql版本:5.7.26 数据库选择 我们 ...

  5. Go连接MySql数据库Error 1040: Too many connections错误解决

    原文:https://my.oschina.net/waknow/blog/205654 摘要: 使用Go链接数据库时,由于连接释放不当会在一段时间以后产生too many connections的错 ...

  6. Mac下Qt连接MySQL 驱动问题

    Mac OS X下Qt的mySQL driver编译安装 原创文章,采用CC协议发布,转载请注明: 转载自canX.me 本文链接地址: Mac OS X下Qt的mySQL driver编译安装 – ...

  7. Springboot项目mysql日期存储不匹配问题和在idea本地可以运行起来,但打包jar后运行报找不到mysql驱动的解决方案

    修改pop.xml中scope的值,如果是具体版本号,修改为如下即可解决 <dependency> <groupId>mysql</groupId> <art ...

  8. 15. Django连接Mysql数据库

    安装PyMySQL,打开cmd, pip install PyMySQL 在.../blog/init.py 目录下添加: import pymysql pymysql.install_as_MySQ ...

  9. JSP连接mysql 驱动包

    360网盘 https://yunpan.cn/cPxT6CV9Kydyb  访问密码 1df9

  10. java连接mysql :No Suitable Driver Found For Jdbc 解决方法

    今天出现编码出现了No suitable driver found for jdbc,又是找遍了网上的资料,基本上都说是以下个问题:    一是:连接URL格式出现了问题(Connection con ...

随机推荐

  1. NeoVim 安装

    NeoVim 官网 安装 macOS brew install neovim Windows 使用 winget: winget install Neovim.Neovim 也可以使用 scoop: ...

  2. ES7学习笔记(五)动态映射

    通常情况下,我们使用ES建立索引的步骤是,先创建索引,然后定义索引中的字段以及映射的类型,然后再向索引中导入数据.而动态映射是ES中一个非常重要的概念,你可以直接向文档中导入一条数据,与此同时,索引. ...

  3. 国内加速拉取docker镜像的几种方法

    参考首页 快捷命令,使用本站代理拉取镜像,并修改回原始镜像名,在删除代理镜像名. 参考以下 docker cli 和 docker-compose.yml 修改镜像名后,继续一直使用本站代理服务未启动 ...

  4. ToCom:一次训练随意使用,华为提出通用的ViT标记压缩器 | ECCV 2024

    标记压缩通过减少冗余标记的数量(例如,修剪不重要的标记或合并相似的标记)来加快视觉变换器(ViTs)的训练和推理.然而,当这些方法应用于下游任务时,如果训练和推理阶段的压缩程度不匹配,会导致显著的性能 ...

  5. EF Core – Custom Migrations (高级篇)

    前言 会写这篇是因为最近开始大量使用 SQL Server Trigger 来维护冗余 (也不清楚这路对不对). EF Core migrations 没有支持 Trigger Github Issu ...

  6. Element——前端样式美化

    Element 简介    Element 快速入门      https://element.eleme.cn/#/zh-CN/component/button Element 布局      ht ...

  7. linux操作系统和文件系统,命令(上)

    Linux是一个类似于windows的操作系统 Linux操作系统的一种主要使用方式是通过终端软件:终端软件里只能使用键盘不能使用鼠标,在终端软件里通过输入命令完成各种任务 clear命令可以删除终端 ...

  8. About CSP

    好了,猜猜今年第一题会考什么 linux 终端指令 这样吧 CTH 装了 ubuntu 系统的电脑被人施加了 rm -rf /home/Desktop/ 指令,导致他打不开桌面了,以下哪一个是 CTH ...

  9. [TK] Rudolf and Subway ( CodeForces #933 div.3 - G )

    形式化题意 给定一个带权无向图,求从 \(s\) 点到 \(e\) 点的路径上途径边权种类的最小值. 思路 题图 我们把边权种类相同的点连成的子图抽象成一个 "平台" ,从题目给我 ...

  10. Tarjan缩点题单 刷题题解

    Tarjan缩点可以将一个图的每个强连通分量缩成一个点,然后构建新图,该图就会变成一个有向无环图.变成有向无环图之后就能结合最短路,拓扑......解决相应题目 洛谷题单分享: https://www ...