Qt6之默认取消MySQL支持?

news2025/2/24 7:17:41

说明:本篇不是讨论qt怎么使用MySQL,这类的文章一搜一大堆。

一、结论

Qt6开始确实默认取消了对MySQL的支持,用户需自行编译生成MySQL的驱动DLL库。

首先不是qt增加使用门槛是风向变了,而是自从Oracle 收购MySQL后对其进行了商业化,如今的MySQL已经不能算是一个完全开源的数据库了,而Qt官方则一直严格秉持着开源理念,故 Qt6 取消了对 MSOL 数据库的默认支持 。

MySQL怎么了?

MySQL 仍然是最流行的开源数据库,但多年来它一直在失去粉丝,包括很多大公司。

MySQL有一个良好的开端,但麻烦始于2008年被Sun Microsystem收购。顶级开发人员表达了他们对Sun Microsystem整个收购和意图的疑虑。后来,甲骨文公司收购Sun Microsystem引起了开源社区的大量批评,成为压垮骆驼的最后一根稻草。

早在 2008 年,当Sun Microsystems以大约 10 亿美元的价格收购 MySQL AB时,MySQL 迅速流行起来。次年,甲骨文收购了 Sun,而MySQL 是交易的一部分。MySQL 用户和开发人员开始质疑开源数据库的命运,其中许多人开始寻找替代方案。

收购后,MySQL的顶级开发人员创建了MySQL的分支。这个分支后来被称为MariaDB,并于2009年在GNU许可证下正式提供给开源社区。从那时起,MariaDB彻底改变了开源数据库领域,并继续突飞猛进地发展。由于MySQL的许可,更多的公司继续迁移到MariaDB,因为它与MySQL一样具有大量新功能和改进。

尽管如此,MySQL 的受欢迎程度仍在下降。原因如下:

1、MySQL 是开源的……但只是有点开源,不是纯开源了

从技术上讲,MySQL 是一个开源数据库,但实际上,它不再像它了。在 Oracle 的保护下,MySQL 现在拥有专有的闭源模块。“MySQL 在纸面上仍然存在,但甲骨文拖延开发并拒绝发布 MySQL 的错误和安全补丁的测试用例加强了对代码的控制,并将成群的开源开发人员送往更绿色的牧场,”Paula Rooney 在她的 ZDNet 中如此评价。

并不是说没有其他开源替代品。MariaDB 是 MySQL 的一个分支,仍然是“真正的开源”。MariaDB 开发商 SkySQL解释说,“MariaDB 中的所有代码都是在 GPL、LPGL 或 BSD 下发布的。MariaDB 没有像MySQL Enterprise Edition中那样的闭源模块。事实上,MySQL 5.5 企业版中所有的闭源特性都在 MariaDB 开源版本中找到了。”

结论就是:纯开源的MySQL本质上现在已经是MariaDB。

2、 MySQL 的性能不如它的竞争对手MariaDB

MariaDB 博客提供了最新 MySQL 与 MariaDB 版本的详细基准测试结果,尽管结果接近,但MariaDB 领先。

3、 MySQL 现在是 Oracle 拥有的,而不是社区驱动的

MySQL 自从被 Oracle 收购后并没有显着改变方向,但 Oracle 仍然拥有它,这让一些开发人员感到紧张。“而且,可能最糟糕的是,社区不可能与 Oracle 的 MySQL 开发人员合作,”MySQL 和 MariaDB 的创始人 Michael “Monty” Widenius 说。

Widenius 指出,Oracle 不接受补丁或提供公共路线图。“无法与 MySQL 开发人员讨论如何实现事物或当前代码如何工作,”他说。如果一个开源的、社区开发的数据库对你很重要,Widenius 推荐 MariaDB(duh!),因为它建立在 MySQL 之上,提供更多的特性、速度和稳定性,安全问题更少。

4、大公司开始跳票

在 2013 年 6 月于波士顿举行的峰会上,Red Hat 宣布与 MySQL 分手。相反,Red Hat Enterprise Linux (RHEL) 将随 MariaDB 一起发布。Fedora 已经宣布将在 Fedora 19 中从 MySQL 迁移到 MariaDB 分支。Slackware Linux 于 2013 年 3 月宣布从 MySQL 迁移到 MariaDB,openSUSE 在 2013 年 1 月也发布了类似的公告。

Qt官方一直秉承开源社区的理念,这与MySQL现在实质已经背道而驰了,所以qt6开始默认取消对MySQL支持。

5、为什么MySQL被越来越抛弃而MariaDB却持续增长

随着MySQL数据库的普及率下降和向MariaDB的大规模转变,您可能想知道是什么让MariaDB自成立以来取得了如此巨大的成功。在本节中,我们将重点介绍推动MariaDB增长和随之而来的流行度的一些关键改进和功能。

首先,MariaDB 不需要许可证,尤其是在生产/商业环境中。自从被Oracle收购以来,MySQL现在需要用于商业目的的许可证。此举迫使成千上万的开发人员选择MariaDB。XAMPP,一个流行的Web服务器堆栈,甚至在其LAMP堆栈中放弃了MariaDB的MySQL。由于部署不需要许可证,MariaDB因此被认为是真正的开源RDBMS - 关系数据库管理系统。

MariaDB 具有内置且强大的集群功能,称为 Galera 集群,能够提供主到主和主从复制。它提供自动节点加入、行级并行复制以及同步复制,并具有对群集中任何节点的读写功能。此外,您可以承受丢失集群中的节点,而不必担心集群操作中断,也无需部署复杂的故障转移计划。

MariaDB 还带有内置的强大存储引擎有用的插件Cassandra存储引擎支持NoSQL,可以同时容纳SQL和NoSQL系统。TokuDB有助于处理大数据,是高性能和资源密集型环境的理想选择。其他尖端的存储引擎包括AriaXtraDB,它们分别取代了MySQL中旧的MyISAM和InnoDB。

MariaDB中内置的其他新功能和超酷功能包括专门为数据仓库量身定制的ColumnStore引擎,为方便MariaDB访问本地和远程数据而构建的CONNECT存储引擎,MyRocks,这是一个LSM数据库,提供出色的压缩比,用于创建序列的SEQUENCE引擎(无论是从给定的参考点或起始值升序还是降序)和Spider引擎。 少。

MariaDB 不仅在查询优化方面拥有更好的性能,而且在其他功能方面也拥有更好的性能当客户端连接到MariaDB时,速度很快,MariaDB 10.1和10.2都添加了更多改进。这使得MariaDB成为MySQL更受欢迎的选择。

随着网络威胁和漏洞的不断增加,MariaDB 开发人员会定期发布安全公告并利用补丁和升级。此外,他们的发行说明包含所有最新的 CVE 标识符。这与MySQL相去甚远,MySQL的安全公告频率较低,并且被称为模糊,这使得补丁管理难以实施。此外,发行说明中列出的 CVE 标识符与当前存在的标识符之间存在巨大差异。
值得一提的是,MariaDB 有更好的测试,这有助于减少编译警告和错误中的错误。这主要是由于庞大的贡献者社区,以及以改进数据库系统为唯一目标的开发人员。所有源代码都在通用公共许可证(GPL)下发布,MySQL中的所有闭源模块都存在于开源MariaDB中。这使得MariaDB成为一个真正的开源数据库系统。

最后,MariaDB是MySQL的直接替代品,从MySQL迁移到MariaDB只需执行一些命令即可。如果您正在运行一些MySQL数据库实例,则只需删除/清除MySQL软件包并安装MariaDB,设置将自动迁移。

MariaDB的增长将保持不受阻碍,这主要是由于其充满活力和开源的社区促进了更好,更干净的代码的维护,而这恰恰是Oracle MySQL被批评的主要原因,缺少社区渠道,不接受补丁及公共路线,重点在商业版本。数据库系统还充满了大量有用的功能,有望获得身临其境的体验。在接下来的几年中,我们可能会看到更多的公司转向MariaDB,因为应用程序变得越来越复杂,需要更强大,稳定和安全的数据库系统。


Qt环境中不再内置MySQL的驱动(QMYSQL),用户若是还想使用0t连接操MVSQL只能用Qt的源码工程自行编译生成MySQL 的驱动DLL库,然后引入开发环境使用,过程比较麻烦,下面介绍具体操作步骤。

1、首先打开MySQL 安装目录下的“lib”文件夹,看到里面有两个文件“libmysqldll”和“libmysqllib”,将它们复制到Qt的MinGw编译器的“bin”目录;

2、找到 Qt 安装目录下源代码目录中的“mysql”文件夹(“C:Qt\6.5\Src\qtbase\src\plugins\sqldrivers\mysql”,请根据自己安装的实际路径寻找)进入此文件夹,可见其中有一个名为“mysql.pro”的Qt项目工程配置文件;

3、启动QtCreator,定位到“mysql”文件夹下,打开“mysql.pro”对应的Qt项目,运行此项目;

4、打开“mysql”文件夹,可看到其中多了个“lib”子文件夹,进入可看到编译生成的3个文件;

其中,qsqlmysql.dll”和“qsqlmysql.dll.debug即是我们需要的Qt环境MySQL数据库的驱动。

5、复制MySQL驱动到Qt的“sqldrivers”文件夹中选中上面生成的“qsqlmysql.dll”和“qsqlmysql.dll.debug”驱动文件并复制,然后将其粘贴到qt安装目录下的“sqldrivers”文件夹,这就成功地给qt环境添加了 MySQL驱动,后面编程中就可以使用这个驱动访问MySQL数据库了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/561857.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LC-1377. T 秒后青蛙的位置(DFS、BFS)

1377. T 秒后青蛙的位置 难度困难57 给你一棵由 n 个顶点组成的无向树,顶点编号从 1 到 n。青蛙从 顶点 1 开始起跳。规则如下: 在一秒内,青蛙从它所在的当前顶点跳到另一个 未访问 过的顶点(如果它们直接相连)。青…

一键呼叫可视对讲用于路灯杆

城市建设进入新时代,各种智慧化设施应运而生。路灯杆一键呼叫可视对讲系统可以实现智能安防、信息传递等多种功能,成为城市智慧化的重要组成部分。 1. 系统介绍 路灯杆一键呼叫可视对讲系统由路灯杆、摄像头、语音呼叫器等组成。当市民需要求助或报警时…

大数据开发之Hive案例篇5- count(distinct) 优化一例

文章目录 一. 问题描述二. 解决方案2.1 调整reduce个数2.2 SQL改写 一. 问题描述 需求: 卡在了reduce,只有一个reduce MR job卡在了最后一个reduce,任务迟迟未运行成功 二. 解决方案 2.1 调整reduce个数 一般一个reduce处理的数据是1G&#xff0c…

【Dubbo核心 详解四】Dubbo服务提供者的详解

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Dubbo核心详解(附代码示例) 文章目录 引言一、服务提供者1.1 服务提供者介绍Dubbo 服务提供者启…

NPDP|产品经理的硬实力体现在哪里?

在企业里,产品经理是一个具有综合职能的职位,其工作的范围可以说已经遍及到了公司的每个角落其接触的人员也涉及公司几乎所有的部门。 产品经理是产品品牌塑造者、更是营销骨干,是一套完善的营销运作制度,更是博大精深的营销操作…

git clone 报错10054,解决方法

使用git clone下载工程时,报错提示如下: fatal: unable to access https://github.com/deozhang/GaoZhongShuXue.git/: OpenSSL SSL_read: Connection was reset, errno 10054 报错提示的代码是10054,根据提示和网上搜索结果,可以…

Ae:跟踪运动

使用跟踪器 Tracker面板的跟踪运动 Track Motion功能,可通过手动添加和设置跟踪点来跟踪对象的运动,并能将获得的跟踪数据应用于其它对象。 Ae菜单:窗口/跟踪器 Tracker 点击跟踪器面板上的“跟踪运动”按钮,会为图层添加“动态跟…

Charles使用教程【简易版】

Charles抓包教程 1、电脑安装charles 2、电脑打开charles后安装root证书 3、电脑信任证书 4、手机连接与电脑同一wifi 5、设置手机代理 wlan设置中将当前 wifi 的代理改成手动,主机名填电脑 ip,端口填8888 此时如果当前手机是第一次被你的电脑设备代理或…

【JavaSE】Java基础语法(四)

文章目录 🍼1. 循环细节🥢1.1 循环语句-dowhile循环🥢1.2 三种循环的区别🥢1.3 跳转控制语句 🍼2. Random🥢2.1 Random产生随机数🥢2.2 Random练习-猜数字 🍼1. 循环细节 &#x1f…

