Qt+MySql开发笔记:Qt5.9.3的mingw32版本编译MySql8版本驱动并Demo连接数据库测试
前言
之前特定的mysql版本msvc版本已经调通了,但是为了更好的跨平台,所以选择用mingw32版本,于是需要编译mysql驱动的mingw32版本的驱动库,以便提供给qt连接mysql使用。
编译环境
Qt5.9.3 mingw32
安装得时候记得要勾选上源码
mysql-installer-community-8.0.16.0
下载数据库
编译mysql驱动库(Qt5.9.3+mysql8.0.16)
步骤一:安装Qt5.9.3勾选mingw32版本。
其他过程略。
步骤二:下载数据库32位驱动运行程序并解压
下载数据库运行包文件。(注意:这里要注意跟目标机器安装的版本要一致)。
下载地址:https://downloads.mysql.com/archives/c-c
步骤三:打开qt中自带的mysql源码工程
使用QtCreator打开:
注意工程的编译套件。(注意:shadow build在这里不管作用,最后是生成到根目录上去了,跟pro包含的pri配置有关)
步骤四:qmake并且build构建
构建成功:
这里生成到磁盘根目录下去了:
步骤五:替换插件的mysql库
步骤六:将数据库的libmysql.dll拷贝到bin目录
这个文件是运行库,也是需要自动手动额外copy和打包时额外拷贝的,具体看 “入坑一”。
需要将下载下来mysql的lib下的libmysql.dll拷贝到qt的gcc的bin目录下,而且打包软件的时候也要带上。
如果是打包,则windeployqt不会主动拷贝,也需要手动复制过去:
步骤七:编译应用连接测试
编译数据库的工程:
Ok了,提示不再是缺少驱动了。
下面配置好数据库,再尝试:
步骤八:配置数据库账号允许远程操作
这是因为账号不被允许远程登录,所以需要修改数据库用户的配置,让其允许远程登录。
修改用户被允许远程登录,先使用mysql控制端输入密码登录,然后操作:
use mysql;
select host,host from user;
update user set host = ‘%’ where user = ‘root’;
select host,host from user;
这时候,还是不行,需要强行刷新以下
flush privileges;
然后成功:
至此,Qt5.9.3 mingw32 + mysql8.0.16数据库完成。
步骤九:数据库的远程操作工具连接
使用远程工具测试,发现出错:
这是因为8.0之后mysql更改了密码的加密规则,目前的客户端连接软件还不支持Mysql8新增加的加密方式caching_sha2_password,所以需要修改用户的加密方式,将其改回旧加密验证方式。
先登录mysql命令行,执行以下,主要是youPassword要替换为你使用远程登录的账户密码:
alter user 'root'@'%' identified by 'youPassword' password expire never;
alter user root identified with mysql_native_password by 'youPassword';
flush privileges;
入坑
入坑一:开始连通后打包后不行了,回头也不行了
问题
开始连通后打包后不行了,回头也不行了
原因
需要使用到libmysql.dll运行库
解决
需要将下载下来mysql的lib下的libmysql.dll拷贝到qt的gcc的bin目录下,而且打包软件的时候也要带上。
如果是打包,则windeployqt不会主动拷贝,也需要手动复制过去:
Qt+MySql开发笔记:Qt5.9.3的mingw32版本编译MySql8版本驱动并Demo连接数据库测试的更多相关文章
- Qt+MySql开发笔记:Qt5.9.3的msvc2017x64版本编译MySql8.0.16版本驱动并Demo连接数据库测试
前言 mysql驱动版本msvc2015x32版本调好, mysql的mingw32版本的驱动上一个版本编译并测试好,有些三方库最低支持vs2017,所以只能使用msvc2017x64,基于Qt5 ...
- Qt+MPlayer音乐播放器开发笔记(一):ubuntu上编译MPlayer以及Demo演示
前言 在ubuntu上实现MPlayer播放器播放音乐. Demo Mplayer MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布.此款软件 ...
- Hi3516开发笔记(四):Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表
若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121572767红胖子(红模仿)的博文大全:开发技术集合( ...
- Qt+ECharts开发笔记(三):ECharts的柱状图介绍、基础使用和Qt封装Demo
前言 上一篇成功是EChart随着Qt窗口变化而变化,本篇将开始正式介绍柱状图介绍.基础使用,并将其封装一层Qt. 本篇的demo实现了隐藏js代码的方式,实现了一个条形图的基本交互方式,即Qt ...
- Qt+ECharts开发笔记(二):Qt窗口动态调整大小,使ECharts跟随Qt窗口大小变换而变换大小
前言 上一篇将ECharts嵌入Qt中,在开始ECharts使用之前,还有一个很重要的功能,就是在窗口变换大小的时候,ECharts的图表尺寸也要跟随Qt窗口变换大小而变换大小. Demo演示 ...
- Qt+ECharts开发笔记(四):ECharts的饼图介绍、基础使用和Qt封装百分比图Demo
前言 前一篇介绍了横向柱图图.本篇将介绍基础饼图使用,并将其封装一层Qt. 本篇的demo使用隐藏js代码的方式,实现了一个饼图的基本交互方式,并预留了Qt模块对外的基础接口. Demo演示 ...
- Qt+ECharts开发笔记(五):ECharts的动态排序柱状图介绍、基础使用和Qt封装Demo
前言 上一篇的demo使用隐藏js代码的方式,实现了一个饼图的基本交互方式,并预留了Qt模块对外的基础接口. 本篇的demo实现了自动排序的柱状图,实现了一个自动排序柱状图的基本交互方式,即Qt ...
- openwrt开发笔记一:源码下载与编译
1.1 环境要求 编译系统:Linux发行版(本文使用Ubuntu) 编译一个可以安装的OpenWrt固件镜像文件(大约8MB大小的),你需要: 一个纯净的OpenWrt编译系统大约需要200MB的空 ...
- 树莓派开发笔记(十一):蓝牙的使用,BlueZ协议(双树莓探测rssi并通过蓝牙互传获取的rssi信号强度)
若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/110940484长期持续带来更多项目与技术分享, ...
- QCustomPlot开发笔记(一):QCustomPlot简介、下载以及基础绘图
前言 QCustomPlot开发笔记系列整理集合,这是目前使用最为广泛的Qt图表类(Qt的QWidget代码方向只有QtCharts,Qwt,QCustomPlot),使用多年,系统性的整理,过目 ...
随机推荐
- [转帖]Jmeter压力测试工具安装及使用教程
https://www.cnblogs.com/monjeo/p/9330464.html 一.Jmeter下载 进入官网:http://jmeter.apache.org/ 1.第一步进入官网如下图 ...
- [转帖]linux删除文本文件空白行
linux删除文本文件空白行https://www.zhihu.com/people/chen-kai-84-54-75 sed命令 在Linux中,可以使用sed命令批量删除文本中的空白行.以下是一 ...
- Vue2 里如何优雅的清除一个定时器
绝大多数人清除定时器的方法 <script> export default { data() { return { timer: null } }, mounted() { this.ti ...
- vue启动报错_interopRequireDefault is not a function
起因 今天接触一个项目vue. 在安装好环境之后,启动的时候报错_interopRequireDefault is not a function 解决的办法:我觉得可能是因为node_modules安 ...
- ElementUI实现表格(table) 行上下移动的效果
参考地址 https://blog.csdn.net/sunshine0508/article/details/88390155 看大佬的地址 <div id="app"&g ...
- Qt 信号重载问题
Qt信号重载问题 例如QComBox的currentIndexChanged信号,包括 void QComboBox::currentIndexChanged(const QString &t ...
- MacType更好的字体渲染
初步尝试 下载 noMeiryoUI 和 苹果简方字体,通过noMeiryoUI替换系统字体 建议使用苹果简方 常规体 10px,字体下载地址 mactype 我的系统:win10 lts 1809, ...
- yum 安装失败解决思路$releasever(curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error")
问题 公司使用刀片机的系统版本是CentOS 7.9.2009(Core),本人在重新安装虚拟机时,也使用对应的系统版本,在安装软件时,yum无法正常使用,一开始觉得,centos的release版本 ...
- Windows 7 Ultimate with Service Pack 1 (x64)
Windows 7 Ultimate with Service Pack 1 (x64) 链接:https://pan.baidu.com/s/1ZHODDFlJPLQ3ydxZ4rfc3g 提取码: ...
- 【STL源码剖析】vector类模拟实现 了解底层-走进底层-掌握底层【超详细的注释和解释】
今天博主继续带来STL源码剖析专栏的第二篇博客了! 今天带来vector的模拟实现! 其实在很多人学习C++过程中,都是只学习一些STL的使用方式,并不了解底层的实现.博主本人认为,这样的学习这样的技 ...