QT5.15.2 连接MySQL 驱动问题解决方案,无论菜鸟🐦️还是老鸟🦜,解决了就是好鸟🦚
最新在学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 驱动问题解决方案,无论菜鸟🐦️还是老鸟🦜,解决了就是好鸟🦚的更多相关文章
- Ubuntu18.04下Qt5.9.8连接mysql数据库失败的解决办法
问题: 连接mysql数据库时,出现如下 提示: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQ ...
- 官网下载Java连接MySql驱动jar包
官网地址:http://dev.mysql.com/downloads/connector/ 1.选择下载驱动 2.选择下载 3.可以不登录直接下载 4.下载下来的是zip压缩包,解压之后,文件夹中有 ...
- Android jdbc连接mysql报错解决方案 (Communications link failure)
最近调试安卓连接mysql真是心态爆炸,快两天才搞出来.以下整理一些常见问题. 检查manifest文件里网络权限是否打开 检查数据库IP是否有问题(包括一些沙雕错误,比如是不是在ip首或尾多了个空格 ...
- [技术博客]django连接mysql数据库的方法及部分问题的解决方法
配置机器介绍 操作系统:Ubuntu 18.04.2 LTS 64位 python版本:Python 3.6.7 Django版本:Django 2.2 MySql版本:5.7.26 数据库选择 我们 ...
- Go连接MySql数据库Error 1040: Too many connections错误解决
原文:https://my.oschina.net/waknow/blog/205654 摘要: 使用Go链接数据库时,由于连接释放不当会在一段时间以后产生too many connections的错 ...
- Mac下Qt连接MySQL 驱动问题
Mac OS X下Qt的mySQL driver编译安装 原创文章,采用CC协议发布,转载请注明: 转载自canX.me 本文链接地址: Mac OS X下Qt的mySQL driver编译安装 – ...
- Springboot项目mysql日期存储不匹配问题和在idea本地可以运行起来,但打包jar后运行报找不到mysql驱动的解决方案
修改pop.xml中scope的值,如果是具体版本号,修改为如下即可解决 <dependency> <groupId>mysql</groupId> <art ...
- 15. Django连接Mysql数据库
安装PyMySQL,打开cmd, pip install PyMySQL 在.../blog/init.py 目录下添加: import pymysql pymysql.install_as_MySQ ...
- JSP连接mysql 驱动包
360网盘 https://yunpan.cn/cPxT6CV9Kydyb 访问密码 1df9
- java连接mysql :No Suitable Driver Found For Jdbc 解决方法
今天出现编码出现了No suitable driver found for jdbc,又是找遍了网上的资料,基本上都说是以下个问题: 一是:连接URL格式出现了问题(Connection con ...
随机推荐
- Chrome 开启多线程下载
打开 chrome://flags/#enable-parallel-downloading,将 Parallel downloading 设置为 Enabled 参考:为什么Chrome浏览器下载速 ...
- XeLaTeX 无法编译含有经过 pdfcrop 裁剪的 PDF 文件的文档
今天在写 LaTeX 文档时踩了个大坑,我在文档里插入了一个 PDF 图片之后文档无法编译了. 于是我去掉多余代码,做了一个最小工作示例: \documentclass{article} \usepa ...
- Centos8下Redis设置Session共享存储
Redis-Session共享存储 前提条件: 1.安装Redis 2.安装Apache或Nginx 3.安装php 本机环境: php:7.3 Redis:5.0.7 开始部署: 我是分别用Cent ...
- Python新手爬虫三:爬取PPT模板
爬取网站:第一PPT(http://www.1ppt.com/) 此网站真的良心 老样子,先上最后成功的源码(在D盘创建一个"D:\PPT"文件夹,直接将代码执行就可获取到PPT) ...
- Codeforces Round 916 (Div. 3) (A~F附带题解和详细思路)
Codeforces Round 916 (Div. 3) (A~E2) A. Problemsolving Log 签到题,对于给出的字符串,用数组记录每个字母出现的次数,然后遍历一边记录数组,如果 ...
- Git Extensions:一个.NET开源的 Git 图形用户界面(GUI)工具
前言 今天大姚给大家分享一个.NET开源.免费的用于管理 Git 存储库的独立图形用户界面(GUI)工具,它还与 Windows 资源管理器和 Microsoft Visual Studio (201 ...
- PDF解析,还能做得更好
随着大模型文档智能应用逐渐步入正轨,文档解析类产品成为其中重要的一环.文档解析工具能够"唤醒"沉睡在PDF文件中的知识,将其转化为机器能够识别.读取的信息,将可用数据从txt.cs ...
- Atcoder Beginner Contest 367
A.Shout Everyday \(\text{Diff }43\) 给你 \(24\) 小时制下的 \(A,B,C\) 三个时刻,问 \(A\) 是否在 \([B,C]\) 范围内 考虑到先将 \ ...
- 【赵渝强老师】如何分析Java的内存溢出问题
一.什么是内存溢出? 内存溢出(OOM:out of memory)通俗理解就是内存不够,通常在运行大型软件或游戏时,软件或游戏所需要的内存远远超出了你主机内安装的内存所承受大小,就叫内存溢出. 在J ...
- c++可变模板参数
在C++中的可变模板参数使用省略号 ... 来表示一个参数包(Parameter Pack),其具体位置决定了这个包是模板参数包还是函数参数包,以及如何进行参数展开. 1. 模板参数包:c... Ar ...