1、下载并安装MySQL
下载地址:
建议在下列框中选择LTS长期支持版本,下载对应的MSI安装文件。
安装完成后,将MySQL的环境bin路径添加到环境变量中。
可以运行MySQL Configurator进行配置,主要设置密码,并初始化。其余可以按默认设置。设置完成后,点击Excute,对MySQL进行初始化。
也可以使用CMD命令对MySQL进行初始化、设置密码等操作:
mysqld --initialize-insecure #初始化
mysqld --version #查询版本
mysqld -install #注册服务
net start mysql #启动mysql服务
net stop mysql #停止mysql服务
mysqladmin -u root password xxxx #修改密码为1234
2、编译mysql项目
2.1打开并编辑项目配置
打开Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql目录下的mysql.pro,修改pro文件:
TARGET = qsqlmysqlHEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp#注释此行
#QMAKE_USE += mysqlOTHER_FILES += mysql.jsonPLUGIN_CLASS_NAME = QMYSQLDriverPlugin#添加:mysql的lib路径
LIBS += -L$$quote(D:/ProgramFiles/MySQL/MySQL8.4/lib) -llibmysql
#添加:mysql的include路径
INCLUDEPATH += $$quote(D:/ProgramFiles/MySQL/MySQL8.4/include)
#添加:mysql的include路径
DEPENDPATH += $$quote(D:/ProgramFiles/MySQL/MySQL8.4/include)include(../qsqldriverbase.pri)
打开qsqldriverbase.pri,并编辑:
编辑如下:
QT = core core-private sql-private# For QMAKE_USE in the parent projects.
#注释这一行
#include($$shadowed($$PWD)/qtsqldrivers-config.pri)#添加这一行
include(./configure.pri)PLUGIN_TYPE = sqldrivers
load(qt_plugin)DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
2.2 编译生成
编译选择release模式,输出文件会在Qt\5.15.2\mingw81_64\qtbase\src\plugins\sqldrivers\plugins\sqldrivers文件夹下。
复制 qsqlmysql.dll 、qsqlmysql.dll.debug 两个文件至以下文件夹内。
至此编译工作完成,重新打开QtCreator即可调用QMYSQL驱动。
3、拷贝dll文件
如果编译运行,出现了QMYSQL数据库,但还是不能加载:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMARIADB QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
QSqlQuery::exec: database not open
MySQL数据库连接失败: "Driver not loaded Driver not loaded"
可将MySQL8.4\lib中的libmysql.dll和libmysql.lib复制到Qt5.12.2/mingw81_64/bin目录下。
注:单独拷贝libmysql.dll文件也可以。