今天对之前几天的学习进行总结:
1、MySQL的安装及配置
2、安装navicat 软件操作数据库(非必要)
3、QT编译连接MySQL库文件
一、MySQL的安装及配置
MySQL版本号为:8.0.30 win64
自取:
链接:https://pan.baidu.com/s/18cdztDw9PqHob_2o0s0f8A
提取码:2222
1、解压到自己想解压的位置,我的是D盘
2、找到“高级系统设置”,配置“环境变量”,path:
3、创建my.ini文件,用记事本打开,输入下面内容:
[mysqld] skip_ssl #disable_ssl basedir=D:\mysql-8.0.30-winx64(你自己的位置) datadir=D:\mysql-8.0.30-winx64\data(你自己的位置) port=3306 character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] default-character-set=utf8
保存,关闭,新建文件夹data
4、打开cmd(命令提示符)管理员身份运行,然后进入上图的文件目录中的bin文件夹中,下面跟着输入代码即可。路径不要忘记修改,和我一样就无所谓。
d:
(点击回车键)
cd D:\mysql-8.0.30-winx64\bin
(点击回车键)
mysqld -install
(点击回车键,会出现serivice successfully installed,没有出现请移除MySQL:mysqld -remove)
mysqld --initialize
(点击回车后找root@localhost:复制后面的内容,初始密码)
(去data文件夹中搜索err尾缀,然后用记事本打开,找root@localhost:复制后面的内容)
net start mysql
(开启MySQL服务)
mysql -u root -p (登录MySQL)
输入上面复制的密码,回车即可
修改初始密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '1122';
出现Query OK表示设置成功
二、navicat 安装自取
链接:https://pan.baidu.com/s/1bWq2oGx3Q–R76d_IfNYpQ
提取码:2222
附上这位博主的安装教程:https://blog.csdn.net/bruceoxl/article/details/89456708?ops_request_misc=%257B%2522request%255Fid
三、QT编译连接MySQL的库文件
1、将D:\mysql-8.0.30-winx64\lib下的libmysql.dll复制到QT中你所需要连接数据库的编译器的bin文件夹里(例如我的:D:\Qt\Qt5.12.12\5.12.12\msvc2017_64\bin)
2、打开D:\Qt\Qt5.12.12\5.12.12\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro,打开后提示选择编译器,根据自己的要求来选。会报错,别担心先完成一下步骤即可。
在QT 中打开mysql.pro,
注释第六行,在开头加#
把前面安装的数据库添加进去(把D:/mysql-8.0.30-winx64/换成自己的路径)
win32:LIBS += -LD:/mysql-8.0.30-winx64/lib -llibmysql
INCLUDEPATH += D:/mysql-8.0.30-winx64/include
DEPENDPATH += D:/mysql-8.0.30-winx64/include
再添加DESTDIR = ../mysql/myLib
打开qsqldriverbase.pri,注释到原来的include(第四行),下一行加入 include(./configure.pri)
开始编译,可以在之前的文件夹中找到mylib文件夹,打开后把qsqlmysql.dll和qsqlmysqld.dll,复制到D:\Qt\Qt5.12.12\5.12.12\mingw73_64\plugins\sqldrivers中
至此环境搭建成功,下面可以进行测试了
首先在pro文件中加入QT += sql
然后在头文件中加入
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
调用下面代码测试
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1");
db.setPort(3306);
db.setDatabaseName("是你的数据库名字");
db.setUserName("root");
db.setPassword("密码");
bool ok = db.open();
if (ok){
QMessageBox::information(this, "Link", "success");//提示连接成功还是失败
}
else {
QMessageBox::information(this, "Link", "open failed");
}
如果出现QT报错:Project ERROR: msvc-version.conf loaded but QMAKE_MSC_VER isn‘t set,请参考这位博主的文章:点我
以上步骤不行可以参考这篇文章通过ODBC去连接:戳这
参考博客: