当前位置: 首页 > news >正文

Ubuntu编译MySQL驱动连接QT

1、安装MySQL

安装MySQL软件以及驱动。

sudo apt-get install mysql-serversudo apt install mysql-clientsudo apt-get install libmysqlclient-dev

2、编译qmysql驱动

2.1、修改mysql.pro

找到Qt源码中的mysql.pro项目文件,一般位于:/opt/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers/mysql文件夹下。

如果非root用户,则需要更改mysql文件夹所在目录的权限,以便修改文件内容。

可使用命令:

sudo chmod -R 777 /opt/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers/

1)修改mysql.pro文件:

#注释这一行
#QMAKE_USE += mysql

2)修改qsqldriverbase.pri文件:

# For QMAKE_USE in the parent projects.
#注释这一行
#include($$shadowed($$PWD)/qtsqldrivers-config.pri)
#添加这一行
include(./configure.pri)

2.2、编译

在mysql.pro文件夹中打开终端,执行命令:

qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/ -lmysqlclient" mysql.pro
make
sudo make install

注:1)qmake前面不用sudo;2)如果qmake命令不能识别,设置Qt环境变量;3)确认INCLUDEPATH+和LIBS+目录是否正确;

在/opt/Qt/5.15.2/gcc_64/plugins/sqldrivers路径下可以看到libqsqlmysql.so库文件:

3、配置MySQL

3.1、查询用户信息

驱动编译好后,Qt软件还是不能连接数据库,显示:

MySQL数据库连接失败: "Access denied for user 'root'@'localhost' QMYSQL: Unable to connect"

这是因为一般出现这种情况多数是安装新版本mysql,root密码是随机的,也不是空密码,所以要通过查看随机密码进入,再进行修改原来的密码。

输入命令查询用户信息。

sudo cat /etc/mysql/debian.cnf

显示如下:

输入命令:

mysql -u debian-sys-maint -p

输入debian.cnf对应的用户密码登录进去,输入命令查看用户列表。

use mysql;
select user,plugin from user;

3.2、修改root账户

修改root 账户密码格式。

# 修改其密码格式
update user set plugin='mysql_native_password' where user='root'; 
# 查询其用户
select user,plugin from user; 
# 刷新权限
flush privileges;

3.3、更改root账户密码

修改root账户密码为:root。

# 修改root账号密码
alter user 'root'@'localhost' identified by 'root';
# 在次刷新权限
flush privileges;
# 退出登录
exit

可以输入命令:mysql -u debian-sys-maint -p 再输入密码root登录进去了。

也可以使用MySQL Workbench界面登录。

将root账户的密码改为Qt程序中的连接密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxxxxxx';
#xxxxxxxx是你要更改的密码

使用QT也成功连接到数据库,打开了软件界面:

相关文章:

Ubuntu编译MySQL驱动连接QT

1、安装MySQL 安装MySQL软件以及驱动。 sudo apt-get install mysql-serversudo apt install mysql-clientsudo apt-get install libmysqlclient-dev 2、编译qmysql驱动 2.1、修改mysql.pro 找到Qt源码中的mysql.pro项目文件,一般位于:/opt/Qt/5.15…...

时间序列预测(七)——梯度消失(Vanishing Gradient)与梯度爆炸(Exploding Gradient)

目录 一、定义 二、产生原因 三、解决方法: 梯度消失与梯度爆炸是深度学习中常见的训练问题,它们主要发生在神经网络的反向传播过程中,使得模型难以有效学习。 一、定义 1、梯度消失(Vanishing Gradient)&#xf…...

ARM assembly 12: GCD(最大公约数)计算

首先,我们看看GCD(Greatest Common Divisor)的CPP实现 int gcd(int a, int b) {if(b 0) return a;return gcd(b, a%b); }基于下面的gcd.s文件,我们尝试实现gcd函数 //gcd.s .global main .extern fopen, fprintf, fclose, printf, atoi.section .dat…...

「实战应用」如何用图表控件LightningChart可视化天气数据?(一)

LightningChart.NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学…...

基于深度学习的细粒度图像分析综述【翻译】

🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ 文章目录 基础信息0 摘要1 INTRODUCTION2 识别与检索 RECOGNITION VS. RETRIEVAL3 问题和…...

yolo笔记

目录 Anaconda安装Pytorchyolov5下载部署labelimg安装 Anaconda安装 官网链接 https://www.anaconda.com/ 官网链接链接: 官网链接https://www.anaconda.com/ 直接下最新版 (网站会自动检测系统,我是在Windows环境截图的) bash Anaconda3-XXXX-Linux-x86_64.sh一…...

Android平台RTSP|RTMP播放器PK:VLC for Android还是SmartPlayer?

好多开发者,希望在Android端低延迟的播放RTMP或RTSP流,本文就目前市面上主流2个直播播放框架,做个简单的对比。 VLC for Android VLC for Android 是一款功能强大的多媒体播放器,具有以下特点和功能: 广泛的格式支持…...

IDEA下面的Services不见了(解决方案)

大家使用IDEA有时候新打开个项目这个东西不会自动出现如何解决 配置方法: 右上角打开进入Edit Configurations 进入后我们看到里面是没有SpringBoot相关内容的 点击加号选择SpringBoot 然后Apply Ok即可,现在IDEA下面就会出现Service了,打…...

【pyspark学习从入门到精通7】DataFrames_2