[资料分享]基于单片机防酒驾酒精检测报警系统装置设计、基于数字电路演讲计时protues仿真设计

基于单片机防酒驾酒精检测报警系统装置设计 一、说明 通过MQ3传感器检测酒精浓度,信号由ADCO832进行处理模数转化再到单片机进行处理,当检测到浓度超过“酒驾”报警值时,红灯亮起,当检测到浓度超过“醉驾”报警值时,…

网关网卡配置

Vmvare虚拟机设置外网IP 查看当前主机的网卡名/当前IP/子网掩码,网关地址 ifconfig route -n 查看DNS nslookup hcos 网卡名称为enp0s3,IP地址为10.0.2.15,子网掩码为255.255.255.0,网关为10.0.2.2; Centos设置IP/网…

【Java编程系列】gateway限流实践时发生的问题和解决方案

前期回顾: 【Java编程系列】Springcloud-gateway自带限流方案实践篇 1、实践中发生的问题 主要有以下几个问题: 1、限流返回的响应数据无法自定义 (LogFormatUtils.java:91) - [7b93af46-20] Completed 429 TOO_MANY_REQUESTS 返回后显示的情况如下&a…

C++第二章:变量和基本内置类型

变量和基本内置类型 一、基本内置类型1.1 算数类型1.2 带符号类型和无符号类型1.3 类型转换含有无符号类型的表达式 1.4 字面值常量整形和浮点型字面值字符和字符串字面值转义序列指定字面值的类型 二、变量2.1 变量的定义初始化列表初始化默认初始化 2.2 变量声明和定义的关系…

【web-ctf】ctf_BUUCTF_web(2)

文章目录 BUUCTF_webSQL注入1. [RCTF2015]EasySQL2. [CISCN2019 华北赛区 Day1 Web5]CyberPunk3. [CISCN2019 总决赛 Day2 Web1]Easyweb4. [GYCTF2020]Ezsqli5. [网鼎杯 2018]Comment 文件上传漏洞1. [WUSTCTF2020]CV Maker2. [NPUCTF2020]ezinclude3. [SUCTF 2019]EasyWeb 文件…

TADK 23.03 release note

主要功能概述: 基于深度学习的应用分类:在原有的基于机器学习的应用分类(AppID)能力基础上,扩展出新的深度学习参考模型和推理引擎。FFEL的raw byte特征提取:增加了流特征提取库(FFEL)对数据包中的raw byte特征提取能力&#xff0…

Meta AI 重磅推出LIMA!媲美GPT-4、无需RLHF就能对齐!

深度学习自然语言处理 原创作者:鸽鸽 昨天Meta AICMU这篇文章一出,twitter都炸了! LIMA,只使用1000个精心挑选的样本微调一个 65B LLaMa,无需RLHF,性能媲美甚至优于GPT-4! 论文:LIMA…

游戏洞察丨自来水还是井水,后流量时代的私域挑战

流量生意本质上是买卖用户浏览时间的生意,如果用户增长到顶,那就意味着供给到顶。对比 2021 年,2022 年的游戏出海在谷歌和 Facebook 上投入的广告成本几乎翻了一倍。新晋“渠道王者”TikTok 逐渐走进大家的视野。该现象背后的原因在于&#…

解决幂等问题,只需要记住这个口诀!

△Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 417 篇原创分享 作者 l Hollis 来源 l Hollis(ID:hollischuang) 作为开发人员,我们每天都要开发大量的接口,其中包括了读接口和写接口,而对于写接…

将矩阵按指定对角线转化为一个上三角矩阵numpy.triu()方法

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将矩阵按指定对角线转化为一个上三角矩阵 numpy.triu() 选择题 关于以下代码说法错误的一项是? import numpy as np a np.array([[1,2],[3,4]]) print("【显示】a\n",a) print(&…

应用程序和 API 攻击呈上升趋势

Akamai Technologies 发布了一份新的互联网现状报告,标题为“突破安全漏洞:针对组织的应用程序和 API 攻击的兴起”。 报告显示,亚太地区和日本(APJ)的金融服务业仍然是该地区受攻击最严重的行业,Web 应用…