QT5.12.2 mingw73_64编译器连接MySql5.7.23 64位。

我也是刚开始学,但是我在连接MySql这里就出现了大问题,经过一番搜查资料才明白是没有驱动和动态库的问题,还有就是代码的理解。终于在经过一番努力下终于连接成功,所以我想发个总结想让大家少绕点坑。

1:安装MySql5.7.23

这里是安装MySql数据库
链接:https://downloads.mysql.com/archives/community/
在这里插入图片描述
下载后可以把解压的内容放到你的安装目录下,我的是在D盘:D:\MYSQL\mysql-5.7.23-winx64

然后开始配置MySql服务。

1.1:配置my.ini文件,这是个txt文件。

在E:\mysql目录下新建my.ini文件,
里面的内容复制如下内容

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

1.2:配置环境变量

电脑属性-》高级系统设置-》点击环境变量在系统变量部分新建一个变量名:MYSQL_HOME, 变量值:D:\MYSQL\mysql-5.7.23-winx64 这里你应该写的是你的mysql 的安装路径

在这里插入图片描述
设置 path,在path 里面新增 bin 目录

2:安装MySql服务

在下载MySql5.7.23和配置完相关后开始进入命令平台安装MySql服务。以管理员身份运行cmd,然后进入MqSql的bin目录下进行输入命令。

2.1:创建data数据库目录。

创建数据库data目录,预防下一步出现提示路劲错误
mysqld --initialize
在这里插入图片描述

2.2:安装MYSQL服务

net start mysql
在这里插入图片描述

2.3:启动服务查看是否安装成功

net start mysql
在这里插入图片描述

2.4:修改用户密码

2.4.1先停止服务

net stop mysql在这里插入图片描述

2.4.2开启无密码的MySQL Server

mysqld --skip-grant-tables
在这里插入图片描述

2.4.3重新打开一个cmd终端,用管理员身份运行 输入如下代码 此时不需要输入密码,直接点击enter 键即可

mysql -u root -p
在这里插入图片描述

2.4.4然后更新root账户的密码为’root’

update mysql.user set authentication_string=password(“root”) where user=“root”;
在这里插入图片描述

2.4.5执行刷新权限并退出

flush privileges;
在这里插入图片描述
quit;
在这里插入图片描述

2.4.6再次输入 用户名 输入密码 密码为 root

mysql -u root -p
在这里插入图片描述

2.4.7 再次修改密码,将密码改为123456以下有三条命令分别输入

(1)SET PASSWORD = PASSWORD(‘123456’);
(2)ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
(3)flush privileges;
在这里插入图片描述
修改完毕!!!

3:安装QT5.12.2以及编写程序

3.1:下载QT5.12.2

QT5.12.2下载链接:http://download.qt.io/archive/qt/
组件的选择:
在这里插入图片描述注意在下载的时候是必须要注册一个账号的,这里我也是费了一点时间去注册个账号登录,听说以前是不需要注册的,可以直接跳过的,现在不行了。

3.1:配置QT5.12.2里面的mysql.pro文件并生成最新驱动

首先打开你的安装目录,我安装在D盘
所以文件在:D:\Qt\5.12.2\Src\qtbase\src\plugins\sqldrivers\mysql
在这里插入图片描述进去后先开始编译一次。
在这里插入图片描述
会提示有一个错误,不用管它,
进mysql.pro文件里面进行配置。
配置内容:

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

win32:LIBS += -LD:/MYSQL/mysql-5.7.23-winx64/lib/ -llibmysql
INCLUDEPATH += D:/MYSQL/mysql-5.7.23-winx64/include
DEPENDPATH += D:/MYSQL/mysql-5.7.23-winx64/include

include(../qsqldriverbase.pri)

在这里插入图片描述
配置完之后
在这里配置一下编译器,选择64位的。
在这里插入图片描述配置完编译器之后开始根据红色剪头进行一下操作:
在这里插入图片描述
1—>2;构建一下项目
1—>3;然后qmake一下。
这样就有编译的驱动出来了。

3.1:拷贝驱动和动态库到指定目录

拷贝最新驱动到指定的目录:

去到编译出来的驱动目录路劲复制qsqlmysql.dll,qsqlmysqld.dll到指定的路劲中。(我的目录是在D盘中,如果按照我的流程来也是在D盘的)
在这里插入图片描述
复制到:
在这里插入图片描述

拷贝动态库到指定的目录:

64位动态库链接:https://pan.baidu.com/s/1EPiKhDLKCMYkO-GhN8xX3A
提取码:kpt0

将libmysql.dll下载后复制到Qt的安装目录中

在这里插入图片描述

以上步骤弄完你已经离成功不远了。

4:编写连接数据库代码

4.1:加入相关头文件

xxx.pro文件中:
在这里插入图片描述
widget.h中
在这里插入图片描述
然后在widget.cpp中:

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    qDebug()<<db.drivers();
    db.setHostName("localhost");//数据库地址
    db.setDatabaseName("mysql");//现有的数据库名称
    db.setPort(3306);//数据库端口
    db.setUserName("root");//用户名
    db.setPassword("123456");//密码
    if (!db.isValid())
    {
        QMessageBox::critical(0, QObject::tr("Database"),db.lastError().text());
    }

    if(!db.open())
    {
       qDebug()<<"不能连接"<<"connect to mysql error";
       qDebug()<<db.lastError().text();
       return ;
    }
    else
    {
        qDebug()<<"连接成功"<<"connect to mysql OK";
    }

代码分析:
db.setDatabaseName(“mysql”);//现有的数据库名称
db.setPort(3306);//数据库端口
db.setUserName(“root”);//用户名
db.setPassword(“123456”);//密码
这几句的意思就是连接你在安装MySql时所建立的数据库,就是已有的数据库和用户。而不是数据库在这里创建,用户也不是在这里创建,这个是要注意的。

测试结果:
在这里插入图片描述
圆满成功,撒花完结!!!

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值