600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 免安装版mysql配置及使用Qt编译驱动

免安装版mysql配置及使用Qt编译驱动

时间:2023-07-16 00:57:34

相关推荐

免安装版mysql配置及使用Qt编译驱动

1. 下载Mysql免安装包

Mysql官网地址–> MySQL Community Server -->

下载Windows (x86,64bit)ZIP

2. 配置Mysql数据库

2.1 将文件复制到需要安装的目录

我这准备安装在D:\uninstall\mysql-8.0.29-winx64目录

2.2 配置my.ini文件

D:\uninstall\mysql-8.0.29-winx64\bin目录创建my.ini文件,内容如下:

注意:basedir=D:\\uninstall\\mysql-8.0.29-winx64这个目录是mysql文件的目录(此处需根据文件路径更改)

[mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#设置3306端口port = 3306 # 设置mysql的安装目录basedir=D:\\uninstall\\mysql-8.0.29-winx64# 允许最大连接数max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB

3. 初始化及启动mysql服务

以管理员的方式打开cmd命令窗口(直接打开cmd运行,可能会报错),并且进入到mysql安装目录的bin目录下。

cd D:\uninstall\mysql-8.0.29-winx64\bin.\mysqld -install

初始化

.\mysqld --initialize

启动mysql服务

net start mysql

4. 测试是否能连接到mysql数据库

此处会让输入密码

Enter password:, 密码为初始化服务时自动生成,存在于"D:\uninstall\mysql-8.0.29-winx64\data\xxxx.err"文件中,打开文件查找password,可以看到初始密码为:-cmRwxffH1Pc

.\mysql -uroot -p

出现如下界面代码mysql安装成功:

注:

修改数据密码root:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

5. 使用Qt编译mysql的驱动

找到qt源代码目录下得mysql.pro,

使用Qt Creator打开,构建报错

修改qsqldriverbase/qsqldriverbase.pri

注释第4行的:include($$shadowed($$PWD)/qtsqldrivers-config.pri)

添加:include(./configure.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 = sqldriversload(qt_plugin)DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII

修改mysql.pro文件

(1) 注释:# QMAKE_USE += mysql

(2) 添加如下内容:

LIBS += D:\uninstall\mysql-8.0.29-winx64\lib\libmysql.libINCLUDEPATH += D:\uninstall\mysql-8.0.29-winx64\includeDEPENDPATH += D:\uninstall\mysql-8.0.29-winx64\includeDESTDIR=../mysql/driver

修改后mysql.pro文件内容如下:

TARGET = qsqlmysqlHEADERS += $$PWD/qsql_mysql_p.hSOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp# QMAKE_USE += mysqlOTHER_FILES += mysql.jsonPLUGIN_CLASS_NAME = QMYSQLDriverPlugininclude(../qsqldriverbase.pri)LIBS += D:\uninstall\mysql-8.0.29-winx64\lib\libmysql.libINCLUDEPATH += D:\uninstall\mysql-8.0.29-winx64\includeDEPENDPATH += D:\uninstall\mysql-8.0.29-winx64\includeDESTDIR=../mysql/driver

6.构建生成

生成的文件在mysql.pro同级目录的driver文件夹中

7.配置Qt开发环境

(1) 拷贝qsqlmysql.dll和qsqlmysqld.dll到D:\install\Qt\5.15.2\msvc_64\plugins\sqldrivers目录下

(2) 拷贝D:\uninstall\mysql-8.0.29-winx64\lib目录下的libmysql.dll,到D:\install\Qt\5.15.2\msvc_64\bin目录

8.使用Qt Demo测试是否成功配置mysql

需要先使用终端连接到mysql数据库:

use mysqllcreate database test;show databases;

确定存在一个test的数据库即可

新建一个console的qt项目,需改.pro文件:

QT += core gui sql,添加sql模块

main文件内容如下:

#include <QCoreApplication>#include <QDebug>#include <QSqlDatabase>#include <QSqlQuery>#include <QStringList>int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);// 输出可用数据库qDebug() << "Available drivers:";QStringList drivers = QSqlDatabase::drivers();foreach (QString driver, drivers)qDebug() << driver;// 打开MySQLQSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");db.setHostName("localhost");db.setDatabaseName("test");db.setUserName("root");db.setPassword("root");if (!db.open())qDebug() << "Failed to connect to mysql";elseqDebug() << "Success to connect to mysql";QSqlQuery query(db);//注意这里varchar一定要指定长度,不然会出错query.exec("create table Stu(id int primary key,name varchar(20))");query.exec("insert into Stu values(1,'student1')");query.exec("insert into Stu values(2,'student2')");query.exec("insert into Stu values(3,'student3')");query.exec("select id,name from Stu where id >= 2");while (query.next()) {int value0 = query.value(0).toInt();QString value1 = query.value(1).toString();qDebug() << value0 << value1;}return a.exec();}

输出内容如下代表成功:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。