qt安装mysql驱动
简介
一、下载qt源码
二、下载mysql起始文件
三、编译mysql得到驱动文件
四、copy动态库文件
五、安装完成进行测试
简介
最近的工作需要使用mysql连接服务器数据库,但我发现我的qt5.15.2没有mysql的驱动
对于qt是不是有mysql驱动,可以看下这个路径下面是不是有qsqlmysql的dll
此时我们需要有mysql的起始文件、qtsource源码
一、下载qt源码
先去把source下载,qc打开路径
用这个qt maintenance tool
打开后登录一下,选择添加或移除组件
把source点上,然后更新,就会下载qt源码了
二、下载mysql起始文件
网址:https://github.com/thecodemonkey86/qt_mysql_driver?tab=readme-ov-file
用这个博主的,就不用安装mysql了
这三个下完,解压,是个组合的压缩包 点1就把123都解压到一个文件夹了
可以看到有个include和lib
三、编译mysql得到驱动文件
这会源码应该下完了,到达这个qt安装路径:…\qt6\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql,打开mysql.pro
更改pro文件,如下 路径就按照你解压的文件,最好不要带中文,把QMAKE_USE注释掉
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 # !!mysql的lib路径 LIBS += -L $$quote(D:\008_LY_HOST_\libmysql_8.0.29\lib) -llibmysql # !!mysql的include路径 INCLUDEPATH += $$quote(D:\008_LY_HOST_\libmysql_8.0.29\include) # !!mysql的include路径 DEPENDPATH += $$quote(D:\008_LY_HOST_\libmysql_8.0.29\include) include(../qsqldriverbase.pri)
写完运行一下,报什么错可以不管,只要进度条走到头就好了
然后在这个路径下:…\qt6\5.15.2\mingw81_64\qtbase\src\plugins\sqldrivers\plugins\sqldrivers,就会出现这三个文件,红色字体跟你的编译器有关
把这两个copy到…\qt6\5.15.2\mingw81_64\plugins\sqldrivers
如此
驱动就此完成!
注意每一个编译器对于一个驱动,并不是说我64位的安装了,32就能用,32位的也要照此操作一次才行。
每一个驱动对应到qt编译器的版本
四、copy动态库文件
把刚刚解压的文件lib下的libmysql.dll动态库文件copy到…\qt6\5.15.2\mingw81_64\bin
五、安装完成进行测试
新建一个qt工程,pro文件在gui后面加sql
mian函数抄这个
#include <QCoreApplication> #include <QtSql/QSqlDatabase> #include <QtSql/QSqlError> #include <QtSql/QSqlQuery> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 创建数据库连接 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("公网ip"); db.setPort(3306); db.setDatabaseName("数据库名字"); // 替换为你的数据库名 db.setUserName("数据库用户名"); db.setPassword("密码"); // 尝试打开数据库 if (db.open()) { qDebug() << "Connection successful!"; } else { qDebug() << "Connection failed: " << db.lastError().text(); } return a.exec(); }
运行一下
连接成功不报错,安装成功!