qt连接mysql数据库连接失败(解决方法)

编程知识 行业动态 更新时间:2024-06-13 00:19:27

数据库连接错误信息提示:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7

出现这个问题的原因是Qt中没有MySql driver或者是版本有问题导致的,解决的方法是找到Qt源码重新寻找MySql driver的驱动。

解决方案1:从mysql server中复制libmysql.dll到qt对应的安装目录下(bin路径);

解决方案2:从mysql官网上去下载对应的数据库版本。(要根据qt的版本)
注意:QT选用的Windows32位要对应32位的mysql。
注意:QT选用的Windows64位要对应64位的mysql。
例如:
将mysql安装文件的lib目录下的libmysql.dll和libmysqld.dll复制到Qt5.5中的mingw493_32的bin文件下。
链接:https://pan.baidu/s/1FBPjWBHvIwDbkIoXAC_MKg
提取码:nki3
这个是32位的mysql安装包
链接:https://pan.baidu/s/1AdQk90f_B8W9UjSvb65N_Q
提取码:hdpg
这个是64位的mysql安装包
复制这段内容后打开百度网盘手机App,操作更方便哦
mysql安装步骤:
先解压然后
修改my-default.ini,修改后如图1-2所示

文件修改的内容如下:(D:\mysql-5.7.17-winx64改成自己的路径)
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
#设置mysql的安装目录
basedir=“D:\mysql-5.7.17-winx64”
#设置mysql数据库的数据的存放目录
datadir=“D:\mysql-5.7.17-winx64\data”
#允许最大连接数
max_connections=200
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

以管理员身份运行命令提示符,切换到MySQL的bin目录下,输入mysqld install命令(注意是mysqld而不是mysql)回车,即可安装MySQL,如下图所示:

安装好MySQL后,可以输入net start mysql来启动MySQL,输入net stop mysql 来关闭MySQL服务,也可以在服务里面手动启动/关闭MySQL服务;
安装过程报错和注意事项
我在安装成功后启动MySQL服务时,服务启动不了,提示:MySQL服务无法启动 服务没有报告任何错误 请键入NET HELPMSG 3534 以获得更多帮助,如下:

解决方案:安装好MySQL后,打开cmd命令窗口,并且进入到MySQL安装目录中的bin目录,然后输入如下命令回车即可:mysqld --initialize-insecure --user=mysql
执行完上面命令后,MySQL会自建一个data文件夹,并且建好默认数据库,登录的用户名为root,密码为空,之后就可以通过命令net start mysql启动mysql服务了。
注:MySQL升级到5.7版本是没有data文件夹的,执行mysqld --initialize-insecure --user=mysql命令会自动新建data文件夹。

qt的pro里面记得加入QT += sql
头文件记得加入

#include <QSqlDatabase>
#include<QSqlQuery>
#include<QSqlError>

关键的数据库连接语句如下:

   QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");//本地名字也可以用(127.0.0.1)
    db.setUserName("root");//数据库用户名
    db.setPassword("123456");//数据库用户密码
    db.setDatabaseName("123");//数据库的名字

这里你要对应你自己的数据库信息。(每个人的数据库都是不一样的)

更多推荐

qt连接mysql数据库连接失败(解决方法)

本文发布于:2023-03-28 09:02:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/2d918c08a057a59cbd68d31c3703d124.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:解决方法   数据库连接   qt   mysql

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!