目录 创建 DataFrames 生成我们自己的 JSON 数据 创建 DataFrame 创建临时表 简单的 DataFrame 查询 DataFrame API 查询 SQL 查询 创建 DataFrames 通常,您会通过使用 SparkSession(或在 PySpark shell 中调用 spark)导入数据来创建 …...

Server-Sent Event(SSE) GPT场景实现

关于SSE的基本概念可以看一下阮一峰老师的这篇文章:Server-Sent Events教程。 现在比较常见的场景是gpt回答的时候类似下图这种打字机的情况,因为AI一般响应时间会比较长,使用这种方式能让人别等那么久,是一个相对比较良好的用户…...

美国Honeywell霍尼韦尔气体分析侦测器传感器MIDAS-K-HCL说明书

上海德奥达 ---Honeywell霍尼韦尔气体分析侦测器传感器MIDAS-K-HCL是一款用于检测氯化氢气体的高性能传感器。以下是该传感器的技术参数和描述:技术参数:-测量范围:0-50ppm-灵敏度:0.5ppm-响应时间:≤30秒-电源&…...

L1练习-鸢尾花数据集处理(分类/聚类)

背景 前文(《AI 自学 Lesson1 - Sklearn(开源Python机器学习包)》)以鸢尾花数据集的处理为例,本文将完善其代码,在使用 sklearn 的部分工具包基础上,增加部分数据预处理、数据分析和数据可视化…...

javaweb以html方式集成富文本编辑器TinyMce

前言: 单一的批量图片上传按钮,禁用tinymce编辑器,但是还可以操作图片编辑; 多元化格式的富文本编辑要求; 采用tinymce实现。 附: tinymce中文手册网站: http://tinymce.ax-z.cn/download-all.…...

大学生福音!用GPT-4o几分钟内轻松读懂一篇论文!

文章目录 一、读论文智能体:PDFAI操作指导阅读论文上传论文并分析进一步研究导出可用代码 二、感受 一、读论文智能体:PDFAI 操作指导 ChatGPT 4o国内直接访问地址:https://share.xuzhugpt.cloud/ 上plus的车 输入购买的授权码即可。 默认…...

微信小程序昵称获取

<view class"shouquan_list"> <label>昵称</label> <input type"nickname" value"{{nichengshoudong}}" bindinput"bindKeyInputnicheng" placeholder"请输入昵称" placeholder-style"color:r…...

SQL进阶技巧:如何找出开会时间有重叠的会议室?| 时间区间重叠问题

目录 0 场景描述 1 数据准备 2 问题分析 方法1&#xff1a;利用 lateral view posexplode()函数将表展开成时间明细表 方法2&#xff1a;利用数学区间讨论思想求解 3 小结 如果觉得本文对你有帮助&#xff0c;想进一步学习SQL语言这门艺术的&#xff0c;那么不妨也可以选…...

Educational Codeforces Round 170 (Rated for Div. 2) D 题解

to sum of:前三题都是究极水题&#xff0c;补补D题吧&#xff0c;dp太钛肽弱了.. Problem - D - Codeforces--Attribute Checks 思路:首先得坚定地确定m^2,然后剩下的复杂度思考怎么优化.. key:每一个0只考虑影响到下一个0之间的数字!! 定义dp[i][j]为,在有i个能力点时.点了…...

NeRS: Neural Reflectance Surfaces for Sparse-view 3D Reconstruction in the Wild

阅读记录&#xff1a; 1. 2.优点1&#xff1a;我们的方法仅依赖于近似的相机位姿估计和粗略的类别级形状模板。 3.我们的关键见解是&#xff0c;我们可以强制执行基于表面的 3D 表示&#xff0c;而不是允许广泛用于体积表示的无约束密度。重要的是&#xff0c;这允许依赖于视…...

【Linux】su 命令的运行原理以及su切换用户默认继承环境配置

一、su 命令的运行原理 原理解释&#xff1a; su&#xff08;switch user&#xff09;命令用于在Linux和Unix系统中切换用户身份。 当你执行 su 命令时&#xff0c;系统会创建一个新的进程&#xff0c;通常是一个新的 shell 实例。这个新进程会以目标用户的身份运行&#…...

libtorch环境配置

环境配置 建议在linux上配置对应环境 可以在autoDL上租一个服务器来搭建&#xff0c;带有pytorch的环境 https://www.autodl.com/home 我自己的win电脑上安装了pytorch&#xff0c;但是配置时会报错&#xff0c;于是到ubuntu上配置 电脑上装有pytorch的就不需要再下载libtorc…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用

前言&#xff1a;我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM&#xff08;Java Virtual Machine&#xff09;让"一次编写&#xff0c;到处运行"成为可能。这个软件层面的虚拟化让我着迷&#xff0c;但直到后来接触VMware和Doc…...

软件工程 期末复习

瀑布模型&#xff1a;计划 螺旋模型&#xff1a;风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合&#xff1a;模块内部功能紧密 模块之间依赖程度小 高内聚&#xff1a;指的是一个模块内部的功能应该紧密相关。换句话说&#xff0c;一个模块应当只实现单一的功能…...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...

书籍“之“字形打印矩阵(8)0609

题目 给定一个矩阵matrix&#xff0c;按照"之"字形的方式打印这个矩阵&#xff0c;例如&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为&#xff1a;1&#xff0c;…...